From fec53e28e15f7e5e952c4ed2cb5cb285317fd7b7 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Fri, 26 Jul 2024 16:02:48 -0400 Subject: [PATCH] Upstream v5.60.0 (#4309) Upgrades the pulumi-terraform-aws dependency to v5.60.0. Fixes https://github.com/pulumi/pulumi-aws/issues/4305 New resources: - shield/subscription.Subscription New functions: - index/getServicePrincipal.getServicePrincipal --- examples/go.mod | 37 +- examples/go.sum | 74 +- ...lt-descriptions-to-Managed-by-Pulumi.patch | 18 +- ...-Do-not-compute-tags_all-at-TF-level.patch | 6 +- patches/0038-Restore-legacy-bucket.patch | 14 +- ...h-tags-ComputedOnly-for-m2-resources.patch | 2 +- patches/0045-restore-ECRConn.patch | 10 +- ...strategy-of-Batch-JobDefinitions-cau.patch | 4 +- ...x-tags_all-Computed-for-PF-resources.patch | 4 +- ...skDefinition-containerDefinitions-he.patch | 2 +- .../pulumi-resource-aws/bridge-metadata.json | 54 +- .../runtime-bridge-metadata.json | 2 +- provider/cmd/pulumi-resource-aws/schema.json | 678 +++++++++++++----- provider/go.mod | 37 +- provider/go.sum | 74 +- provider/resources.go | 1 + scripts/upgrade_upstream.sh | 13 - scripts/upgrade_upstream_done.sh | 25 - sdk/dotnet/AppFlow/Flow.cs | 18 + ...sS3S3OutputFormatConfigPrefixConfigArgs.cs | 12 + ...S3OutputFormatConfigPrefixConfigGetArgs.cs | 12 + ...verS3OutputFormatConfigPrefixConfigArgs.cs | 12 + ...S3OutputFormatConfigPrefixConfigGetArgs.cs | 12 + .../Inputs/FlowMetadataCatalogConfigArgs.cs | 23 + .../FlowMetadataCatalogConfigGetArgs.cs | 23 + ...etadataCatalogConfigGlueDataCatalogArgs.cs | 38 + ...dataCatalogConfigGlueDataCatalogGetArgs.cs | 38 + ...rtiesS3S3OutputFormatConfigPrefixConfig.cs | 7 + ...psolverS3OutputFormatConfigPrefixConfig.cs | 7 + .../Outputs/FlowMetadataCatalogConfig.cs | 24 + ...lowMetadataCatalogConfigGlueDataCatalog.cs | 42 ++ .../Inputs/JobDefinitionEksPropertiesArgs.cs | 2 +- .../JobDefinitionEksPropertiesGetArgs.cs | 2 +- ...efinitionEksPropertiesPodPropertiesArgs.cs | 22 +- ...ksPropertiesPodPropertiesContainersArgs.cs | 18 +- ...ropertiesPodPropertiesContainersEnvArgs.cs | 4 +- ...ertiesPodPropertiesContainersEnvGetArgs.cs | 4 +- ...ropertiesPodPropertiesContainersGetArgs.cs | 18 +- ...sPodPropertiesContainersVolumeMountArgs.cs | 2 +- ...dPropertiesContainersVolumeMountGetArgs.cs | 2 +- ...nitionEksPropertiesPodPropertiesGetArgs.cs | 22 +- ...pertiesPodPropertiesImagePullSecretArgs.cs | 26 + ...tiesPodPropertiesImagePullSecretGetArgs.cs | 26 + ...ionEksPropertiesPodPropertiesVolumeArgs.cs | 2 +- ...opertiesPodPropertiesVolumeEmptyDirArgs.cs | 4 +- ...rtiesPodPropertiesVolumeEmptyDirGetArgs.cs | 4 +- ...EksPropertiesPodPropertiesVolumeGetArgs.cs | 2 +- ...opertiesPodPropertiesVolumeHostPathArgs.cs | 2 +- ...rtiesPodPropertiesVolumeHostPathGetArgs.cs | 2 +- ...PropertiesPodPropertiesVolumeSecretArgs.cs | 4 +- ...pertiesPodPropertiesVolumeSecretGetArgs.cs | 4 +- .../Inputs/JobDefinitionRetryStrategyArgs.cs | 4 +- ...finitionRetryStrategyEvaluateOnExitArgs.cs | 8 +- ...itionRetryStrategyEvaluateOnExitGetArgs.cs | 8 +- .../JobDefinitionRetryStrategyGetArgs.cs | 4 +- .../Batch/Inputs/JobDefinitionTimeoutArgs.cs | 2 +- .../Inputs/JobDefinitionTimeoutGetArgs.cs | 2 +- sdk/dotnet/Batch/JobDefinition.cs | 82 +-- .../Outputs/JobDefinitionEksProperties.cs | 2 +- ...JobDefinitionEksPropertiesPodProperties.cs | 17 +- ...ionEksPropertiesPodPropertiesContainers.cs | 18 +- ...EksPropertiesPodPropertiesContainersEnv.cs | 4 +- ...rtiesPodPropertiesContainersVolumeMount.cs | 2 +- ...sPropertiesPodPropertiesImagePullSecret.cs | 27 + ...initionEksPropertiesPodPropertiesVolume.cs | 2 +- ...ksPropertiesPodPropertiesVolumeEmptyDir.cs | 4 +- ...ksPropertiesPodPropertiesVolumeHostPath.cs | 2 +- ...nEksPropertiesPodPropertiesVolumeSecret.cs | 4 +- .../Outputs/JobDefinitionRetryStrategy.cs | 4 +- ...obDefinitionRetryStrategyEvaluateOnExit.cs | 8 +- .../Batch/Outputs/JobDefinitionTimeout.cs | 2 +- ...tackSetInstanceOperationPreferencesArgs.cs | 6 + ...kSetInstanceOperationPreferencesGetArgs.cs | 6 + .../StackSetInstanceOperationPreferences.cs | 7 + sdk/dotnet/CloudWatch/EventBus.cs | 18 + sdk/dotnet/CloudWatch/GetEventBus.cs | 7 + sdk/dotnet/Cur/GetReportDefinition.cs | 31 + sdk/dotnet/Cur/ReportDefinition.cs | 49 ++ sdk/dotnet/Ec2/LaunchTemplate.cs | 12 +- sdk/dotnet/Ec2/SecurityGroup.cs | 4 +- sdk/dotnet/Ec2/SecurityGroupRule.cs | 10 +- sdk/dotnet/Ecs/TaskDefinition.cs | 6 +- sdk/dotnet/GetServicePrincipal.cs | 157 ++++ sdk/dotnet/Glue/Classifier.cs | 10 +- sdk/dotnet/Glue/Connection.cs | 313 +++++++- .../Inputs/ClassifierCsvClassifierArgs.cs | 5 +- .../Inputs/ClassifierCsvClassifierGetArgs.cs | 5 +- .../Glue/Outputs/ClassifierCsvClassifier.cs | 5 +- sdk/dotnet/Iam/GetAccountAlias.cs | 4 +- sdk/dotnet/Lambda/RuntimeManagementConfig.cs | 2 +- sdk/dotnet/Mwaa/Environment.cs | 30 +- sdk/dotnet/Rds/Cluster.cs | 2 +- sdk/dotnet/Rds/ClusterSnapshot.cs | 30 + .../Inputs/ClusterScalingConfigurationArgs.cs | 6 + .../ClusterScalingConfigurationGetArgs.cs | 6 + .../Outputs/ClusterScalingConfiguration.cs | 7 + sdk/dotnet/Rds/SnapshotCopy.cs | 30 + .../Inputs/SpaceSpaceSettingsArgs.cs | 3 + .../Inputs/SpaceSpaceSettingsGetArgs.cs | 3 + ...ceSpaceSettingsSpaceStorageSettingsArgs.cs | 3 + ...ceStorageSettingsEbsStorageSettingsArgs.cs | 3 + ...torageSettingsEbsStorageSettingsGetArgs.cs | 3 + ...paceSettingsSpaceStorageSettingsGetArgs.cs | 3 + .../Sagemaker/Outputs/SpaceSpaceSettings.cs | 3 + .../SpaceSpaceSettingsSpaceStorageSettings.cs | 3 + ...sSpaceStorageSettingsEbsStorageSettings.cs | 3 + sdk/dotnet/Sagemaker/Space.cs | 12 +- .../Inputs/SubscriberSourceArgs.cs | 4 +- ...ubscriberSourceAwsLogSourceResourceArgs.cs | 4 +- ...criberSourceAwsLogSourceResourceGetArgs.cs | 4 +- ...criberSourceCustomLogSourceResourceArgs.cs | 6 +- ...berSourceCustomLogSourceResourceGetArgs.cs | 6 +- .../Inputs/SubscriberSourceGetArgs.cs | 4 +- .../SecurityLake/Outputs/SubscriberSource.cs | 4 +- .../SubscriberSourceAwsLogSourceResource.cs | 4 +- ...SubscriberSourceCustomLogSourceResource.cs | 5 +- sdk/dotnet/SecurityLake/Subscriber.cs | 21 +- .../SesV2/ConfigurationSetEventDestination.cs | 44 +- ...SetEventDestinationEventDestinationArgs.cs | 13 +- ...entDestinationCloudWatchDestinationArgs.cs | 2 +- ...DestinationCloudWatchDestinationGetArgs.cs | 2 +- ...ntDestinationEventBridgeDestinationArgs.cs | 26 + ...estinationEventBridgeDestinationGetArgs.cs | 26 + ...EventDestinationEventDestinationGetArgs.cs | 13 +- ...tionSetEventDestinationEventDestination.cs | 14 +- ...onEventDestinationCloudWatchDestination.cs | 2 +- ...nEventDestinationEventBridgeDestination.cs | 27 + sdk/dotnet/Shield/Subscription.cs | 145 ++++ sdk/dotnet/Sns/Topic.cs | 6 +- sdk/dotnet/Vpc/SecurityGroupEgressRule.cs | 7 +- sdk/dotnet/Vpc/SecurityGroupIngressRule.cs | 7 +- ...copeDownStatementSqliMatchStatementArgs.cs | 3 + ...eDownStatementSqliMatchStatementGetArgs.cs | 3 + ...roupRuleStatementSqliMatchStatementArgs.cs | 3 + ...pRuleStatementSqliMatchStatementGetArgs.cs | 3 + ...copeDownStatementSqliMatchStatementArgs.cs | 3 + ...eDownStatementSqliMatchStatementGetArgs.cs | 3 + ...copeDownStatementSqliMatchStatementArgs.cs | 3 + ...eDownStatementSqliMatchStatementGetArgs.cs | 3 + ...bAclRuleStatementSqliMatchStatementArgs.cs | 3 + ...lRuleStatementSqliMatchStatementGetArgs.cs | 3 + ...entScopeDownStatementSqliMatchStatement.cs | 3 + ...uleGroupRuleStatementSqliMatchStatement.cs | 3 + ...entScopeDownStatementSqliMatchStatement.cs | 3 + ...entScopeDownStatementSqliMatchStatement.cs | 3 + .../WebAclRuleStatementSqliMatchStatement.cs | 3 + sdk/go/aws/appflow/flow.go | 15 + sdk/go/aws/appflow/pulumiTypes.go | 358 +++++++++ sdk/go/aws/batch/jobDefinition.go | 164 ++--- sdk/go/aws/batch/pulumiTypes.go | 354 ++++++--- sdk/go/aws/cloudformation/pulumiTypes.go | 19 + sdk/go/aws/cloudwatch/eventBus.go | 15 + sdk/go/aws/cloudwatch/getEventBus.go | 11 +- sdk/go/aws/cur/getReportDefinition.go | 11 + sdk/go/aws/cur/reportDefinition.go | 34 + sdk/go/aws/ec2/launchTemplate.go | 24 +- sdk/go/aws/ec2/securityGroup.go | 4 +- sdk/go/aws/ec2/securityGroupRule.go | 10 +- sdk/go/aws/ecs/taskDefinition.go | 12 +- sdk/go/aws/getServicePrincipal.go | 145 ++++ sdk/go/aws/glue/classifier.go | 16 +- sdk/go/aws/glue/connection.go | 476 ++++++++++-- sdk/go/aws/glue/pulumiTypes.go | 16 +- sdk/go/aws/iam/getAccountAlias.go | 2 +- sdk/go/aws/lambda/runtimeManagementConfig.go | 2 +- sdk/go/aws/mwaa/environment.go | 56 +- sdk/go/aws/rds/cluster.go | 6 +- sdk/go/aws/rds/clusterSnapshot.go | 29 +- sdk/go/aws/rds/pulumiTypes.go | 19 + sdk/go/aws/rds/snapshotCopy.go | 21 +- sdk/go/aws/sagemaker/pulumiTypes.go | 16 +- sdk/go/aws/sagemaker/space.go | 24 +- sdk/go/aws/securitylake/pulumiTypes.go | 48 +- sdk/go/aws/securitylake/subscriber.go | 30 +- .../sesv2/configurationSetEventDestination.go | 57 +- sdk/go/aws/sesv2/pulumiTypes.go | 212 +++++- sdk/go/aws/shield/init.go | 7 + sdk/go/aws/shield/subscription.go | 270 +++++++ sdk/go/aws/sns/topic.go | 12 +- sdk/go/aws/vpc/securityGroupEgressRule.go | 7 +- sdk/go/aws/vpc/securityGroupIngressRule.go | 7 +- sdk/go/aws/wafv2/pulumiTypes.go | 24 +- sdk/go/aws/wafv2/pulumiTypes1.go | 36 +- .../java/com/pulumi/aws/AwsFunctions.java | 191 +++++ .../java/com/pulumi/aws/appflow/Flow.java | 15 + .../java/com/pulumi/aws/appflow/FlowArgs.java | 38 + ...3S3OutputFormatConfigPrefixConfigArgs.java | 48 ++ ...rS3OutputFormatConfigPrefixConfigArgs.java | 48 ++ .../inputs/FlowMetadataCatalogConfigArgs.java | 63 ++ ...adataCatalogConfigGlueDataCatalogArgs.java | 165 +++++ .../pulumi/aws/appflow/inputs/FlowState.java | 38 + ...iesS3S3OutputFormatConfigPrefixConfig.java | 25 + ...olverS3OutputFormatConfigPrefixConfig.java | 25 + .../outputs/FlowMetadataCatalogConfig.java | 49 ++ ...wMetadataCatalogConfigGlueDataCatalog.java | 104 +++ .../com/pulumi/aws/batch/JobDefinition.java | 60 +- .../pulumi/aws/batch/JobDefinitionArgs.java | 90 +-- .../JobDefinitionEksPropertiesArgs.java | 8 +- ...initionEksPropertiesPodPropertiesArgs.java | 90 ++- ...PropertiesPodPropertiesContainersArgs.java | 80 +-- ...pertiesPodPropertiesContainersEnvArgs.java | 16 +- ...odPropertiesContainersVolumeMountArgs.java | 8 +- ...rtiesPodPropertiesImagePullSecretArgs.java | 85 +++ ...nEksPropertiesPodPropertiesVolumeArgs.java | 8 +- ...ertiesPodPropertiesVolumeEmptyDirArgs.java | 16 +- ...ertiesPodPropertiesVolumeHostPathArgs.java | 8 +- ...opertiesPodPropertiesVolumeSecretArgs.java | 16 +- .../JobDefinitionRetryStrategyArgs.java | 18 +- ...nitionRetryStrategyEvaluateOnExitArgs.java | 32 +- .../aws/batch/inputs/JobDefinitionState.java | 122 ++-- .../inputs/JobDefinitionTimeoutArgs.java | 8 +- .../outputs/JobDefinitionEksProperties.java | 4 +- ...bDefinitionEksPropertiesPodProperties.java | 45 +- ...nEksPropertiesPodPropertiesContainers.java | 36 +- ...sPropertiesPodPropertiesContainersEnv.java | 8 +- ...iesPodPropertiesContainersVolumeMount.java | 4 +- ...ropertiesPodPropertiesImagePullSecret.java | 58 ++ ...itionEksPropertiesPodPropertiesVolume.java | 4 +- ...PropertiesPodPropertiesVolumeEmptyDir.java | 8 +- ...PropertiesPodPropertiesVolumeHostPath.java | 4 +- ...ksPropertiesPodPropertiesVolumeSecret.java | 8 +- .../outputs/JobDefinitionRetryStrategy.java | 8 +- ...DefinitionRetryStrategyEvaluateOnExit.java | 16 +- .../batch/outputs/JobDefinitionTimeout.java | 4 +- ...ckSetInstanceOperationPreferencesArgs.java | 37 + .../StackSetInstanceOperationPreferences.java | 21 + .../com/pulumi/aws/cloudwatch/EventBus.java | 14 + .../pulumi/aws/cloudwatch/EventBusArgs.java | 37 + .../aws/cloudwatch/inputs/EventBusState.java | 37 + .../cloudwatch/outputs/GetEventBusResult.java | 23 + .../com/pulumi/aws/cur/ReportDefinition.java | 33 + .../pulumi/aws/cur/ReportDefinitionArgs.java | 38 + .../cur/inputs/GetReportDefinitionArgs.java | 40 ++ .../inputs/GetReportDefinitionPlainArgs.java | 30 + .../aws/cur/inputs/ReportDefinitionState.java | 91 +++ .../outputs/GetReportDefinitionResult.java | 24 + .../com/pulumi/aws/ec2/LaunchTemplate.java | 8 +- .../pulumi/aws/ec2/LaunchTemplateArgs.java | 16 +- .../com/pulumi/aws/ec2/SecurityGroup.java | 4 +- .../com/pulumi/aws/ec2/SecurityGroupRule.java | 10 +- .../aws/ec2/inputs/LaunchTemplateState.java | 16 +- .../com/pulumi/aws/ecs/TaskDefinition.java | 4 +- .../pulumi/aws/ecs/TaskDefinitionArgs.java | 8 +- .../aws/ecs/inputs/TaskDefinitionState.java | 8 +- .../java/com/pulumi/aws/glue/Classifier.java | 8 +- .../com/pulumi/aws/glue/ClassifierArgs.java | 8 +- .../java/com/pulumi/aws/glue/Connection.java | 376 +++++++++- .../com/pulumi/aws/glue/ConnectionArgs.java | 66 +- .../inputs/ClassifierCsvClassifierArgs.java | 28 +- .../aws/glue/inputs/ClassifierState.java | 8 +- .../aws/glue/inputs/ConnectionState.java | 74 +- .../glue/outputs/ClassifierCsvClassifier.java | 12 +- .../java/com/pulumi/aws/iam/IamFunctions.java | 12 +- .../aws/inputs/GetServicePrincipalArgs.java | 124 ++++ .../inputs/GetServicePrincipalPlainArgs.java | 103 +++ .../aws/lambda/RuntimeManagementConfig.java | 2 +- .../java/com/pulumi/aws/mwaa/Environment.java | 24 +- .../com/pulumi/aws/mwaa/EnvironmentArgs.java | 56 +- .../aws/mwaa/inputs/EnvironmentState.java | 56 +- .../outputs/GetServicePrincipalResult.java | 142 ++++ .../main/java/com/pulumi/aws/rds/Cluster.java | 6 +- .../com/pulumi/aws/rds/ClusterSnapshot.java | 14 + .../pulumi/aws/rds/ClusterSnapshotArgs.java | 48 ++ .../java/com/pulumi/aws/rds/SnapshotCopy.java | 15 + .../com/pulumi/aws/rds/SnapshotCopyArgs.java | 48 ++ .../ClusterScalingConfigurationArgs.java | 37 + .../aws/rds/inputs/ClusterSnapshotState.java | 47 ++ .../aws/rds/inputs/SnapshotCopyState.java | 48 ++ .../outputs/ClusterScalingConfiguration.java | 21 + .../java/com/pulumi/aws/sagemaker/Space.java | 8 +- .../com/pulumi/aws/sagemaker/SpaceArgs.java | 16 +- .../inputs/SpaceSpaceSettingsArgs.java | 20 + ...SpaceSettingsSpaceStorageSettingsArgs.java | 20 + ...StorageSettingsEbsStorageSettingsArgs.java | 20 + .../aws/sagemaker/inputs/SpaceState.java | 16 +- .../sagemaker/outputs/SpaceSpaceSettings.java | 8 + ...paceSpaceSettingsSpaceStorageSettings.java | 8 + ...paceStorageSettingsEbsStorageSettings.java | 8 + .../pulumi/aws/securitylake/Subscriber.java | 16 +- .../aws/securitylake/SubscriberArgs.java | 36 +- .../inputs/SubscriberSourceArgs.java | 16 +- ...scriberSourceAwsLogSourceResourceArgs.java | 16 +- ...iberSourceCustomLogSourceResourceArgs.java | 36 +- .../securitylake/inputs/SubscriberState.java | 36 +- .../outputs/SubscriberSource.java | 8 +- .../SubscriberSourceAwsLogSourceResource.java | 8 +- ...bscriberSourceCustomLogSourceResource.java | 12 +- .../ConfigurationSetEventDestination.java | 57 +- .../ConfigurationSetEventDestinationArgs.java | 8 +- ...tEventDestinationEventDestinationArgs.java | 60 +- ...tDestinationCloudWatchDestinationArgs.java | 10 +- ...DestinationEventBridgeDestinationArgs.java | 85 +++ ...ConfigurationSetEventDestinationState.java | 8 +- ...onSetEventDestinationEventDestination.java | 34 +- ...EventDestinationCloudWatchDestination.java | 4 +- ...ventDestinationEventBridgeDestination.java | 58 ++ .../com/pulumi/aws/shield/Subscription.java | 150 ++++ .../pulumi/aws/shield/SubscriptionArgs.java | 121 ++++ .../aws/shield/inputs/SubscriptionState.java | 121 ++++ .../main/java/com/pulumi/aws/sns/Topic.java | 4 +- .../java/com/pulumi/aws/sns/TopicArgs.java | 8 +- .../com/pulumi/aws/sns/inputs/TopicState.java | 8 +- .../aws/vpc/SecurityGroupEgressRule.java | 7 +- .../aws/vpc/SecurityGroupIngressRule.java | 7 +- ...peDownStatementSqliMatchStatementArgs.java | 20 + ...upRuleStatementSqliMatchStatementArgs.java | 20 + ...peDownStatementSqliMatchStatementArgs.java | 20 + ...peDownStatementSqliMatchStatementArgs.java | 20 + ...clRuleStatementSqliMatchStatementArgs.java | 20 + ...tScopeDownStatementSqliMatchStatement.java | 8 + ...eGroupRuleStatementSqliMatchStatement.java | 8 + ...tScopeDownStatementSqliMatchStatement.java | 8 + ...tScopeDownStatementSqliMatchStatement.java | 8 + ...WebAclRuleStatementSqliMatchStatement.java | 8 + sdk/nodejs/appflow/flow.ts | 14 + sdk/nodejs/batch/jobDefinition.ts | 82 +-- sdk/nodejs/cloudwatch/eventBus.ts | 14 + sdk/nodejs/cloudwatch/getEventBus.ts | 4 + sdk/nodejs/cur/getReportDefinition.ts | 13 + sdk/nodejs/cur/reportDefinition.ts | 28 + sdk/nodejs/ec2/launchTemplate.ts | 12 +- sdk/nodejs/ec2/securityGroup.ts | 4 +- sdk/nodejs/ec2/securityGroupRule.ts | 10 +- sdk/nodejs/ecs/taskDefinition.ts | 6 +- sdk/nodejs/getServicePrincipal.ts | 104 +++ sdk/nodejs/glue/classifier.ts | 10 +- sdk/nodejs/glue/connection.ts | 227 +++++- sdk/nodejs/iam/getAccountAlias.ts | 4 +- sdk/nodejs/index.ts | 5 + sdk/nodejs/lambda/runtimeManagementConfig.ts | 2 +- sdk/nodejs/mwaa/environment.ts | 30 +- sdk/nodejs/rds/cluster.ts | 2 +- sdk/nodejs/rds/clusterSnapshot.ts | 14 + sdk/nodejs/rds/snapshotCopy.ts | 14 + sdk/nodejs/sagemaker/space.ts | 12 +- sdk/nodejs/securitylake/subscriber.ts | 21 +- .../sesv2/configurationSetEventDestination.ts | 30 +- sdk/nodejs/shield/index.ts | 8 + sdk/nodejs/shield/subscription.ts | 121 ++++ sdk/nodejs/sns/topic.ts | 6 +- sdk/nodejs/tsconfig.json | 2 + sdk/nodejs/types/input.ts | 170 +++-- sdk/nodejs/types/output.ts | 170 +++-- sdk/nodejs/vpc/securityGroupEgressRule.ts | 7 +- sdk/nodejs/vpc/securityGroupIngressRule.ts | 7 +- sdk/python/pulumi_aws/__init__.py | 9 + sdk/python/pulumi_aws/appflow/_inputs.py | 138 +++- sdk/python/pulumi_aws/appflow/flow.py | 47 ++ sdk/python/pulumi_aws/appflow/outputs.py | 123 +++- sdk/python/pulumi_aws/batch/_inputs.py | 239 +++--- sdk/python/pulumi_aws/batch/job_definition.py | 186 ++--- sdk/python/pulumi_aws/batch/outputs.py | 157 ++-- .../pulumi_aws/cloudformation/_inputs.py | 20 + .../pulumi_aws/cloudformation/outputs.py | 16 +- sdk/python/pulumi_aws/cloudwatch/event_bus.py | 47 ++ .../pulumi_aws/cloudwatch/get_event_bus.py | 15 +- .../pulumi_aws/cur/get_report_definition.py | 20 +- .../pulumi_aws/cur/report_definition.py | 82 ++- sdk/python/pulumi_aws/ec2/launch_template.py | 28 +- sdk/python/pulumi_aws/ec2/security_group.py | 8 +- .../pulumi_aws/ec2/security_group_rule.py | 20 +- sdk/python/pulumi_aws/ecs/task_definition.py | 14 +- .../pulumi_aws/get_service_principal.py | 154 ++++ sdk/python/pulumi_aws/glue/_inputs.py | 13 +- sdk/python/pulumi_aws/glue/classifier.py | 22 +- sdk/python/pulumi_aws/glue/connection.py | 464 ++++++++++-- sdk/python/pulumi_aws/glue/outputs.py | 8 +- .../pulumi_aws/iam/get_account_alias.py | 4 +- .../lambda_/runtime_management_config.py | 4 +- sdk/python/pulumi_aws/mwaa/environment.py | 54 +- sdk/python/pulumi_aws/rds/_inputs.py | 20 + sdk/python/pulumi_aws/rds/cluster.py | 2 +- sdk/python/pulumi_aws/rds/cluster_snapshot.py | 47 ++ sdk/python/pulumi_aws/rds/outputs.py | 14 + sdk/python/pulumi_aws/rds/snapshot_copy.py | 47 ++ sdk/python/pulumi_aws/sagemaker/_inputs.py | 25 + sdk/python/pulumi_aws/sagemaker/outputs.py | 16 + sdk/python/pulumi_aws/sagemaker/space.py | 28 +- sdk/python/pulumi_aws/securitylake/_inputs.py | 37 +- sdk/python/pulumi_aws/securitylake/outputs.py | 24 +- .../pulumi_aws/securitylake/subscriber.py | 41 +- sdk/python/pulumi_aws/sesv2/_inputs.py | 82 ++- .../configuration_set_event_destination.py | 56 +- sdk/python/pulumi_aws/sesv2/outputs.py | 70 +- sdk/python/pulumi_aws/shield/__init__.py | 1 + sdk/python/pulumi_aws/shield/subscription.py | 243 +++++++ sdk/python/pulumi_aws/sns/topic.py | 14 +- .../vpc/security_group_egress_rule.py | 14 +- .../vpc/security_group_ingress_rule.py | 14 +- sdk/python/pulumi_aws/wafv2/_inputs.py | 35 + sdk/python/pulumi_aws/wafv2/outputs.py | 20 + upstream | 2 +- 392 files changed, 11776 insertions(+), 2400 deletions(-) delete mode 100755 scripts/upgrade_upstream.sh delete mode 100755 scripts/upgrade_upstream_done.sh create mode 100644 sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigArgs.cs create mode 100644 sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGetArgs.cs create mode 100644 sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.cs create mode 100644 sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogGetArgs.cs create mode 100644 sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfig.cs create mode 100644 sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfigGlueDataCatalog.cs create mode 100644 sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.cs create mode 100644 sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs.cs create mode 100644 sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.cs create mode 100644 sdk/dotnet/GetServicePrincipal.cs create mode 100644 sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.cs create mode 100644 sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs.cs create mode 100644 sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.cs create mode 100644 sdk/dotnet/Shield/Subscription.cs create mode 100644 sdk/go/aws/getServicePrincipal.go create mode 100644 sdk/go/aws/shield/subscription.go create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfigGlueDataCatalog.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/outputs/GetServicePrincipalResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/shield/Subscription.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/shield/SubscriptionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/shield/inputs/SubscriptionState.java create mode 100644 sdk/nodejs/getServicePrincipal.ts create mode 100644 sdk/nodejs/shield/subscription.ts create mode 100644 sdk/python/pulumi_aws/get_service_principal.py create mode 100644 sdk/python/pulumi_aws/shield/subscription.py diff --git a/examples/go.mod b/examples/go.mod index 62b6664c803..0c733ca59ad 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -3,7 +3,7 @@ module github.com/pulumi/pulumi-aws/examples/v6 go 1.22.5 require ( - github.com/aws/aws-sdk-go v1.54.20 + github.com/aws/aws-sdk-go v1.55.2 github.com/aws/aws-sdk-go-v2/config v1.27.27 github.com/aws/aws-sdk-go-v2/service/iam v1.34.3 github.com/pulumi/providertest v0.0.14 @@ -46,9 +46,9 @@ require ( github.com/BurntSushi/toml v1.2.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/ProtonMail/go-crypto v1.1.0-alpha.3-proton // indirect + github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton // indirect github.com/YakDriver/go-version v0.1.0 // indirect - github.com/YakDriver/regexache v0.23.0 // indirect + github.com/YakDriver/regexache v0.24.0 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect @@ -57,7 +57,7 @@ require ( github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.27 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.9 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect @@ -68,8 +68,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/amp v1.27.3 // indirect github.com/aws/aws-sdk-go-v2/service/amplify v1.23.3 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.3 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.3 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.4 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/appconfig v1.31.3 // indirect github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.3 // indirect github.com/aws/aws-sdk-go-v2/service/appflow v1.43.3 // indirect @@ -79,11 +79,11 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.2.3 // indirect github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.3 // indirect github.com/aws/aws-sdk-go-v2/service/appstream v1.36.3 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.34.3 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.44.3 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.3 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/backup v1.36.3 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.43.0 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.3 // indirect @@ -94,7 +94,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chime v1.32.3 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.3 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.14.3 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.0 // indirect github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.3 // indirect @@ -131,7 +131,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.3 // indirect github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.3 // indirect github.com/aws/aws-sdk-go-v2/service/datasync v1.40.3 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.13.2 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.15.0 // indirect github.com/aws/aws-sdk-go-v2/service/dax v1.21.3 // indirect github.com/aws/aws-sdk-go-v2/service/detective v1.29.3 // indirect github.com/aws/aws-sdk-go-v2/service/devicefarm v1.25.2 // indirect @@ -141,8 +141,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.36.3 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/drs v1.28.3 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.172.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.30.3 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.3 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.44.3 // indirect @@ -162,14 +162,17 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.26.3 // indirect github.com/aws/aws-sdk-go-v2/service/fms v1.35.3 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.47.2 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.91.0 // indirect github.com/aws/aws-sdk-go-v2/service/grafana v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.3 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.3 // indirect github.com/aws/aws-sdk-go-v2/service/guardduty v1.45.3 // indirect github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.3 // indirect github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.3 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector v1.23.3 // indirect github.com/aws/aws-sdk-go-v2/service/inspector2 v1.28.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect @@ -180,13 +183,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/iot v1.55.3 // indirect github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ivs v1.37.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ivs v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.3 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.52.3 // indirect github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.3 // indirect github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.3 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.28.2 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.56.3 // indirect @@ -199,7 +204,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.57.3 // indirect github.com/aws/aws-sdk-go-v2/service/medialive v1.55.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.3 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.14.3 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.3 // indirect github.com/aws/aws-sdk-go-v2/service/mq v1.25.3 // indirect github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.4 // indirect @@ -222,7 +227,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rds v1.81.5 // indirect github.com/aws/aws-sdk-go-v2/service/redshift v1.46.4 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.27.3 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.20.3 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.0 // indirect github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.2 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.3 // indirect github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.3 // indirect @@ -274,7 +279,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/xray v1.27.3 // indirect github.com/aws/smithy-go v1.20.3 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/beevik/etree v1.4.0 // indirect + github.com/beevik/etree v1.4.1 // indirect github.com/blang/semver v3.5.1+incompatible // indirect github.com/cedar-policy/cedar-go v0.0.0-20240318205125-470d1fe984bb // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect diff --git a/examples/go.sum b/examples/go.sum index 4752442ca60..438fc7dba60 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1188,12 +1188,12 @@ github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= -github.com/ProtonMail/go-crypto v1.1.0-alpha.3-proton h1:0RXAi0EJFs81j+MMsqvHNuAUGWzeVfCO9LnHAfoQ8NA= -github.com/ProtonMail/go-crypto v1.1.0-alpha.3-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton h1:KVBEgU3CJpmzLChnLiSuEyCuhGhcMt3eOST+7A+ckto= +github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/YakDriver/go-version v0.1.0 h1:/x+Xg2+l89Mjtxl0VRf2+ue8cnHkw6jfYv49j6f7gZw= github.com/YakDriver/go-version v0.1.0/go.mod h1:LXwFAp1E3KBhS7FHO/FE8r3XCmvKizs/VXXXFWfoSYY= -github.com/YakDriver/regexache v0.23.0 h1:kv3j4XKhbx/vqUilSBgizXDUXHvvH1KdYekdmGwz4C4= -github.com/YakDriver/regexache v0.23.0/go.mod h1:K4BZ3MYKAqSFbYWqmbsG+OzYUDyJjnMEr27DJEsVG3U= +github.com/YakDriver/regexache v0.24.0 h1:zUKaixelkswzdqsqPc2sveiV//Mi/msJn0teG8zBDiA= +github.com/YakDriver/regexache v0.24.0/go.mod h1:awcd8uBj614F3ScW06JqlfSGqq2/7vdJHy+RiKzVC+g= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= @@ -1233,8 +1233,8 @@ github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.54.20 h1:FZ2UcXya7bUkvkpf7TaPmiL7EubK0go1nlXGLRwEsoo= -github.com/aws/aws-sdk-go v1.54.20/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go v1.55.2 h1:/2OFM8uFfK9e+cqHTw9YPrvTzIXT2XkFGXRM7WbJb7E= +github.com/aws/aws-sdk-go v1.55.2/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= @@ -1245,8 +1245,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.17.27 h1:2raNba6gr2IfA0eqqiP2XiQ0UVO github.com/aws/aws-sdk-go-v2/credentials v1.17.27/go.mod h1:gniiwbGahQByxan6YjQUMcW4Aov6bLC3m+evgcoN4r4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk/UqI9iwMrOx/87PBNIKqw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 h1:u1KOU1S15ufyZqmH/rA3POkiRH6EcDANHj2xHRzq+zc= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8/go.mod h1:WPv2FRnkIOoDv/8j2gSUsI4qDc7392w5anFB/I89GZ8= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.9 h1:TC2vjvaAv1VNl9A0rm+SeuBjrzXnrlwk6Yop+gKRi38= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.9/go.mod h1:WPv2FRnkIOoDv/8j2gSUsI4qDc7392w5anFB/I89GZ8= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= @@ -1267,10 +1267,10 @@ github.com/aws/aws-sdk-go-v2/service/amp v1.27.3 h1:o1cMErMp45oKZ2ScvBOdVXYhvu6F github.com/aws/aws-sdk-go-v2/service/amp v1.27.3/go.mod h1:TuSBSV1IedYHHrC4A3bW84WjQXNSzc6XasgvuDRDb4E= github.com/aws/aws-sdk-go-v2/service/amplify v1.23.3 h1:Plmg9O8/Pt4SKvPtUfSqCfv+SSSllouzlISFcvHK4bM= github.com/aws/aws-sdk-go-v2/service/amplify v1.23.3/go.mod h1:aP9g/m4SSSWUU+htIGXJIY8qy+pGydwr3gpt3OcjBJE= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.3 h1:vAtlXN1IZ+2etHppbmgbPw0ADNVRXS0Dfff/mPRLC3Y= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.3/go.mod h1:jmTl7BrsxCEUl4HwtL9tCDVfmSmCwatcUQA7QXgtT34= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.3 h1:g99B1JOPkygjlDAjsD0xhvWifAs25Xw9SJ9WwC9Rn20= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.3/go.mod h1:IN1OJRdB0VVSXsx1wlEfaDPpuXwSPkAVjhj7R5iSKsU= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.4 h1:tya0sBEw+Sb9ztjykjX+InfZLufo4v1XyXhy4uPsyW4= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.4/go.mod h1:jmTl7BrsxCEUl4HwtL9tCDVfmSmCwatcUQA7QXgtT34= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.4 h1:CRu+uzE4qzjJBNkcwCKdzGzx1bMPsmulB7q8qyoa6FI= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.4/go.mod h1:IN1OJRdB0VVSXsx1wlEfaDPpuXwSPkAVjhj7R5iSKsU= github.com/aws/aws-sdk-go-v2/service/appconfig v1.31.3 h1:nQVKaNJ8VrSKJpGQgzb+HVlrd8ehMuqYXF3Em+UK3P8= github.com/aws/aws-sdk-go-v2/service/appconfig v1.31.3/go.mod h1:tRgqJ4QiuXQeZ0QNDF6jdr+ImyXz5J4ystLtgUxPsD8= github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.3 h1:Vz7if7/byANRrsN9Z0VQm1ZUff5iep5uZN16F7Z2A6c= @@ -1289,16 +1289,16 @@ github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.3 h1:x6wptcqKbH2eQw7v43MI25 github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.3/go.mod h1:buTv8bJjlKxqALyK7/2G1206H/YYllu0R/F9Hz0rhv4= github.com/aws/aws-sdk-go-v2/service/appstream v1.36.3 h1:msS6jU0f3kTgLfUQk7JxazMbfwG5/RbsOwiwXDBO9IU= github.com/aws/aws-sdk-go-v2/service/appstream v1.36.3/go.mod h1:zgB9SASIAI0KWFuUSlo9pGC37f6DDjh1ZJfZEhQcPhU= -github.com/aws/aws-sdk-go-v2/service/appsync v1.34.3 h1:th1DsTjU1sw61RM9rW5g5c61QP1awuWt+zGBYFSIgb0= -github.com/aws/aws-sdk-go-v2/service/appsync v1.34.3/go.mod h1:1BIEiY+76rNP8PEcv/Iyt7ybml38JqitIbrHfMDEYb8= +github.com/aws/aws-sdk-go-v2/service/appsync v1.35.0 h1:JAfFXlcC/DzLu6+5QOMAHCCq0spH59Ex00idQUyWkyM= +github.com/aws/aws-sdk-go-v2/service/appsync v1.35.0/go.mod h1:1BIEiY+76rNP8PEcv/Iyt7ybml38JqitIbrHfMDEYb8= github.com/aws/aws-sdk-go-v2/service/athena v1.44.3 h1:T2tJUqFEs8+2944NHspI3dRFELzKH4HfPXdrrIy18WA= github.com/aws/aws-sdk-go-v2/service/athena v1.44.3/go.mod h1:Vn+X6oPpEMNBFAlGGHHNiNc+Tk10F3dPYLbtbED7fIE= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.3 h1:bUG4DuAXPb0inqsuG/kugMUwsJxxc2l7Sw2+jR+lvmI= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.3/go.mod h1:2uO8WcgMPuckIGMQd4HpDsUFhE8G6t3MkMNnrqREnl0= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3 h1:y4kBd6IXizNoJ1QnVa1kFFmonxnv6mm6z+q7z0Jkdhg= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3/go.mod h1:j2WsKJ/NQS+y8JUgpv+BBzyzddNZP2SG60fB5aQBZaA= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.3 h1:DnZw/gxHCBnqOVi/ML/E3QFYVF3/lIV/j8FhyTS7JWo= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.3/go.mod h1:yda4Po8TZKCPFw7B3f4KfoRV308C+6sriJmuuTRSvlU= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.4 h1:zxtR1VT3JZubNppgivw4mXELqHQcE6dcd5vi2bIVwC0= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.4/go.mod h1:yda4Po8TZKCPFw7B3f4KfoRV308C+6sriJmuuTRSvlU= github.com/aws/aws-sdk-go-v2/service/backup v1.36.3 h1:8yBWFpIBlL8uOHKFgWykiRnku2wQVQP+hF91/FKFdnc= github.com/aws/aws-sdk-go-v2/service/backup v1.36.3/go.mod h1:HLROV+NOBQ/hGMGc72X65qRctcEIKvaf6k7PekTLw+k= github.com/aws/aws-sdk-go-v2/service/batch v1.43.0 h1:LQDwHqwORPQC1cP8iF+gaEbw6gFNVQ88m8qa66ou8d0= @@ -1319,8 +1319,8 @@ github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.3 h1:NY/98Ry+J github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.3/go.mod h1:AC5wH108q+kaTSjuQoKoKCH4fxGKoteUMRPb0wLYzGI= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.3 h1:e8mAmTy94SOhD/KdTRpocBj6+KOyxjQg7JYN1oBjT08= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.3/go.mod h1:Snfhyz0+wdVWPaqSLP2Bf3nziCeyP61AzEzwnxEhbWY= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.14.3 h1:GDqMlQfhiyBD3pWTY2JanoTyCmCMdWu8BejrYU1qQXs= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.14.3/go.mod h1:mRQ3DX5oSX/YETFLFjY4JNyerAE1yrumwZgYcmktrAk= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.0 h1:0YTsf85vAKDtpEZDWZDU4gVM4wgAAbKpCbeVOS0OIf4= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.0/go.mod h1:mRQ3DX5oSX/YETFLFjY4JNyerAE1yrumwZgYcmktrAk= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.3 h1:QBP3/69oA+0+j5oNHXL/V8Hj4NTEjYZaOXHPNFhbFv0= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.3/go.mod h1:ehJ9aR1QffkV/66jI90pJ05g2qCOIMuOLsuSkJ93cHc= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.3 h1:QdoWu2A7sOU7g38Uj1dH9rCvJcINiAV7B/exER1AOKo= @@ -1393,8 +1393,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.3 h1:kA26fZh30b6kOZZIkxr github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.3/go.mod h1:9Z4AiKwAlu2eXOPFEDfkLV/wTpI9o2FX09M4l6E4VE4= github.com/aws/aws-sdk-go-v2/service/datasync v1.40.3 h1:ZrKMl8jsL5YHurOLf0YVLb7JBYxGtqQQAknJ5g4MTz4= github.com/aws/aws-sdk-go-v2/service/datasync v1.40.3/go.mod h1:+ObRlRcKO/p38yJSkpVZKlCU3t9PqXMORXC+xTkb9NU= -github.com/aws/aws-sdk-go-v2/service/datazone v1.13.2 h1:9l6JiWZz/2Sp3ne9E/AXECwnzi7NASQUJnQ7xts/8oA= -github.com/aws/aws-sdk-go-v2/service/datazone v1.13.2/go.mod h1:li7vb6Ip/zyT59298XmAhs+dtXR2GqHXQlIdgL3QycE= +github.com/aws/aws-sdk-go-v2/service/datazone v1.15.0 h1:V0nzmfOqo7+N8Y3F52HpJYd8BDpvGHytVIPjkBHwENQ= +github.com/aws/aws-sdk-go-v2/service/datazone v1.15.0/go.mod h1:li7vb6Ip/zyT59298XmAhs+dtXR2GqHXQlIdgL3QycE= github.com/aws/aws-sdk-go-v2/service/dax v1.21.3 h1:uGHbOU0lBxntNZ/+Y2HbVo//AVFdl/BpMz7viHf/r8M= github.com/aws/aws-sdk-go-v2/service/dax v1.21.3/go.mod h1:FNgKx9JXy9L0bThUl86EMV9gwUgqf2eexpitcne/AXc= github.com/aws/aws-sdk-go-v2/service/detective v1.29.3 h1:HimZr2FJaLzxinq9QypFY2gGM+40pMWPwxB+ZNTkfNI= @@ -1413,10 +1413,10 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.3 h1:1DLJ+BTpBLXMuWJPHPo github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.3/go.mod h1:wZl6Satx8GY99iRC/wA5nsPOCPOnnaizt/kb1t6hSRk= github.com/aws/aws-sdk-go-v2/service/drs v1.28.3 h1:ss4Ib/kWbYA4pveQtSOluDE/Kf0e0jQ9SPwltAmRxKY= github.com/aws/aws-sdk-go-v2/service/drs v1.28.3/go.mod h1:tjzPl3EOCkojHm9Q4y+Kuq7GGSJJw/P0UIqc4eHvtFI= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 h1:nEhZKd1JQ4EB1tekcqW1oIVpDC1ZFrjrp/cLC5MXjFQ= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3/go.mod h1:q9vzW3Xr1KEXa8n4waHiFt1PrppNDlMymlYP+xpsFbY= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0 h1:r398oizT1O8AdQGpnxOMOIstEAAb3PPW5QZsL8w4Ujc= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0/go.mod h1:9KdiRVKTZyPRTlbX3i41FxTV+5OatZ7xOJCN4lleX7g= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4 h1:utG3S4T+X7nONPIpRoi1tVcQdAdJxntiVS2yolPJyXc= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4/go.mod h1:q9vzW3Xr1KEXa8n4waHiFt1PrppNDlMymlYP+xpsFbY= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.172.0 h1:lJjLKG92RyKIIYujVvulR3JpVjr3yxaU34nwXCq8K2o= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.172.0/go.mod h1:o6QDjdVKpP5EF0dp/VlvqckzuSDATr1rLdHt3A5m0YY= github.com/aws/aws-sdk-go-v2/service/ecr v1.30.3 h1:+v2hv29pWaVDASIScHuUhDC93nqJGVlGf6cujrJMHZE= github.com/aws/aws-sdk-go-v2/service/ecr v1.30.3/go.mod h1:RhaP7Wil0+uuuhiE4FzOOEFZwkmFAk1ZflXzK+O3ptU= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.3 h1:n2eqzO9VabUkd77b88Hos6OEtbGohB/TRrtXLTZi38Y= @@ -1455,10 +1455,14 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.26.3 h1:NwddG0xUTBM2zoq4D8rotQmT2Z/S github.com/aws/aws-sdk-go-v2/service/fis v1.26.3/go.mod h1:QmdVf0N/vrhckZLHK4x+f+u9EUuMhetsRgu1rjU1eL0= github.com/aws/aws-sdk-go-v2/service/fms v1.35.3 h1:QeYAz3JhpkTxkS+fifDBfmgWFdSRBI21MQzN2bCO1xo= github.com/aws/aws-sdk-go-v2/service/fms v1.35.3/go.mod h1:GXASgVouW5X/bmEgOoV/tkzJkp5ib7ZeA+YxMc5piqs= +github.com/aws/aws-sdk-go-v2/service/fsx v1.47.2 h1:EDZ4UX4c8NJl5Zm2tj1OlbVdNA0wv2xNt55L6g38Va4= +github.com/aws/aws-sdk-go-v2/service/fsx v1.47.2/go.mod h1:OKCxqzNOd8LpwsIgoWIhjTkDONHuv3uLoObiT/fbS4Q= github.com/aws/aws-sdk-go-v2/service/glacier v1.24.3 h1:de8RU808VMx8km6t2wY3WDWigB6GqbNEcyVQRJFaIYs= github.com/aws/aws-sdk-go-v2/service/glacier v1.24.3/go.mod h1:F/qjepwnxPHHUTK9ikZp14jLyrvB18kZ/22MmaPxtHE= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.0 h1:nlm6tZX8gwsVktDKTQe3IOagNVK1+6CGf9IpdWM6x+E= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.0/go.mod h1:ehkx8lBkJkZbdKYX2GyMFmdOAfcGs0mjcbaNXNiHAEE= +github.com/aws/aws-sdk-go-v2/service/glue v1.91.0 h1:fJrpIIUxuWeyT22DgPN6GtNWwW28UDYsbm47AUJ4JcI= +github.com/aws/aws-sdk-go-v2/service/glue v1.91.0/go.mod h1:FewbVAhRiTt+/8nKDBFTY68lTmtKlI6QMPKMB6aMboQ= github.com/aws/aws-sdk-go-v2/service/grafana v1.24.3 h1:riHLAJSqo5zczCyMSo8XDA46X2aDpQvB46F0seKuNEM= github.com/aws/aws-sdk-go-v2/service/grafana v1.24.3/go.mod h1:2ipW9QX9MlePs99Dy8ohwfdW847hMJG6BU9jvixIpxE= github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.3 h1:5KauP/IHPWGoHni4mt2Sjp0EtHMkdWtPP3v81qaHHyg= @@ -1473,6 +1477,8 @@ github.com/aws/aws-sdk-go-v2/service/iam v1.34.3 h1:p4L/tixJ3JUIxCteMGT6oMlqCbEv github.com/aws/aws-sdk-go-v2/service/iam v1.34.3/go.mod h1:rfOWxxwdecWvSC9C2/8K/foW3Blf+aKnIIPP9kQ2DPE= github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.3 h1:eiL4q6pEzvazErz3gBOoP9hDm3Ul8pV69Qn7BrPARrU= github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.3/go.mod h1:oNDSqrUg2dofbodrdr9fBzJ6dX8Lkh/2xN7LXXdvr5A= +github.com/aws/aws-sdk-go-v2/service/inspector v1.23.3 h1:PeYP2Fdsdh/M5qDytEwc6wjjrG22MNxD5xFHEosCS2k= +github.com/aws/aws-sdk-go-v2/service/inspector v1.23.3/go.mod h1:vbORvzmTKicdDc7cyWs9vh1YiSUC2PJE/PvvDlfTC2s= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.28.3 h1:dscyhNwL1v6pYPCflnp8/jBMeCC5y5Vn8npXmM/EE78= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.28.3/go.mod h1:EI8IxOq2F4KHZQQEB4rmQPXmYILE2avtX6wOiR8A5XQ= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= @@ -1493,8 +1499,8 @@ github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.3 h1:SEt8SRvlGvnOkqDV5PJ github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.3/go.mod h1:XDi19IK0UluaSVnm1mu2AakZKHtWjg6gksitvH7+LQw= github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.3 h1:9Lao6kmD9P+yywuIn9I8hrraJ2jHIztU/GJspIxn6lA= github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.3/go.mod h1:V2BDVrnP+Tn+MM1xxFI7Qcb+YPhiGgY5PUoKzrKHaCQ= -github.com/aws/aws-sdk-go-v2/service/ivs v1.37.3 h1:gBK4NPueWRWK/zma5K3Hc3/hZhoYuKw00Ed2GzOVhg8= -github.com/aws/aws-sdk-go-v2/service/ivs v1.37.3/go.mod h1:gDKrqL8b+YVQ7C/Y152MZ0AxXP6FaksuQ3dbzGCpD7Y= +github.com/aws/aws-sdk-go-v2/service/ivs v1.38.0 h1:j2Y9xmUaVRBlfXWXMI289YsfcUHicfKndJ+PagiCyeQ= +github.com/aws/aws-sdk-go-v2/service/ivs v1.38.0/go.mod h1:gDKrqL8b+YVQ7C/Y152MZ0AxXP6FaksuQ3dbzGCpD7Y= github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.4 h1:isEOoNaq94Wh+x1tt8ScUeV+oQUH2I+5zjCmqCkUa/g= github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.4/go.mod h1:rtw6VOH+4X/TWoOKQlOC+oq/WBDJD4BqaPi930II6Mk= github.com/aws/aws-sdk-go-v2/service/kafka v1.35.3 h1:MUx27PrqicGxgsiDWo7xv/Zsl4b0X8kHCRvMpX7XrQs= @@ -1507,6 +1513,10 @@ github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.3 h1:25HN/tJRRf0rwPzDpNyTAL github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.3/go.mod h1:/sTpi3FG4DsTSTabyXfKXypVEjCuNU/8jxTCQLWYRZQ= github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 h1:ktR7RUdUQ8m9rkgCPRsS7iTJgFp9MXEX0nltrT8bxY4= github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3/go.mod h1:hufTMUGSlcBLGgs6leSPbDfY1sM3mrO2qjtVkPMTDhE= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.3 h1:jlRe7BuV+4SghH9MR+H3NI5Y2i4BMg9Z00fWBryjqp8= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.3/go.mod h1:qb0UKyBXIZbkXmn8M3WoRRZPyfbr1exhN1F21Od1S2o= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.28.2 h1:0ihcsCNzq2iuIaNEiLDFd7YcUKnuhNvKjoGWV+WaEpA= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.28.2/go.mod h1:MTVEJMay748rHk8FSi6SqxyOsehY0dbcG+R+KOp9Oig= github.com/aws/aws-sdk-go-v2/service/kms v1.35.3 h1:UPTdlTOwWUX49fVi7cymEN6hDqCwe3LNv1vi7TXUutk= github.com/aws/aws-sdk-go-v2/service/kms v1.35.3/go.mod h1:gjDP16zn+WWalyaUqwCCioQ8gU8lzttCCc9jYsiQI/8= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.3 h1:Rfl7JjXVdriUprd8TTlbgcTyPU/Pl+v/O/nMD9HYpgA= @@ -1531,8 +1541,8 @@ github.com/aws/aws-sdk-go-v2/service/medialive v1.55.0 h1:H1cqEGQ5rFpTPZawnOH8tx github.com/aws/aws-sdk-go-v2/service/medialive v1.55.0/go.mod h1:49kVyWdlOWpusFyzDrmxCG9PqXlKtpKmHYoTv5h1O5k= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.3 h1:fBtklFkqk6QhJBzSBgNJiwWySt1RvspmvCvY+giXgdI= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.3/go.mod h1:BejXbLdRRWr6uMl4wZrz3iAcJDVgJu3EEstqDq8wxEE= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.14.3 h1:ytQ77lC/wrYatbiLSZlYSpgjzvtgXBey0xxRsBA4swY= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.14.3/go.mod h1:+R07/s3U8lJzEZDiwFxv/jmlSNbQjnoSqKaZEoqWt5Y= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.0 h1:1uii7pAgncfem27f3/Fi86kXK0TASrbujiq1Wn0ETA0= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.0/go.mod h1:+R07/s3U8lJzEZDiwFxv/jmlSNbQjnoSqKaZEoqWt5Y= github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.3 h1:WBVRvc0iIJdbdCkBjWRMVtUOMmAvOyN70x1KrBTOFm0= github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.3/go.mod h1:plJWP1InGjEZiJvXfTlBqTBeMW8ddEZeIdYYFTYZMyE= github.com/aws/aws-sdk-go-v2/service/mq v1.25.3 h1:SyRcb9GRPcoNKCuLnpj1qGIr/8stnVIf4DsuRhXIzEA= @@ -1577,8 +1587,8 @@ github.com/aws/aws-sdk-go-v2/service/redshift v1.46.4 h1:wNBruTRRDfBv2Pz3Mvw6JIJ github.com/aws/aws-sdk-go-v2/service/redshift v1.46.4/go.mod h1:AhuwOvTE4nMwWfJQNZ2khZGV9yXexB2MjNYtCuLQA4s= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.27.3 h1:rtX1ZHGPpqbQGZlPuN1u7nA+0zjq0DB7QTVNlYY/gfw= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.27.3/go.mod h1:8Ah7aUFE9G0dppkn6ZXn1iExeHUV4369IJ2GRi7++Y0= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.20.3 h1:dZTe+TGD6B15Qhhugp4MUOCLPzaODOxc5qc6K5/yZDA= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.20.3/go.mod h1:oJRMDbpdkGsrRiSmJUumhj4KuXdP4QN9A5AK1rE0xps= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.0 h1:tXS6MbDl8H0qzH2u42M//Zq8/bNmhDioQXu+9PWFOA4= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.0/go.mod h1:oJRMDbpdkGsrRiSmJUumhj4KuXdP4QN9A5AK1rE0xps= github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.2 h1:nrR1xZ6QoW7lUvFmLHOwTK2n25nnuPhP2f++C3DlPRc= github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.2/go.mod h1:UkvOY/p1SKtJgzvwmlPnrFWOP2kj6efrbcbQHFy9qvM= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.3 h1:GEkqXpMrNF6UpC8edjE66HZgVpqppvxxMRhHcBbyQiU= @@ -1681,8 +1691,8 @@ github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= -github.com/beevik/etree v1.4.0 h1:oz1UedHRepuY3p4N5OjE0nK1WLCqtzHf25bxplKOHLs= -github.com/beevik/etree v1.4.0/go.mod h1:cyWiXwGoasx60gHvtnEh5x8+uIjUVnjWqBvEnhnqKDA= +github.com/beevik/etree v1.4.1 h1:PmQJDDYahBGNKDcpdX8uPy1xRCwoCGVUiW669MEirVI= +github.com/beevik/etree v1.4.1/go.mod h1:gPNJNaBGVZ9AwsidazFZyygnd+0pAU38N4D+WemwKNs= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= diff --git a/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch b/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch index c4228ae0bf4..1a8f2170432 100644 --- a/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch +++ b/patches/0018-Change-default-descriptions-to-Managed-by-Pulumi.patch @@ -70,10 +70,10 @@ index 70a69db303..5f1045af17 100644 names.AttrName: { Type: schema.TypeString, diff --git a/internal/service/ec2/vpc_security_group.go b/internal/service/ec2/vpc_security_group.go -index b47de6df56..21f1ef923b 100644 +index 6730abbc03..1ed388d36b 100644 --- a/internal/service/ec2/vpc_security_group.go +++ b/internal/service/ec2/vpc_security_group.go -@@ -68,7 +68,7 @@ func resourceSecurityGroup() *schema.Resource { +@@ -69,7 +69,7 @@ func resourceSecurityGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, @@ -333,10 +333,10 @@ index fc60010e7d..0b213b1bf7 100644 names.AttrName: { Type: schema.TypeString, diff --git a/internal/service/rds/cluster_parameter_group.go b/internal/service/rds/cluster_parameter_group.go -index 257bbb50ea..104bc29a5d 100644 +index 4cdc5534b8..027f57f753 100644 --- a/internal/service/rds/cluster_parameter_group.go +++ b/internal/service/rds/cluster_parameter_group.go -@@ -51,7 +51,7 @@ func ResourceClusterParameterGroup() *schema.Resource { +@@ -51,7 +51,7 @@ func resourceClusterParameterGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, @@ -346,10 +346,10 @@ index 257bbb50ea..104bc29a5d 100644 names.AttrFamily: { Type: schema.TypeString, diff --git a/internal/service/rds/option_group.go b/internal/service/rds/option_group.go -index 0eba392459..397bac3d54 100644 +index fb39089994..5e702b7d41 100644 --- a/internal/service/rds/option_group.go +++ b/internal/service/rds/option_group.go -@@ -124,7 +124,7 @@ func ResourceOptionGroup() *schema.Resource { +@@ -125,7 +125,7 @@ func ResourceOptionGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, @@ -359,10 +359,10 @@ index 0eba392459..397bac3d54 100644 names.AttrTags: tftags.TagsSchema(), names.AttrTagsAll: tftags.TagsSchemaComputed(), diff --git a/internal/service/rds/parameter_group.go b/internal/service/rds/parameter_group.go -index b870ffe2bc..9c72bc5fd1 100644 +index 9dc8d4ed15..d9c94aaef9 100644 --- a/internal/service/rds/parameter_group.go +++ b/internal/service/rds/parameter_group.go -@@ -52,7 +52,7 @@ func ResourceParameterGroup() *schema.Resource { +@@ -53,7 +53,7 @@ func resourceParameterGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, @@ -694,7 +694,7 @@ index 0000000000..54d4e61495 + return create.StringHashcode(buf.String()) +} diff --git a/internal/service/rds/subnet_group.go b/internal/service/rds/subnet_group.go -index 7cd49d3455..beeb9a4301 100644 +index c29b2a0f74..ccf853d04b 100644 --- a/internal/service/rds/subnet_group.go +++ b/internal/service/rds/subnet_group.go @@ -48,7 +48,7 @@ func resourceSubnetGroup() *schema.Resource { diff --git a/patches/0027-Do-not-compute-tags_all-at-TF-level.patch b/patches/0027-Do-not-compute-tags_all-at-TF-level.patch index 256b12f45f0..12c2a455c46 100644 --- a/patches/0027-Do-not-compute-tags_all-at-TF-level.patch +++ b/patches/0027-Do-not-compute-tags_all-at-TF-level.patch @@ -114,7 +114,7 @@ index e8e1a272eb..a4a1625554 100644 Blocks: map[string]schema.Block{ names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ diff --git a/internal/service/ec2/ec2_instance_connect_endpoint.go b/internal/service/ec2/ec2_instance_connect_endpoint.go -index 90273f5fb2..7eb040c4e2 100644 +index 0d83e03d8b..69f1612f75 100644 --- a/internal/service/ec2/ec2_instance_connect_endpoint.go +++ b/internal/service/ec2/ec2_instance_connect_endpoint.go @@ -118,7 +118,7 @@ func (r *instanceConnectEndpointResource) Schema(ctx context.Context, req resour @@ -127,10 +127,10 @@ index 90273f5fb2..7eb040c4e2 100644 Computed: true, PlanModifiers: []planmodifier.String{ diff --git a/internal/service/ec2/vpc_security_group_ingress_rule.go b/internal/service/ec2/vpc_security_group_ingress_rule.go -index 9d5de83433..f9d99d2663 100644 +index 318432e2d8..e14f6ce740 100644 --- a/internal/service/ec2/vpc_security_group_ingress_rule.go +++ b/internal/service/ec2/vpc_security_group_ingress_rule.go -@@ -226,7 +226,7 @@ func (r *securityGroupRuleResource) Schema(ctx context.Context, request resource +@@ -227,7 +227,7 @@ func (r *securityGroupRuleResource) Schema(ctx context.Context, request resource }, }, names.AttrTags: tftags.TagsAttribute(), diff --git a/patches/0038-Restore-legacy-bucket.patch b/patches/0038-Restore-legacy-bucket.patch index 32982f835d1..d1fc33dd79d 100644 --- a/patches/0038-Restore-legacy-bucket.patch +++ b/patches/0038-Restore-legacy-bucket.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Restore legacy bucket diff --git a/go.mod b/go.mod -index 9a6c90dd99..2dcb67687d 100644 +index 0dfb06b5db..c488721d03 100644 --- a/go.mod +++ b/go.mod -@@ -225,6 +225,7 @@ require ( +@@ -230,6 +230,7 @@ require ( github.com/gertd/go-pluralize v0.2.1 github.com/google/go-cmp v0.6.0 github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.23.0 @@ -17,10 +17,10 @@ index 9a6c90dd99..2dcb67687d 100644 github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.55 github.com/hashicorp/awspolicyequivalence v1.6.0 diff --git a/go.sum b/go.sum -index bab8bbead3..bb4a53730c 100644 +index 23adc7e598..b27569bdaf 100644 --- a/go.sum +++ b/go.sum -@@ -513,6 +513,7 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +@@ -523,6 +523,7 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= @@ -28,7 +28,7 @@ index bab8bbead3..bb4a53730c 100644 github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -@@ -532,6 +533,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +@@ -542,6 +543,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.23.0 h1:l16/Vrl0+x+HjHJWEjcKPwHYoxN9EC78gAFXKlH6m84= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.23.0/go.mod h1:HAmscHyzSOfB1Dr16KLc177KNbn83wscnZC+N7WyaM8= @@ -37,7 +37,7 @@ index bab8bbead3..bb4a53730c 100644 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.54 h1:O37FpbmkDSmSPgukMJLAzJzo5WBSFQx0iwn4PlY6BKI= github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.54/go.mod h1:TJ+Mz49cn0zKURLX5haphWDbmGWz15OsEiLp1CcXDwY= github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.55 h1:7izXD15MCmPcWbKJ5qAwcSlnWvTwkioIJkq0+OJIJG0= -@@ -607,6 +610,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i +@@ -617,6 +620,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= @@ -45,7 +45,7 @@ index bab8bbead3..bb4a53730c 100644 github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -@@ -719,6 +723,7 @@ golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= +@@ -729,6 +733,7 @@ golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= diff --git a/patches/0044-Patch-tags-ComputedOnly-for-m2-resources.patch b/patches/0044-Patch-tags-ComputedOnly-for-m2-resources.patch index cf35811e1cc..e118f882d84 100644 --- a/patches/0044-Patch-tags-ComputedOnly-for-m2-resources.patch +++ b/patches/0044-Patch-tags-ComputedOnly-for-m2-resources.patch @@ -18,7 +18,7 @@ index 221abb4dd5..75ac5b4c94 100644 Blocks: map[string]schema.Block{ "definition": schema.ListNestedBlock{ diff --git a/internal/service/m2/environment.go b/internal/service/m2/environment.go -index e0ab54314a..c30d3b0386 100644 +index 5b65412474..b97fab9739 100644 --- a/internal/service/m2/environment.go +++ b/internal/service/m2/environment.go @@ -174,7 +174,7 @@ func (r *environmentResource) Schema(ctx context.Context, request resource.Schem diff --git a/patches/0045-restore-ECRConn.patch b/patches/0045-restore-ECRConn.patch index 7853a655f40..80ebda4f176 100644 --- a/patches/0045-restore-ECRConn.patch +++ b/patches/0045-restore-ECRConn.patch @@ -5,18 +5,18 @@ Subject: [PATCH] restore ECRConn diff --git a/internal/conns/awsclient_gen.go b/internal/conns/awsclient_gen.go -index 1fc533168a..460d122df8 100644 +index d86f45d0d6..c2c0f3598a 100644 --- a/internal/conns/awsclient_gen.go +++ b/internal/conns/awsclient_gen.go -@@ -214,6 +214,7 @@ import ( +@@ -218,6 +218,7 @@ import ( + batch_sdkv1 "github.com/aws/aws-sdk-go/service/batch" connect_sdkv1 "github.com/aws/aws-sdk-go/service/connect" directconnect_sdkv1 "github.com/aws/aws-sdk-go/service/directconnect" - ec2_sdkv1 "github.com/aws/aws-sdk-go/service/ec2" + ecr_sdkv1 "github.com/aws/aws-sdk-go/service/ecr" elasticsearchservice_sdkv1 "github.com/aws/aws-sdk-go/service/elasticsearchservice" emr_sdkv1 "github.com/aws/aws-sdk-go/service/emr" - fsx_sdkv1 "github.com/aws/aws-sdk-go/service/fsx" -@@ -594,6 +595,10 @@ func (c *AWSClient) EC2Client(ctx context.Context) *ec2_sdkv2.Client { + gamelift_sdkv1 "github.com/aws/aws-sdk-go/service/gamelift" +@@ -589,6 +590,10 @@ func (c *AWSClient) EC2Client(ctx context.Context) *ec2_sdkv2.Client { return errs.Must(client[*ec2_sdkv2.Client](ctx, c, names.EC2, make(map[string]any))) } diff --git a/patches/0054-Fix-empty-retry_strategy-of-Batch-JobDefinitions-cau.patch b/patches/0054-Fix-empty-retry_strategy-of-Batch-JobDefinitions-cau.patch index 17fc52e69ef..8fbf7c8dd5d 100644 --- a/patches/0054-Fix-empty-retry_strategy-of-Batch-JobDefinitions-cau.patch +++ b/patches/0054-Fix-empty-retry_strategy-of-Batch-JobDefinitions-cau.patch @@ -12,10 +12,10 @@ This patch fixes that by adding the missing nil checks for the retry strategy. diff --git a/internal/service/batch/job_definition.go b/internal/service/batch/job_definition.go -index b9ca643835..5da24e0374 100644 +index 7d5214fa66..fa633545cc 100644 --- a/internal/service/batch/job_definition.go +++ b/internal/service/batch/job_definition.go -@@ -528,12 +528,12 @@ func needsJobDefUpdate(d *schema.ResourceDiff) bool { +@@ -540,12 +540,12 @@ func needsJobDefUpdate(d *schema.ResourceDiff) bool { } var ors, nrs *batch.RetryStrategy diff --git a/patches/0059-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0059-Fix-tags_all-Computed-for-PF-resources.patch index 4e3337f493e..fc1e8ac7de2 100644 --- a/patches/0059-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0059-Fix-tags_all-Computed-for-PF-resources.patch @@ -31,10 +31,10 @@ index 98a55920b8..e1085f4cc4 100644 } } diff --git a/internal/service/ec2/ec2_capacity_block_reservation.go b/internal/service/ec2/ec2_capacity_block_reservation.go -index d7955409e2..15cb526ab9 100644 +index 6a9c0292d9..f4a82b54e3 100644 --- a/internal/service/ec2/ec2_capacity_block_reservation.go +++ b/internal/service/ec2/ec2_capacity_block_reservation.go -@@ -150,7 +150,7 @@ func (r *resourceCapacityBlockReservation) Schema(ctx context.Context, _ resourc +@@ -146,7 +146,7 @@ func (r *capacityBlockReservationResource) Schema(ctx context.Context, _ resourc }, }, names.AttrTags: tftags.TagsAttribute(), diff --git a/patches/0061-Normalize-ecs.TaskDefinition-containerDefinitions-he.patch b/patches/0061-Normalize-ecs.TaskDefinition-containerDefinitions-he.patch index 9b4e39fe65d..114ae015a53 100644 --- a/patches/0061-Normalize-ecs.TaskDefinition-containerDefinitions-he.patch +++ b/patches/0061-Normalize-ecs.TaskDefinition-containerDefinitions-he.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Normalize ecs.TaskDefinition containerDefinitions diff --git a/internal/service/ecs/task_definition_equivalency.go b/internal/service/ecs/task_definition_equivalency.go -index 7aaa1e0679..daf70eec25 100644 +index 6947d99a88..e4b67eb1ba 100644 --- a/internal/service/ecs/task_definition_equivalency.go +++ b/internal/service/ecs/task_definition_equivalency.go @@ -50,6 +50,10 @@ func (cd containerDefinitions) reduce(isAWSVPC bool) { diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index afc10299fde..0ef8e804cee 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -1302,7 +1302,14 @@ "maxItemsOne": true }, "prefix_config": { - "maxItemsOne": true + "maxItemsOne": true, + "elem": { + "fields": { + "prefix_hierarchy": { + "maxItemsOne": false + } + } + } } } } @@ -1361,7 +1368,14 @@ "maxItemsOne": true }, "prefix_config": { - "maxItemsOne": true + "maxItemsOne": true, + "elem": { + "fields": { + "prefix_hierarchy": { + "maxItemsOne": false + } + } + } } } } @@ -1388,6 +1402,16 @@ } } }, + "metadata_catalog_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "glue_data_catalog": { + "maxItemsOne": true + } + } + } + }, "source_flow_config": { "maxItemsOne": true, "elem": { @@ -3862,6 +3886,9 @@ } } }, + "image_pull_secret": { + "maxItemsOne": false + }, "metadata": { "maxItemsOne": true }, @@ -8493,6 +8520,9 @@ "fields": { "availability_zones": { "maxItemsOne": false + }, + "shared_accounts": { + "maxItemsOne": false } } }, @@ -8638,7 +8668,12 @@ }, "aws_db_snapshot_copy": { "current": "aws:rds/snapshotCopy:SnapshotCopy", - "majorVersion": 6 + "majorVersion": 6, + "fields": { + "shared_accounts": { + "maxItemsOne": false + } + } }, "aws_db_subnet_group": { "current": "aws:rds/subnetGroup:SubnetGroup", @@ -158249,6 +158284,9 @@ } } }, + "event_bridge_destination": { + "maxItemsOne": true + }, "kinesis_firehose_destination": { "maxItemsOne": true }, @@ -158374,6 +158412,10 @@ "current": "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation", "majorVersion": 6 }, + "aws_shield_subscription": { + "current": "aws:shield/subscription:Subscription", + "majorVersion": 6 + }, "aws_signer_signing_job": { "current": "aws:signer/signingJob:SigningJob", "majorVersion": 6, @@ -230339,6 +230381,10 @@ } } }, + "aws_service_principal": { + "current": "aws:index/getServicePrincipal:getServicePrincipal", + "majorVersion": 6 + }, "aws_servicecatalog_constraint": { "current": "aws:servicecatalog/getConstraint:getConstraint", "majorVersion": 6 @@ -232829,6 +232875,7 @@ "aws:shield/protection:Protection": 0, "aws:shield/protectionGroup:ProtectionGroup": 0, "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": 0, + "aws:shield/subscription:Subscription": 1, "aws:signer/signingJob:SigningJob": 0, "aws:signer/signingProfile:SigningProfile": 0, "aws:signer/signingProfilePermission:SigningProfilePermission": 0, @@ -233286,6 +233333,7 @@ "aws:index/getRegion:getRegion": 1, "aws:index/getRegions:getRegions": 1, "aws:index/getService:getService": 1, + "aws:index/getServicePrincipal:getServicePrincipal": 1, "aws:inspector/getRulesPackages:getRulesPackages": 0, "aws:iot/getEndpoint:getEndpoint": 0, "aws:iot/getRegistrationCode:getRegistrationCode": 0, diff --git a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json index a292f0e4a4e..1164b1419cf 100644 --- a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json @@ -1 +1 @@ -{"auto-settings":{"resources":{"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}}},"datasources":{"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":0,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appfabric/appAuthorization:AppAuthorization":1,"aws:appfabric/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation":1,"aws:bedrock/agentDataSource:AgentDataSource":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/domain:Domain":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/project:Project":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":0,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file +{"auto-settings":{"resources":{"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}}},"datasources":{"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":0,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appfabric/appAuthorization:AppAuthorization":1,"aws:appfabric/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation":1,"aws:bedrock/agentDataSource:AgentDataSource":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/domain:Domain":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/project:Project":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":0,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 6001ea1b8c3..dcdc405b44b 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -5215,12 +5215,26 @@ "type": "string", "description": "Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`.\n" }, + "prefixHierarchies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION`\n" + }, "prefixType": { "type": "string", "description": "Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`.\n" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "prefixHierarchies" + ] + } + } }, "aws:appflow/FlowDestinationFlowConfigDestinationConnectorPropertiesSalesforce:FlowDestinationFlowConfigDestinationConnectorPropertiesSalesforce": { "properties": { @@ -5410,6 +5424,13 @@ "type": "string", "description": "Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`.\n" }, + "prefixHierarchies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION`\n" + }, "prefixType": { "type": "string", "description": "Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`.\n" @@ -5418,7 +5439,15 @@ "type": "object", "required": [ "prefixType" - ] + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "prefixHierarchies", + "prefixType" + ] + } + } }, "aws:appflow/FlowDestinationFlowConfigDestinationConnectorPropertiesZendesk:FlowDestinationFlowConfigDestinationConnectorPropertiesZendesk": { "properties": { @@ -5460,6 +5489,36 @@ }, "type": "object" }, + "aws:appflow/FlowMetadataCatalogConfig:FlowMetadataCatalogConfig": { + "properties": { + "glueDataCatalog": { + "$ref": "#/types/aws:appflow/FlowMetadataCatalogConfigGlueDataCatalog:FlowMetadataCatalogConfigGlueDataCatalog" + } + }, + "type": "object" + }, + "aws:appflow/FlowMetadataCatalogConfigGlueDataCatalog:FlowMetadataCatalogConfigGlueDataCatalog": { + "properties": { + "databaseName": { + "type": "string", + "description": "The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates.\n" + }, + "roleArn": { + "type": "string", + "description": "The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.\n" + }, + "tablePrefix": { + "type": "string", + "description": "A naming prefix for each Data Catalog table that Amazon AppFlow creates\n" + } + }, + "type": "object", + "required": [ + "databaseName", + "roleArn", + "tablePrefix" + ] + }, "aws:appflow/FlowSourceFlowConfig:FlowSourceFlowConfig": { "properties": { "apiVersion": { @@ -19452,7 +19511,7 @@ "properties": { "podProperties": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodProperties:JobDefinitionEksPropertiesPodProperties", - "description": "The properties for the Kubernetes pod resources of a job. See `pod_properties` below.\n" + "description": "Properties for the Kubernetes pod resources of a job. See `pod_properties` below.\n" } }, "type": "object", @@ -19464,15 +19523,22 @@ "properties": { "containers": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesContainers:JobDefinitionEksPropertiesPodPropertiesContainers", - "description": "The properties of the container that's used on the Amazon EKS pod. See containers below.\n" + "description": "Properties of the container that's used on the Amazon EKS pod. See containers below.\n" }, "dnsPolicy": { "type": "string", - "description": "The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.\n" + "description": "DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.\n" }, "hostNetwork": { "type": "boolean", - "description": "Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.\n" + "description": "Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.\n" + }, + "imagePullSecrets": { + "type": "array", + "items": { + "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesImagePullSecret:JobDefinitionEksPropertiesPodPropertiesImagePullSecret" + }, + "description": "List of Kubernetes secret resources. See `image_pull_secret` below.\n" }, "metadata": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesMetadata:JobDefinitionEksPropertiesPodPropertiesMetadata", @@ -19480,14 +19546,14 @@ }, "serviceAccountName": { "type": "string", - "description": "The name of the service account that's used to run the pod.\n" + "description": "Name of the service account that's used to run the pod.\n" }, "volumes": { "type": "array", "items": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesVolume:JobDefinitionEksPropertiesPodPropertiesVolume" }, - "description": "Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.\n" + "description": "Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.\n" } }, "type": "object", @@ -19502,48 +19568,48 @@ "items": { "type": "string" }, - "description": "An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.\n" + "description": "Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.\n" }, "commands": { "type": "array", "items": { "type": "string" }, - "description": "The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.\n" + "description": "Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.\n" }, "envs": { "type": "array", "items": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesContainersEnv:JobDefinitionEksPropertiesPodPropertiesContainersEnv" }, - "description": "The environment variables to pass to a container. See EKS Environment below.\n" + "description": "Environment variables to pass to a container. See EKS Environment below.\n" }, "image": { "type": "string", - "description": "The Docker image used to start the container.\n" + "description": "Docker image used to start the container.\n" }, "imagePullPolicy": { "type": "string", - "description": "The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`.\n" + "description": "Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`.\n" }, "name": { "type": "string", - "description": "The name of the container. If the name isn't specified, the default name \"Default\" is used. Each container in a pod must have a unique name.\n" + "description": "Name of the container. If the name isn't specified, the default name \"Default\" is used. Each container in a pod must have a unique name.\n" }, "resources": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesContainersResources:JobDefinitionEksPropertiesPodPropertiesContainersResources", - "description": "The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`.\n" + "description": "Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`.\n" }, "securityContext": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext:JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext", - "description": "The security context for a job.\n" + "description": "Security context for a job.\n" }, "volumeMounts": { "type": "array", "items": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount:JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount" }, - "description": "The volume mounts for the container.\n" + "description": "Volume mounts for the container.\n" } }, "type": "object", @@ -19555,11 +19621,11 @@ "properties": { "name": { "type": "string", - "description": "Specifies the name of the job definition.\n" + "description": "Name of the job definition.\n" }, "value": { "type": "string", - "description": "The value of the environment variable.\n" + "description": "Value of the environment variable.\n" } }, "type": "object", @@ -19612,7 +19678,7 @@ }, "name": { "type": "string", - "description": "Specifies the name of the job definition.\n" + "description": "Name of the job definition.\n" }, "readOnly": { "type": "boolean" @@ -19624,6 +19690,18 @@ "name" ] }, + "aws:batch/JobDefinitionEksPropertiesPodPropertiesImagePullSecret:JobDefinitionEksPropertiesPodPropertiesImagePullSecret": { + "properties": { + "name": { + "type": "string", + "description": "Unique identifier.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, "aws:batch/JobDefinitionEksPropertiesPodPropertiesMetadata:JobDefinitionEksPropertiesPodPropertiesMetadata": { "properties": { "labels": { @@ -19645,7 +19723,7 @@ }, "name": { "type": "string", - "description": "Specifies the name of the job definition.\n" + "description": "Name of the job definition.\n" }, "secret": { "$ref": "#/types/aws:batch/JobDefinitionEksPropertiesPodPropertiesVolumeSecret:JobDefinitionEksPropertiesPodPropertiesVolumeSecret" @@ -19657,11 +19735,11 @@ "properties": { "medium": { "type": "string", - "description": "The medium to store the volume. The default value is an empty string, which uses the storage of the node.\n" + "description": "Medium to store the volume. The default value is an empty string, which uses the storage of the node.\n" }, "sizeLimit": { "type": "string", - "description": "The maximum size of the volume. By default, there's no maximum size defined.\n" + "description": "Maximum size of the volume. By default, there's no maximum size defined.\n" } }, "type": "object", @@ -19673,7 +19751,7 @@ "properties": { "path": { "type": "string", - "description": "The path of the file or directory on the host to mount into containers on the pod.\n" + "description": "Path of the file or directory on the host to mount into containers on the pod.\n" } }, "type": "object", @@ -19685,11 +19763,11 @@ "properties": { "optional": { "type": "boolean", - "description": "Specifies whether the secret or the secret's keys must be defined.\n" + "description": "Whether the secret or the secret's keys must be defined.\n" }, "secretName": { "type": "string", - "description": "The name of the secret. The name must be allowed as a DNS subdomain name.\n" + "description": "Name of the secret. The name must be allowed as a DNS subdomain name.\n" } }, "type": "object", @@ -19701,14 +19779,14 @@ "properties": { "attempts": { "type": "integer", - "description": "The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts.\n" + "description": "Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts.\n" }, "evaluateOnExits": { "type": "array", "items": { "$ref": "#/types/aws:batch/JobDefinitionRetryStrategyEvaluateOnExit:JobDefinitionRetryStrategyEvaluateOnExit" }, - "description": "The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks.\n", + "description": "Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks.\n", "willReplaceOnChanges": true } }, @@ -19718,19 +19796,19 @@ "properties": { "action": { "type": "string", - "description": "Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`.\n" + "description": "Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`.\n" }, "onExitCode": { "type": "string", - "description": "A glob pattern to match against the decimal representation of the exit code returned for a job.\n" + "description": "Glob pattern to match against the decimal representation of the exit code returned for a job.\n" }, "onReason": { "type": "string", - "description": "A glob pattern to match against the reason returned for a job.\n" + "description": "Glob pattern to match against the reason returned for a job.\n" }, "onStatusReason": { "type": "string", - "description": "A glob pattern to match against the status reason returned for a job.\n" + "description": "Glob pattern to match against the status reason returned for a job.\n" } }, "type": "object", @@ -19742,7 +19820,7 @@ "properties": { "attemptDurationSeconds": { "type": "integer", - "description": "The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds.\n" + "description": "Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds.\n" } }, "type": "object" @@ -23805,6 +23883,10 @@ }, "aws:cloudformation/StackSetInstanceOperationPreferences:StackSetInstanceOperationPreferences": { "properties": { + "concurrencyMode": { + "type": "string", + "description": "Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`.\n" + }, "failureToleranceCount": { "type": "integer", "description": "Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region.\n" @@ -68611,7 +68693,7 @@ }, "delimiter": { "type": "string", - "description": "The delimiter used in the Csv to separate columns.\n" + "description": "The delimiter used in the CSV to separate columns.\n" }, "disableValueTrimming": { "type": "boolean", @@ -68629,7 +68711,8 @@ "description": "A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter.\n" }, "serde": { - "type": "string" + "type": "string", + "description": "The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`.\n" } }, "type": "object", @@ -128511,6 +128594,10 @@ "type": "integer", "description": "Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`.\n" }, + "secondsBeforeTimeout": { + "type": "integer", + "description": "Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`.\n" + }, "secondsUntilAutoPause": { "type": "integer", "description": "Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.\n" @@ -137779,7 +137866,8 @@ "description": "The kernel gateway app settings. See `kernel_gateway_app_settings` Block below.\n" }, "spaceStorageSettings": { - "$ref": "#/types/aws:sagemaker/SpaceSpaceSettingsSpaceStorageSettings:SpaceSpaceSettingsSpaceStorageSettings" + "$ref": "#/types/aws:sagemaker/SpaceSpaceSettingsSpaceStorageSettings:SpaceSpaceSettingsSpaceStorageSettings", + "description": "The storage settings. See `space_storage_settings` Block below.\n" } }, "type": "object", @@ -138046,7 +138134,8 @@ "aws:sagemaker/SpaceSpaceSettingsSpaceStorageSettings:SpaceSpaceSettingsSpaceStorageSettings": { "properties": { "ebsStorageSettings": { - "$ref": "#/types/aws:sagemaker/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings:SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings" + "$ref": "#/types/aws:sagemaker/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings:SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings", + "description": "A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below.\n" } }, "type": "object", @@ -138057,7 +138146,8 @@ "aws:sagemaker/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings:SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings": { "properties": { "ebsVolumeSizeInGb": { - "type": "integer" + "type": "integer", + "description": "The size of an EBS storage volume for a space.\n" } }, "type": "object", @@ -143189,11 +143279,11 @@ "properties": { "awsLogSourceResource": { "$ref": "#/types/aws:securitylake/SubscriberSourceAwsLogSourceResource:SubscriberSourceAwsLogSourceResource", - "description": "Amazon Security Lake supports log and event collection for natively supported AWS services.\n" + "description": "Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below.\n" }, "customLogSourceResource": { "$ref": "#/types/aws:securitylake/SubscriberSourceCustomLogSourceResource:SubscriberSourceCustomLogSourceResource", - "description": "Amazon Security Lake supports custom source types.\n" + "description": "Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below.\n" } }, "type": "object" @@ -143202,11 +143292,11 @@ "properties": { "sourceName": { "type": "string", - "description": "The name for a third-party custom source. This must be a Regionally unique value.\n" + "description": "Provides data expiration details of Amazon Security Lake object.\n" }, "sourceVersion": { "type": "string", - "description": "The version for a third-party custom source. This must be a Regionally unique value.\n" + "description": "Provides data storage transition details of Amazon Security Lake object.\n" } }, "type": "object", @@ -143229,13 +143319,14 @@ "items": { "$ref": "#/types/aws:securitylake/SubscriberSourceCustomLogSourceResourceAttribute:SubscriberSourceCustomLogSourceResourceAttribute" }, - "description": "The attributes of a third-party custom source.\n" + "description": "The attributes of the third-party custom source. See `attributes` Block below.\n" }, "providers": { "type": "array", "items": { "$ref": "#/types/aws:securitylake/SubscriberSourceCustomLogSourceResourceProvider:SubscriberSourceCustomLogSourceResourceProvider" - } + }, + "description": "The details of the log provider for the third-party custom source. See `provider` Block below.\n" }, "sourceName": { "type": "string", @@ -144250,30 +144341,33 @@ "properties": { "cloudWatchDestination": { "$ref": "#/types/aws:sesv2/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination:ConfigurationSetEventDestinationEventDestinationCloudWatchDestination", - "description": "An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below\n" + "description": "An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details.\n" }, "enabled": { "type": "boolean", "description": "When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`.\n" }, + "eventBridgeDestination": { + "$ref": "#/types/aws:sesv2/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination:ConfigurationSetEventDestinationEventDestinationEventBridgeDestination" + }, "kinesisFirehoseDestination": { "$ref": "#/types/aws:sesv2/ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination:ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination", - "description": "An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below.\n" + "description": "An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details.\n" }, "matchingEventTypes": { "type": "array", "items": { "type": "string" }, - "description": "An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`.\n\nThe following arguments are optional:\n" + "description": "An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`.\n" }, "pinpointDestination": { "$ref": "#/types/aws:sesv2/ConfigurationSetEventDestinationEventDestinationPinpointDestination:ConfigurationSetEventDestinationEventDestinationPinpointDestination", - "description": "An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below.\n" + "description": "An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details.\n" }, "snsDestination": { "$ref": "#/types/aws:sesv2/ConfigurationSetEventDestinationEventDestinationSnsDestination:ConfigurationSetEventDestinationEventDestinationSnsDestination", - "description": "An object that defines an Amazon SNS destination for email events. See sns_destination below.\n" + "description": "An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details.\n" } }, "type": "object", @@ -144288,7 +144382,7 @@ "items": { "$ref": "#/types/aws:sesv2/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration:ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration" }, - "description": "An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below.\n" + "description": "An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details.\n" } }, "type": "object", @@ -144318,6 +144412,18 @@ "dimensionValueSource" ] }, + "aws:sesv2/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination:ConfigurationSetEventDestinationEventDestinationEventBridgeDestination": { + "properties": { + "eventBusArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported.\n" + } + }, + "type": "object", + "required": [ + "eventBusArn" + ] + }, "aws:sesv2/ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination:ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination": { "properties": { "deliveryStreamArn": { @@ -153083,7 +153189,8 @@ "description": "The part of a web request that you want AWS WAF to inspect. See Field to Match below for details.\n" }, "sensitivityLevel": { - "type": "string" + "type": "string", + "description": "Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`.\n" }, "textTransformations": { "type": "array", @@ -154611,7 +154718,8 @@ "description": "The part of a web request that you want AWS WAF to inspect. See Field to Match below for details.\n" }, "sensitivityLevel": { - "type": "string" + "type": "string", + "description": "Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`.\n" }, "textTransformations": { "type": "array", @@ -158734,7 +158842,8 @@ "description": "Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details.\n" }, "sensitivityLevel": { - "type": "string" + "type": "string", + "description": "Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`.\n" }, "textTransformations": { "type": "array", @@ -161099,7 +161208,8 @@ "description": "Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details.\n" }, "sensitivityLevel": { - "type": "string" + "type": "string", + "description": "Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`.\n" }, "textTransformations": { "type": "array", @@ -162913,7 +163023,8 @@ "description": "Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details.\n" }, "sensitivityLevel": { - "type": "string" + "type": "string", + "description": "Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`.\n" }, "textTransformations": { "type": "array", @@ -176047,6 +176158,10 @@ "type": "string", "description": "ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n" }, + "metadataCatalogConfig": { + "$ref": "#/types/aws:appflow/FlowMetadataCatalogConfig:FlowMetadataCatalogConfig", + "description": "A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.\n" + }, "name": { "type": "string", "description": "Name of the flow.\n" @@ -176087,6 +176202,7 @@ "destinationFlowConfigs", "flowStatus", "kmsArn", + "metadataCatalogConfig", "name", "sourceFlowConfig", "tagsAll", @@ -176110,6 +176226,10 @@ "description": "ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n", "willReplaceOnChanges": true }, + "metadataCatalogConfig": { + "$ref": "#/types/aws:appflow/FlowMetadataCatalogConfig:FlowMetadataCatalogConfig", + "description": "A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.\n" + }, "name": { "type": "string", "description": "Name of the flow.\n", @@ -176171,6 +176291,10 @@ "description": "ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n", "willReplaceOnChanges": true }, + "metadataCatalogConfig": { + "$ref": "#/types/aws:appflow/FlowMetadataCatalogConfig:FlowMetadataCatalogConfig", + "description": "A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.\n" + }, "name": { "type": "string", "description": "Name of the flow.\n", @@ -185025,15 +185149,15 @@ "properties": { "arn": { "type": "string", - "description": "The Amazon Resource Name of the job definition, includes revision (`:#`).\n" + "description": "ARN of the job definition, includes revision (`:#`).\n" }, "arnPrefix": { "type": "string", - "description": "The ARN without the revision number.\n" + "description": "ARN without the revision number.\n" }, "containerProperties": { "type": "string", - "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" }, "deregisterOnNewRevision": { "type": "boolean", @@ -185041,45 +185165,45 @@ }, "eksProperties": { "$ref": "#/types/aws:batch/JobDefinitionEksProperties:JobDefinitionEksProperties", - "description": "A valid eks properties. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "Valid eks properties. This parameter is only valid if the `type` parameter is `container`.\n" }, "name": { "type": "string", - "description": "Specifies the name of the job definition.\n" + "description": "Name of the job definition.\n" }, "nodeProperties": { "type": "string", - "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" + "description": "Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Specifies the parameter substitution placeholders to set in the job definition.\n" + "description": "Parameter substitution placeholders to set in the job definition.\n" }, "platformCapabilities": { "type": "array", "items": { "type": "string" }, - "description": "The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`.\n" + "description": "Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`.\n" }, "propagateTags": { "type": "boolean", - "description": "Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`.\n" + "description": "Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`.\n" }, "retryStrategy": { "$ref": "#/types/aws:batch/JobDefinitionRetryStrategy:JobDefinitionRetryStrategy", - "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" + "description": "Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" }, "revision": { "type": "integer", - "description": "The revision of the job definition.\n" + "description": "Revision of the job definition.\n" }, "schedulingPriority": { "type": "integer", - "description": "The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`.\n" + "description": "Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`.\n" }, "tags": { "type": "object", @@ -185093,16 +185217,16 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", "deprecationMessage": "Please use `tags` instead." }, "timeout": { "$ref": "#/types/aws:batch/JobDefinitionTimeout:JobDefinitionTimeout", - "description": "Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" + "description": "Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" }, "type": { "type": "string", - "description": "The type of job definition. Must be `container` or `multinode`.\n\nThe following arguments are optional:\n" + "description": "Type of job definition. Must be `container` or `multinode`.\n\nThe following arguments are optional:\n" } }, "required": [ @@ -185116,7 +185240,7 @@ "inputProperties": { "containerProperties": { "type": "string", - "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" }, "deregisterOnNewRevision": { "type": "boolean", @@ -185124,42 +185248,42 @@ }, "eksProperties": { "$ref": "#/types/aws:batch/JobDefinitionEksProperties:JobDefinitionEksProperties", - "description": "A valid eks properties. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "Valid eks properties. This parameter is only valid if the `type` parameter is `container`.\n" }, "name": { "type": "string", - "description": "Specifies the name of the job definition.\n", + "description": "Name of the job definition.\n", "willReplaceOnChanges": true }, "nodeProperties": { "type": "string", - "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" + "description": "Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Specifies the parameter substitution placeholders to set in the job definition.\n" + "description": "Parameter substitution placeholders to set in the job definition.\n" }, "platformCapabilities": { "type": "array", "items": { "type": "string" }, - "description": "The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`.\n" + "description": "Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`.\n" }, "propagateTags": { "type": "boolean", - "description": "Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`.\n" + "description": "Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`.\n" }, "retryStrategy": { "$ref": "#/types/aws:batch/JobDefinitionRetryStrategy:JobDefinitionRetryStrategy", - "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" + "description": "Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" }, "schedulingPriority": { "type": "integer", - "description": "The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`.\n" + "description": "Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`.\n" }, "tags": { "type": "object", @@ -185170,11 +185294,11 @@ }, "timeout": { "$ref": "#/types/aws:batch/JobDefinitionTimeout:JobDefinitionTimeout", - "description": "Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" + "description": "Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" }, "type": { "type": "string", - "description": "The type of job definition. Must be `container` or `multinode`.\n\nThe following arguments are optional:\n" + "description": "Type of job definition. Must be `container` or `multinode`.\n\nThe following arguments are optional:\n" } }, "requiredInputs": [ @@ -185185,15 +185309,15 @@ "properties": { "arn": { "type": "string", - "description": "The Amazon Resource Name of the job definition, includes revision (`:#`).\n" + "description": "ARN of the job definition, includes revision (`:#`).\n" }, "arnPrefix": { "type": "string", - "description": "The ARN without the revision number.\n" + "description": "ARN without the revision number.\n" }, "containerProperties": { "type": "string", - "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" }, "deregisterOnNewRevision": { "type": "boolean", @@ -185201,46 +185325,46 @@ }, "eksProperties": { "$ref": "#/types/aws:batch/JobDefinitionEksProperties:JobDefinitionEksProperties", - "description": "A valid eks properties. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "Valid eks properties. This parameter is only valid if the `type` parameter is `container`.\n" }, "name": { "type": "string", - "description": "Specifies the name of the job definition.\n", + "description": "Name of the job definition.\n", "willReplaceOnChanges": true }, "nodeProperties": { "type": "string", - "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" + "description": "Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Specifies the parameter substitution placeholders to set in the job definition.\n" + "description": "Parameter substitution placeholders to set in the job definition.\n" }, "platformCapabilities": { "type": "array", "items": { "type": "string" }, - "description": "The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`.\n" + "description": "Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`.\n" }, "propagateTags": { "type": "boolean", - "description": "Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`.\n" + "description": "Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`.\n" }, "retryStrategy": { "$ref": "#/types/aws:batch/JobDefinitionRetryStrategy:JobDefinitionRetryStrategy", - "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" + "description": "Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" }, "revision": { "type": "integer", - "description": "The revision of the job definition.\n" + "description": "Revision of the job definition.\n" }, "schedulingPriority": { "type": "integer", - "description": "The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`.\n" + "description": "Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`.\n" }, "tags": { "type": "object", @@ -185254,16 +185378,16 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", "deprecationMessage": "Please use `tags` instead." }, "timeout": { "$ref": "#/types/aws:batch/JobDefinitionTimeout:JobDefinitionTimeout", - "description": "Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" + "description": "Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below.\n" }, "type": { "type": "string", - "description": "The type of job definition. Must be `container` or `multinode`.\n\nThe following arguments are optional:\n" + "description": "Type of job definition. Must be `container` or `multinode`.\n\nThe following arguments are optional:\n" } }, "type": "object" @@ -194705,6 +194829,10 @@ "type": "string", "description": "The partner event source that the new event bus will be matched with. Must match `name`.\n" }, + "kmsKeyIdentifier": { + "type": "string", + "description": "The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n" + }, "name": { "type": "string", "description": "The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`.\n" @@ -194736,6 +194864,10 @@ "description": "The partner event source that the new event bus will be matched with. Must match `name`.\n", "willReplaceOnChanges": true }, + "kmsKeyIdentifier": { + "type": "string", + "description": "The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n" + }, "name": { "type": "string", "description": "The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`.\n", @@ -194761,6 +194893,10 @@ "description": "The partner event source that the new event bus will be matched with. Must match `name`.\n", "willReplaceOnChanges": true }, + "kmsKeyIdentifier": { + "type": "string", + "description": "The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.\n" + }, "name": { "type": "string", "description": "The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`.\n", @@ -206719,6 +206855,21 @@ "type": "string", "description": "Region of the existing S3 bucket to hold generated reports.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, "timeUnit": { "type": "string", "description": "The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`.\n" @@ -206732,6 +206883,7 @@ "reportName", "s3Bucket", "s3Region", + "tagsAll", "timeUnit" ], "inputProperties": { @@ -206784,6 +206936,13 @@ "type": "string", "description": "Region of the existing S3 bucket to hold generated reports.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, "timeUnit": { "type": "string", "description": "The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`.\n", @@ -206855,6 +207014,21 @@ "type": "string", "description": "Region of the existing S3 bucket to hold generated reports.\n" }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, "timeUnit": { "type": "string", "description": "The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`.\n", @@ -228386,11 +228560,11 @@ }, "disableApiStop": { "type": "boolean", - "description": "If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection).\n" + "description": "If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html).\n" }, "disableApiTermination": { "type": "boolean", - "description": "If `true`, enables [EC2 Instance\nTermination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)\n" + "description": "If `true`, enables [EC2 Instance\nTermination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html)\n" }, "ebsOptimized": { "type": "string", @@ -228581,11 +228755,11 @@ }, "disableApiStop": { "type": "boolean", - "description": "If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection).\n" + "description": "If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html).\n" }, "disableApiTermination": { "type": "boolean", - "description": "If `true`, enables [EC2 Instance\nTermination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)\n" + "description": "If `true`, enables [EC2 Instance\nTermination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html)\n" }, "ebsOptimized": { "type": "string", @@ -228763,11 +228937,11 @@ }, "disableApiStop": { "type": "boolean", - "description": "If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection).\n" + "description": "If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html).\n" }, "disableApiTermination": { "type": "boolean", - "description": "If `true`, enables [EC2 Instance\nTermination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)\n" + "description": "If `true`, enables [EC2 Instance\nTermination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html)\n" }, "ebsOptimized": { "type": "string", @@ -231556,7 +231730,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=[{\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=[{\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/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\": pulumi.String(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:** Avoid using the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule.\n\n!\u003e **WARNING:** You should not use the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) in conjunction with the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being 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=[{\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=[{\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/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\": pulumi.String(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", @@ -231809,7 +231983,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 `egress` group rule, which can be added to external Security Groups.\n\n\u003e **NOTE:** Avoid using the `aws.ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule.\n\n!\u003e **WARNING:** You should not use the `aws.ec2.SecurityGroupRule` resource in conjunction with `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or with an `aws.ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being 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", @@ -243643,7 +243817,7 @@ }, "trackLatest": { "type": "boolean", - "description": "Whether should track latest task definition or the one created with the resource. Default is `false`.\n" + "description": "Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource.\n" }, "volumes": { "type": "array", @@ -243760,7 +243934,7 @@ }, "trackLatest": { "type": "boolean", - "description": "Whether should track latest task definition or the one created with the resource. Default is `false`.\n" + "description": "Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource.\n" }, "volumes": { "type": "array", @@ -243895,7 +244069,7 @@ }, "trackLatest": { "type": "boolean", - "description": "Whether should track latest task definition or the one created with the resource. Default is `false`.\n" + "description": "Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource.\n" }, "volumes": { "type": "array", @@ -262010,11 +262184,11 @@ } }, "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={\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={\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={\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={\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={\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={\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={\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={\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", - "description": "A classifier for Csv content. Defined below.\n" + "description": "A classifier for CSV content. Defined below.\n" }, "grokClassifier": { "$ref": "#/types/aws:glue/ClassifierGrokClassifier:ClassifierGrokClassifier", @@ -262039,7 +262213,7 @@ "inputProperties": { "csvClassifier": { "$ref": "#/types/aws:glue/ClassifierCsvClassifier:ClassifierCsvClassifier", - "description": "A classifier for Csv content. Defined below.\n" + "description": "A classifier for CSV content. Defined below.\n" }, "grokClassifier": { "$ref": "#/types/aws:glue/ClassifierGrokClassifier:ClassifierGrokClassifier", @@ -262064,7 +262238,7 @@ "properties": { "csvClassifier": { "$ref": "#/types/aws:glue/ClassifierCsvClassifier:ClassifierCsvClassifier", - "description": "A classifier for Csv content. Defined below.\n" + "description": "A classifier for CSV content. Defined below.\n" }, "grokClassifier": { "$ref": "#/types/aws:glue/ClassifierGrokClassifier:ClassifierGrokClassifier", @@ -262088,27 +262262,27 @@ } }, "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### Non-VPC Connection with secret manager reference\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample_connection = aws.glue.Connection(\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"SECRET_ID\": example.name,\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 = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.Name) },\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-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.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\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\"SECRET_ID\": pulumi.String(example.Name),\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.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\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 final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n SECRET_ID: ${example.name}\n name: example\nvariables:\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: example-secret\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={\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### Connection using a custom connector\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n// Example here being a snowflake jdbc connector with a secret having user and password as keys\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst exampleConnector = new aws.glue.Connection(\"example_connector\", {\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n name: \"example_connector\",\n matchCriterias: [\"template-connection\"],\n});\n// Reference the connector using match_criteria with the connector created above.\nconst exampleConnection = new aws.glue.Connection(\"example_connection\", {\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n name: \"example\",\n matchCriterias: [\n \"Connection\",\n exampleConnector.name,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n# Example here being a snowflake jdbc connector with a secret having user and password as keys\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample_connector = aws.glue.Connection(\"example_connector\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n name=\"example_connector\",\n match_criterias=[\"template-connection\"])\n# Reference the connector using match_criteria with the connector created above.\nexample_connection = aws.glue.Connection(\"example_connection\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n \"SECRET_ID\": example.name,\n },\n name=\"example\",\n match_criterias=[\n \"Connection\",\n example_connector.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 // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n var example = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var exampleConnector = new Aws.Glue.Connection(\"example_connector\", new()\n {\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\" },\n },\n Name = \"example_connector\",\n MatchCriterias = new[]\n {\n \"template-connection\",\n },\n });\n\n // Reference the connector using match_criteria with the connector created above.\n var exampleConnection = new Aws.Glue.Connection(\"example_connection\", new()\n {\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.Name) },\n },\n Name = \"example\",\n MatchCriterias = new[]\n {\n \"Connection\",\n exampleConnector.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-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// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n\t\t// Example here being a snowflake jdbc connector with a secret having user and password as keys\n\t\texample, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleConnector, err := glue.NewConnection(ctx, \"example_connector\", \u0026glue.ConnectionArgs{\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\"),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example_connector\"),\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"template-connection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reference the connector using match_criteria with the connector created above.\n\t\t_, err = glue.NewConnection(ctx, \"example_connection\", \u0026glue.ConnectionArgs{\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n\t\t\t\t\"SECRET_ID\": pulumi.String(example.Name),\n\t\t\t},\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connection\"),\n\t\t\t\texampleConnector.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.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\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 // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleConnector = new Connection(\"exampleConnector\", ConnectionArgs.builder()\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\")\n ))\n .name(\"example_connector\")\n .matchCriterias(\"template-connection\")\n .build());\n\n // Reference the connector using match_criteria with the connector created above.\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .name(\"example\")\n .matchCriterias( \n \"Connection\",\n exampleConnector.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnector:\n type: aws:glue:Connection\n name: example_connector\n properties:\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: '[[\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"],\",\"]'\n name: example_connector\n matchCriterias:\n - template-connection\n # Reference the connector using match_criteria with the connector created above.\n exampleConnection:\n type: aws:glue:Connection\n name: example_connection\n properties:\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\n SECRET_ID: ${example.name}\n name: example\n matchCriterias:\n - Connection\n - ${exampleConnector.name}\nvariables:\n # Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n # Example here being a snowflake jdbc connector with a secret having user and password as keys\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: example-secret\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 name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"PASSWORD\": \"examplepassword\",\n \"USERNAME\": \"exampleusername\",\n })\n```\n```csharp\nusing 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 Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\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.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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 .name(\"example\")\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 .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:Connection\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Non-VPC Connection with secret manager reference\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: \"jdbc:mysql://example.com/exampledatabase\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_properties={\n \"JDBC_CONNECTION_URL\": \"jdbc:mysql://example.com/exampledatabase\",\n \"SECRET_ID\": example.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 = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.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-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.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\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\"SECRET_ID\": pulumi.String(example.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.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\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 final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:mysql://example.com/exampledatabase\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://example.com/exampledatabase\n SECRET_ID: ${example.name}\nvariables:\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: example-secret\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 name: \"example\",\n connectionProperties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase`,\n PASSWORD: \"examplepassword\",\n USERNAME: \"exampleusername\",\n },\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 name=\"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 physical_connection_requirements={\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 Name = \"example\",\n ConnectionProperties = \n {\n { \"JDBC_CONNECTION_URL\", $\"jdbc:mysql://{exampleAwsRdsCluster.Endpoint}/exampledatabase\" },\n { \"PASSWORD\", \"examplepassword\" },\n { \"USERNAME\", \"exampleusername\" },\n },\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\tName: pulumi.String(\"example\"),\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\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 .name(\"example\")\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 .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 name: example\n connectionProperties:\n JDBC_CONNECTION_URL: jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase\n PASSWORD: examplepassword\n USERNAME: exampleusername\n physicalConnectionRequirements:\n availabilityZone: ${exampleAwsSubnet.availabilityZone}\n securityGroupIdLists:\n - ${exampleAwsSecurityGroup.id}\n subnetId: ${exampleAwsSubnet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Connection using a custom connector\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n// Example here being a snowflake jdbc connector with a secret having user and password as keys\nconst example = aws.secretsmanager.getSecret({\n name: \"example-secret\",\n});\nconst example1 = new aws.glue.Connection(\"example1\", {\n name: \"example1\",\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n matchCriterias: [\"template-connection\"],\n});\n// Reference the connector using match_criteria with the connector created above.\nconst example2 = new aws.glue.Connection(\"example2\", {\n name: \"example2\",\n connectionType: \"CUSTOM\",\n connectionProperties: {\n CONNECTOR_CLASS_NAME: \"net.snowflake.client.jdbc.SnowflakeDriver\",\n CONNECTION_TYPE: \"Jdbc\",\n CONNECTOR_URL: \"s3://example/snowflake-jdbc.jar\",\n JDBC_CONNECTION_URL: \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n SECRET_ID: example.then(example =\u003e example.name),\n },\n matchCriterias: [\n \"Connection\",\n example1.name,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n# Example here being a snowflake jdbc connector with a secret having user and password as keys\nexample = aws.secretsmanager.get_secret(name=\"example-secret\")\nexample1 = aws.glue.Connection(\"example1\",\n name=\"example1\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\",\n },\n match_criterias=[\"template-connection\"])\n# Reference the connector using match_criteria with the connector created above.\nexample2 = aws.glue.Connection(\"example2\",\n name=\"example2\",\n connection_type=\"CUSTOM\",\n connection_properties={\n \"CONNECTOR_CLASS_NAME\": \"net.snowflake.client.jdbc.SnowflakeDriver\",\n \"CONNECTION_TYPE\": \"Jdbc\",\n \"CONNECTOR_URL\": \"s3://example/snowflake-jdbc.jar\",\n \"JDBC_CONNECTION_URL\": \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\",\n \"SECRET_ID\": example.name,\n },\n match_criterias=[\n \"Connection\",\n example1.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 // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n var example = Aws.SecretsManager.GetSecret.Invoke(new()\n {\n Name = \"example-secret\",\n });\n\n var example1 = new Aws.Glue.Connection(\"example1\", new()\n {\n Name = \"example1\",\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\" },\n },\n MatchCriterias = new[]\n {\n \"template-connection\",\n },\n });\n\n // Reference the connector using match_criteria with the connector created above.\n var example2 = new Aws.Glue.Connection(\"example2\", new()\n {\n Name = \"example2\",\n ConnectionType = \"CUSTOM\",\n ConnectionProperties = \n {\n { \"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\" },\n { \"CONNECTION_TYPE\", \"Jdbc\" },\n { \"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\" },\n { \"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\" },\n { \"SECRET_ID\", example.Apply(getSecretResult =\u003e getSecretResult.Name) },\n },\n MatchCriterias = new[]\n {\n \"Connection\",\n example1.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-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// Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n\t\t// Example here being a snowflake jdbc connector with a secret having user and password as keys\n\t\texample, err := secretsmanager.LookupSecret(ctx, \u0026secretsmanager.LookupSecretArgs{\n\t\t\tName: pulumi.StringRef(\"example-secret\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := glue.NewConnection(ctx, \"example1\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example1\"),\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\"),\n\t\t\t},\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"template-connection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reference the connector using match_criteria with the connector created above.\n\t\t_, err = glue.NewConnection(ctx, \"example2\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example2\"),\n\t\t\tConnectionType: pulumi.String(\"CUSTOM\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"CONNECTOR_CLASS_NAME\": pulumi.String(\"net.snowflake.client.jdbc.SnowflakeDriver\"),\n\t\t\t\t\"CONNECTION_TYPE\": pulumi.String(\"Jdbc\"),\n\t\t\t\t\"CONNECTOR_URL\": pulumi.String(\"s3://example/snowflake-jdbc.jar\"),\n\t\t\t\t\"JDBC_CONNECTION_URL\": pulumi.String(\"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n\t\t\t\t\"SECRET_ID\": pulumi.String(example.Name),\n\t\t\t},\n\t\t\tMatchCriterias: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Connection\"),\n\t\t\t\texample1.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.secretsmanager.SecretsmanagerFunctions;\nimport com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;\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 // Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n // Example here being a snowflake jdbc connector with a secret having user and password as keys\n final var example = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var example1 = new Connection(\"example1\", ConnectionArgs.builder()\n .name(\"example1\")\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"[[\\\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\\\"],\\\",\\\"]\")\n ))\n .matchCriterias(\"template-connection\")\n .build());\n\n // Reference the connector using match_criteria with the connector created above.\n var example2 = new Connection(\"example2\", ConnectionArgs.builder()\n .name(\"example2\")\n .connectionType(\"CUSTOM\")\n .connectionProperties(Map.ofEntries(\n Map.entry(\"CONNECTOR_CLASS_NAME\", \"net.snowflake.client.jdbc.SnowflakeDriver\"),\n Map.entry(\"CONNECTION_TYPE\", \"Jdbc\"),\n Map.entry(\"CONNECTOR_URL\", \"s3://example/snowflake-jdbc.jar\"),\n Map.entry(\"JDBC_CONNECTION_URL\", \"jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"),\n Map.entry(\"SECRET_ID\", example.applyValue(getSecretResult -\u003e getSecretResult.name()))\n ))\n .matchCriterias( \n \"Connection\",\n example1.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: aws:glue:Connection\n properties:\n name: example1\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: '[[\"default=jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\"],\",\"]'\n matchCriterias:\n - template-connection\n # Reference the connector using match_criteria with the connector created above.\n example2:\n type: aws:glue:Connection\n properties:\n name: example2\n connectionType: CUSTOM\n connectionProperties:\n CONNECTOR_CLASS_NAME: net.snowflake.client.jdbc.SnowflakeDriver\n CONNECTION_TYPE: Jdbc\n CONNECTOR_URL: s3://example/snowflake-jdbc.jar\n JDBC_CONNECTION_URL: jdbc:snowflake://example.com/?user=${user}\u0026password=${password}\n SECRET_ID: ${example.name}\n matchCriterias:\n - Connection\n - ${example1.name}\nvariables:\n # Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection`\n # Example here being a snowflake jdbc connector with a secret having user and password as keys\n example:\n fn::invoke:\n Function: aws:secretsmanager:getSecret\n Arguments:\n name: example-secret\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure Cosmos Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos).\n\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-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"exampleusername\",\n password: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"AZURECOSMOS\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n \"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"exampleusername\",\n \"password\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"AZURECOSMOS\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\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.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\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\"] = \"exampleusername\",\n [\"password\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"AZURECOSMOS\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"spark.cosmos.accountEndpoint\"] = \"https://exampledbaccount.documents.azure.com:443/\",\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/glue\"\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-secret\"),\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\": \"exampleusername\",\n\t\t\t\"password\": \"examplepassword\",\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 = 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 = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"AZURECOSMOS\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"spark.cosmos.accountEndpoint\": \"https://exampledbaccount.documents.azure.com:443/\",\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\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), 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.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\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 Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"exampleusername\"),\n jsonProperty(\"password\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"AZURECOSMOS\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"spark.cosmos.accountEndpoint\", \"https://exampledbaccount.documents.azure.com:443/\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: exampleusername\n password: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: AZURECOSMOS\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n spark.cosmos.accountEndpoint: https://exampledbaccount.documents.azure.com:443/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure SQL Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql).\n\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-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n username: \"exampleusername\",\n password: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"AZURECOSMOS\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n url: \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"username\": \"exampleusername\",\n \"password\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"AZURECOSMOS\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"url\": \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\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.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\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\"] = \"exampleusername\",\n [\"password\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"AZURECOSMOS\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"url\"] = \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\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/glue\"\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-secret\"),\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\": \"exampleusername\",\n\t\t\t\"password\": \"examplepassword\",\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 = 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 = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"AZURECOSMOS\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"url\": \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\",\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\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), 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.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\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 Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"exampleusername\"),\n jsonProperty(\"password\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"AZURECOSMOS\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"url\", \"jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n username: exampleusername\n password: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: AZURECOSMOS\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n url: jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google BigQuery Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery).\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.secretsmanager.Secret(\"example\", {name: \"example-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n credentials: std.base64encode({\n input: `{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\\\nREDACTED\\\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n`,\n }).then(invoke =\u003e invoke.result),\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"BIGQUERY\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumi_std as std\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"credentials\": std.base64encode(input=\"\"\"{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n\"\"\").result,\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"BIGQUERY\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\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 example = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\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 [\"credentials\"] = Std.Base64encode.Invoke(new()\n {\n Input = @\"{\n \"\"type\"\": \"\"service_account\"\",\n \"\"project_id\"\": \"\"example-project\"\",\n \"\"private_key_id\"\": \"\"example-key\"\",\n \"\"private_key\"\": \"\"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\"\",\n \"\"client_email\"\": \"\"example-project@appspot.gserviceaccount.com\"\",\n \"\"client_id\"\": example-client\"\",\n \"\"auth_uri\"\": \"\"https://accounts.google.com/o/oauth2/auth\"\",\n \"\"token_uri\"\": \"\"https://oauth2.googleapis.com/token\"\",\n \"\"auth_provider_x509_cert_url\"\": \"\"https://www.googleapis.com/oauth2/v1/certs\"\",\n \"\"client_x509_cert_url\"\": \"\"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\"\",\n \"\"universe_domain\"\": \"\"googleapis.com\"\"\n}\n\",\n }).Apply(invoke =\u003e invoke.Result),\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"BIGQUERY\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\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/glue\"\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\texample, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"example-secret\"),\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\"credentials\": std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\t\tInput: `{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n`,\n\t\t\t}, nil).Result,\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 = 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 = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"BIGQUERY\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\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\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), 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.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\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 Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"credentials\", StdFunctions.base64encode(Base64encodeArgs.builder()\n .input(\"\"\"\n{\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n}\n \"\"\")\n .build()).result())\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"BIGQUERY\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name)\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n credentials:\n fn::invoke:\n Function: std:base64encode\n Arguments:\n input: |\n {\n \"type\": \"service_account\",\n \"project_id\": \"example-project\",\n \"private_key_id\": \"example-key\",\n \"private_key\": \"-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----\",\n \"client_email\": \"example-project@appspot.gserviceaccount.com\",\n \"client_id\": example-client\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com\",\n \"universe_domain\": \"googleapis.com\"\n }\n Return: result\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: BIGQUERY\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Service Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch).\n\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-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n \"opensearch.net.http.auth.user\": \"exampleusername\",\n \"opensearch.net.http.auth.pass\": \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"OPENSEARCH\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n \"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n \"opensearch.port\": \"443\",\n \"opensearch.aws.sigv4.region\": \"us-east-1\",\n \"opensearch.nodes.wan.only\": \"true\",\n \"opensearch.aws.sigv4.enabled\": \"true\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"opensearch.net.http.auth.user\": \"exampleusername\",\n \"opensearch.net.http.auth.pass\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"OPENSEARCH\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n \"opensearch.port\": \"443\",\n \"opensearch.aws.sigv4.region\": \"us-east-1\",\n \"opensearch.nodes.wan.only\": \"true\",\n \"opensearch.aws.sigv4.enabled\": \"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.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\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 [\"opensearch.net.http.auth.user\"] = \"exampleusername\",\n [\"opensearch.net.http.auth.pass\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"OPENSEARCH\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"opensearch.nodes\"] = \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n [\"opensearch.port\"] = \"443\",\n [\"opensearch.aws.sigv4.region\"] = \"us-east-1\",\n [\"opensearch.nodes.wan.only\"] = \"true\",\n [\"opensearch.aws.sigv4.enabled\"] = \"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/glue\"\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-secret\"),\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\"opensearch.net.http.auth.user\": \"exampleusername\",\n\t\t\t\"opensearch.net.http.auth.pass\": \"examplepassword\",\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 = 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 = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"OPENSEARCH\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"opensearch.nodes\": \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\",\n\t\t\t\t\t\t\"opensearch.port\": \"443\",\n\t\t\t\t\t\t\"opensearch.aws.sigv4.region\": \"us-east-1\",\n\t\t\t\t\t\t\"opensearch.nodes.wan.only\": \"true\",\n\t\t\t\t\t\t\"opensearch.aws.sigv4.enabled\": \"true\",\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\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), 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.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\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 Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"opensearch.net.http.auth.user\", \"exampleusername\"),\n jsonProperty(\"opensearch.net.http.auth.pass\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"OPENSEARCH\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"opensearch.nodes\", \"https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\"),\n jsonProperty(\"opensearch.port\", \"443\"),\n jsonProperty(\"opensearch.aws.sigv4.region\", \"us-east-1\"),\n jsonProperty(\"opensearch.nodes.wan.only\", \"true\"),\n jsonProperty(\"opensearch.aws.sigv4.enabled\", \"true\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n opensearch.net.http.auth.user: exampleusername\n opensearch.net.http.auth.pass: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: OPENSEARCH\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n opensearch.nodes: https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com\n opensearch.port: '443'\n opensearch.aws.sigv4.region: us-east-1\n opensearch.nodes.wan.only: 'true'\n opensearch.aws.sigv4.enabled: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Connection\n\nFor more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake).\n\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-secret\"});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: example.id,\n secretString: JSON.stringify({\n sfUser: \"exampleusername\",\n sfPassword: \"examplepassword\",\n }),\n});\nconst exampleConnection = new aws.glue.Connection(\"example\", {\n name: \"example\",\n connectionType: \"SNOWFLAKE\",\n connectionProperties: {\n SparkProperties: pulumi.jsonStringify({\n secretId: example.name,\n sfRole: \"EXAMPLEETLROLE\",\n sfUrl: \"exampleorg-exampleconnection.snowflakecomputing.com\",\n }),\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.secretsmanager.Secret(\"example\", name=\"example-secret\")\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example.id,\n secret_string=json.dumps({\n \"sfUser\": \"exampleusername\",\n \"sfPassword\": \"examplepassword\",\n }))\nexample_connection = aws.glue.Connection(\"example\",\n name=\"example\",\n connection_type=\"SNOWFLAKE\",\n connection_properties={\n \"SparkProperties\": pulumi.Output.json_dumps({\n \"secretId\": example.name,\n \"sfRole\": \"EXAMPLEETLROLE\",\n \"sfUrl\": \"exampleorg-exampleconnection.snowflakecomputing.com\",\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.SecretsManager.Secret(\"example\", new()\n {\n Name = \"example-secret\",\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 [\"sfUser\"] = \"exampleusername\",\n [\"sfPassword\"] = \"examplepassword\",\n }),\n });\n\n var exampleConnection = new Aws.Glue.Connection(\"example\", new()\n {\n Name = \"example\",\n ConnectionType = \"SNOWFLAKE\",\n ConnectionProperties = \n {\n { \"SparkProperties\", Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"secretId\"] = example.Name,\n [\"sfRole\"] = \"EXAMPLEETLROLE\",\n [\"sfUrl\"] = \"exampleorg-exampleconnection.snowflakecomputing.com\",\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/glue\"\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-secret\"),\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\"sfUser\": \"exampleusername\",\n\t\t\t\"sfPassword\": \"examplepassword\",\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 = 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 = glue.NewConnection(ctx, \"example\", \u0026glue.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tConnectionType: pulumi.String(\"SNOWFLAKE\"),\n\t\t\tConnectionProperties: pulumi.StringMap{\n\t\t\t\t\"SparkProperties\": example.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\t\tvar _zero pulumi.String\n\t\t\t\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\t\"secretId\": name,\n\t\t\t\t\t\t\"sfRole\": \"EXAMPLEETLROLE\",\n\t\t\t\t\t\t\"sfUrl\": \"exampleorg-exampleconnection.snowflakecomputing.com\",\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\tjson1 := string(tmpJSON1)\n\t\t\t\t\treturn pulumi.String(json1), 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.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.glue.Connection;\nimport com.pulumi.aws.glue.ConnectionArgs;\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 Secret(\"example\", SecretArgs.builder()\n .name(\"example-secret\")\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(example.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"sfUser\", \"exampleusername\"),\n jsonProperty(\"sfPassword\", \"examplepassword\")\n )))\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"example\")\n .connectionType(\"SNOWFLAKE\")\n .connectionProperties(Map.of(\"SparkProperties\", example.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"secretId\", name),\n jsonProperty(\"sfRole\", \"EXAMPLEETLROLE\"),\n jsonProperty(\"sfUrl\", \"exampleorg-exampleconnection.snowflakecomputing.com\")\n )))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:secretsmanager:Secret\n properties:\n name: example-secret\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${example.id}\n secretString:\n fn::toJSON:\n sfUser: exampleusername\n sfPassword: examplepassword\n exampleConnection:\n type: aws:glue:Connection\n name: example\n properties:\n name: example\n connectionType: SNOWFLAKE\n connectionProperties:\n SparkProperties:\n fn::toJSON:\n secretId: ${example.name}\n sfRole: EXAMPLEETLROLE\n sfUrl: exampleorg-exampleconnection.snowflakecomputing.com\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", - "description": "The ARN of the Glue Connection.\n" + "description": "ARN of the Glue Connection.\n" }, "catalogId": { "type": "string", - "description": "The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.\n" + "description": "ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.\n" }, "connectionProperties": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "A map of key-value pairs used as parameters for this connection.\n", + "description": "Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).\n\n**Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.\n", "secret": true }, "connectionType": { "type": "string", - "description": "The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.\n" + "description": "Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.\n" }, "description": { "type": "string", @@ -262119,15 +262293,15 @@ "items": { "type": "string" }, - "description": "A list of criteria that can be used in selecting this connection.\n" + "description": "List of criteria that can be used in selecting this connection.\n" }, "name": { "type": "string", - "description": "The name of the connection.\n" + "description": "Name of the connection.\n\nThe following arguments are optional:\n" }, "physicalConnectionRequirements": { "$ref": "#/types/aws:glue/ConnectionPhysicalConnectionRequirements:ConnectionPhysicalConnectionRequirements", - "description": "A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.\n" + "description": "Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.\n" }, "tags": { "type": "object", @@ -262154,7 +262328,7 @@ "inputProperties": { "catalogId": { "type": "string", - "description": "The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.\n", + "description": "ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.\n", "willReplaceOnChanges": true }, "connectionProperties": { @@ -262162,12 +262336,12 @@ "additionalProperties": { "type": "string" }, - "description": "A map of key-value pairs used as parameters for this connection.\n", + "description": "Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).\n\n**Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.\n", "secret": true }, "connectionType": { "type": "string", - "description": "The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.\n" + "description": "Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.\n" }, "description": { "type": "string", @@ -262178,16 +262352,16 @@ "items": { "type": "string" }, - "description": "A list of criteria that can be used in selecting this connection.\n" + "description": "List of criteria that can be used in selecting this connection.\n" }, "name": { "type": "string", - "description": "The name of the connection.\n", + "description": "Name of the connection.\n\nThe following arguments are optional:\n", "willReplaceOnChanges": true }, "physicalConnectionRequirements": { "$ref": "#/types/aws:glue/ConnectionPhysicalConnectionRequirements:ConnectionPhysicalConnectionRequirements", - "description": "A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.\n" + "description": "Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.\n" }, "tags": { "type": "object", @@ -262202,11 +262376,11 @@ "properties": { "arn": { "type": "string", - "description": "The ARN of the Glue Connection.\n" + "description": "ARN of the Glue Connection.\n" }, "catalogId": { "type": "string", - "description": "The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.\n", + "description": "ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.\n", "willReplaceOnChanges": true }, "connectionProperties": { @@ -262214,12 +262388,12 @@ "additionalProperties": { "type": "string" }, - "description": "A map of key-value pairs used as parameters for this connection.\n", + "description": "Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).\n\n**Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.\n", "secret": true }, "connectionType": { "type": "string", - "description": "The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.\n" + "description": "Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.\n" }, "description": { "type": "string", @@ -262230,16 +262404,16 @@ "items": { "type": "string" }, - "description": "A list of criteria that can be used in selecting this connection.\n" + "description": "List of criteria that can be used in selecting this connection.\n" }, "name": { "type": "string", - "description": "The name of the connection.\n", + "description": "Name of the connection.\n\nThe following arguments are optional:\n", "willReplaceOnChanges": true }, "physicalConnectionRequirements": { "$ref": "#/types/aws:glue/ConnectionPhysicalConnectionRequirements:ConnectionPhysicalConnectionRequirements", - "description": "A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.\n" + "description": "Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.\n" }, "tags": { "type": "object", @@ -282534,7 +282708,7 @@ } }, "aws:lambda/runtimeManagementConfig:RuntimeManagementConfig": { - "description": "Resource for managing an AWS Lambda Runtime Management Config.\n\nRefer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes.\n\n\u003e Deletion of this resource returns the runtime update mode to `Auto` (the default behavior).\nTo leave the configured runtime management options in-place, use a `removed` block withe destroy lifecycle set to `false`.\n\n## Example Usage\n\n### Basic Usage\n\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.RuntimeManagementConfig(\"example\", {\n functionName: test.functionName,\n updateRuntimeOn: \"FunctionUpdate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.RuntimeManagementConfig(\"example\",\n function_name=test[\"functionName\"],\n update_runtime_on=\"FunctionUpdate\")\n```\n```csharp\nusing 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.RuntimeManagementConfig(\"example\", new()\n {\n FunctionName = test.FunctionName,\n UpdateRuntimeOn = \"FunctionUpdate\",\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.NewRuntimeManagementConfig(ctx, \"example\", \u0026lambda.RuntimeManagementConfigArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tUpdateRuntimeOn: pulumi.String(\"FunctionUpdate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.RuntimeManagementConfig;\nimport com.pulumi.aws.lambda.RuntimeManagementConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuntimeManagementConfig(\"example\", RuntimeManagementConfigArgs.builder()\n .functionName(test.functionName())\n .updateRuntimeOn(\"FunctionUpdate\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:RuntimeManagementConfig\n properties:\n functionName: ${test.functionName}\n updateRuntimeOn: FunctionUpdate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### `Manual` Update\n\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.RuntimeManagementConfig(\"example\", {\n functionName: test.functionName,\n updateRuntimeOn: \"Manual\",\n runtimeVersionArn: \"arn:aws:lambda:us-east-1::runtime:abcd1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.RuntimeManagementConfig(\"example\",\n function_name=test[\"functionName\"],\n update_runtime_on=\"Manual\",\n runtime_version_arn=\"arn:aws:lambda:us-east-1::runtime:abcd1234\")\n```\n```csharp\nusing 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.RuntimeManagementConfig(\"example\", new()\n {\n FunctionName = test.FunctionName,\n UpdateRuntimeOn = \"Manual\",\n RuntimeVersionArn = \"arn:aws:lambda:us-east-1::runtime:abcd1234\",\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.NewRuntimeManagementConfig(ctx, \"example\", \u0026lambda.RuntimeManagementConfigArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tUpdateRuntimeOn: pulumi.String(\"Manual\"),\n\t\t\tRuntimeVersionArn: pulumi.String(\"arn:aws:lambda:us-east-1::runtime:abcd1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.RuntimeManagementConfig;\nimport com.pulumi.aws.lambda.RuntimeManagementConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuntimeManagementConfig(\"example\", RuntimeManagementConfigArgs.builder()\n .functionName(test.functionName())\n .updateRuntimeOn(\"Manual\")\n .runtimeVersionArn(\"arn:aws:lambda:us-east-1::runtime:abcd1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:RuntimeManagementConfig\n properties:\n functionName: ${test.functionName}\n updateRuntimeOn: Manual\n runtimeVersionArn: arn:aws:lambda:us-east-1::runtime:abcd1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e Once the runtime update mode is set to `Manual`, the `aws.lambda.Function` `runtime` cannot be updated. To upgrade a runtime, the `update_runtime_on` argument must be set to `Auto` or `FunctionUpdate` prior to changing the function's `runtime` argument.\n\n## Import\n\nUsing `pulumi import`, import Lambda Runtime Management Config using a comma-delimited string combining `function_name` and `qualifier`. For example:\n\n```sh\n$ pulumi import aws:lambda/runtimeManagementConfig:RuntimeManagementConfig example my-function,$LATEST\n```\n", + "description": "Resource for managing an AWS Lambda Runtime Management Config.\n\nRefer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes.\n\n\u003e Deletion of this resource returns the runtime update mode to `Auto` (the default behavior).\nTo leave the configured runtime management options in-place, use a `removed` block with the destroy lifecycle set to `false`.\n\n## Example Usage\n\n### Basic Usage\n\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.RuntimeManagementConfig(\"example\", {\n functionName: test.functionName,\n updateRuntimeOn: \"FunctionUpdate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.RuntimeManagementConfig(\"example\",\n function_name=test[\"functionName\"],\n update_runtime_on=\"FunctionUpdate\")\n```\n```csharp\nusing 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.RuntimeManagementConfig(\"example\", new()\n {\n FunctionName = test.FunctionName,\n UpdateRuntimeOn = \"FunctionUpdate\",\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.NewRuntimeManagementConfig(ctx, \"example\", \u0026lambda.RuntimeManagementConfigArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tUpdateRuntimeOn: pulumi.String(\"FunctionUpdate\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.RuntimeManagementConfig;\nimport com.pulumi.aws.lambda.RuntimeManagementConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuntimeManagementConfig(\"example\", RuntimeManagementConfigArgs.builder()\n .functionName(test.functionName())\n .updateRuntimeOn(\"FunctionUpdate\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:RuntimeManagementConfig\n properties:\n functionName: ${test.functionName}\n updateRuntimeOn: FunctionUpdate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### `Manual` Update\n\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.RuntimeManagementConfig(\"example\", {\n functionName: test.functionName,\n updateRuntimeOn: \"Manual\",\n runtimeVersionArn: \"arn:aws:lambda:us-east-1::runtime:abcd1234\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.lambda_.RuntimeManagementConfig(\"example\",\n function_name=test[\"functionName\"],\n update_runtime_on=\"Manual\",\n runtime_version_arn=\"arn:aws:lambda:us-east-1::runtime:abcd1234\")\n```\n```csharp\nusing 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.RuntimeManagementConfig(\"example\", new()\n {\n FunctionName = test.FunctionName,\n UpdateRuntimeOn = \"Manual\",\n RuntimeVersionArn = \"arn:aws:lambda:us-east-1::runtime:abcd1234\",\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.NewRuntimeManagementConfig(ctx, \"example\", \u0026lambda.RuntimeManagementConfigArgs{\n\t\t\tFunctionName: pulumi.Any(test.FunctionName),\n\t\t\tUpdateRuntimeOn: pulumi.String(\"Manual\"),\n\t\t\tRuntimeVersionArn: pulumi.String(\"arn:aws:lambda:us-east-1::runtime:abcd1234\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\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.RuntimeManagementConfig;\nimport com.pulumi.aws.lambda.RuntimeManagementConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new RuntimeManagementConfig(\"example\", RuntimeManagementConfigArgs.builder()\n .functionName(test.functionName())\n .updateRuntimeOn(\"Manual\")\n .runtimeVersionArn(\"arn:aws:lambda:us-east-1::runtime:abcd1234\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:lambda:RuntimeManagementConfig\n properties:\n functionName: ${test.functionName}\n updateRuntimeOn: Manual\n runtimeVersionArn: arn:aws:lambda:us-east-1::runtime:abcd1234\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e Once the runtime update mode is set to `Manual`, the `aws.lambda.Function` `runtime` cannot be updated. To upgrade a runtime, the `update_runtime_on` argument must be set to `Auto` or `FunctionUpdate` prior to changing the function's `runtime` argument.\n\n## Import\n\nUsing `pulumi import`, import Lambda Runtime Management Config using a comma-delimited string combining `function_name` and `qualifier`. For example:\n\n```sh\n$ pulumi import aws:lambda/runtimeManagementConfig:RuntimeManagementConfig example my-function,$LATEST\n```\n", "properties": { "functionArn": { "type": "string", @@ -295710,17 +295884,19 @@ }, "loggingConfiguration": { "$ref": "#/types/aws:mwaa/EnvironmentLoggingConfiguration:EnvironmentLoggingConfiguration", - "description": "The Apache Airflow logs you want to send to Amazon CloudWatch Logs.\n" + "description": "The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.\n" }, "maxWebservers": { - "type": "integer" + "type": "integer", + "description": "The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.\n" }, "maxWorkers": { "type": "integer", "description": "The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default.\n" }, "minWebservers": { - "type": "integer" + "type": "integer", + "description": "The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.\n" }, "minWorkers": { "type": "integer", @@ -295732,7 +295908,7 @@ }, "networkConfiguration": { "$ref": "#/types/aws:mwaa/EnvironmentNetworkConfiguration:EnvironmentNetworkConfiguration", - "description": "Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.\n" + "description": "Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.\n" }, "pluginsS3ObjectVersion": { "type": "string", @@ -295873,17 +296049,19 @@ }, "loggingConfiguration": { "$ref": "#/types/aws:mwaa/EnvironmentLoggingConfiguration:EnvironmentLoggingConfiguration", - "description": "The Apache Airflow logs you want to send to Amazon CloudWatch Logs.\n" + "description": "The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.\n" }, "maxWebservers": { - "type": "integer" + "type": "integer", + "description": "The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.\n" }, "maxWorkers": { "type": "integer", "description": "The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default.\n" }, "minWebservers": { - "type": "integer" + "type": "integer", + "description": "The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.\n" }, "minWorkers": { "type": "integer", @@ -295896,7 +296074,7 @@ }, "networkConfiguration": { "$ref": "#/types/aws:mwaa/EnvironmentNetworkConfiguration:EnvironmentNetworkConfiguration", - "description": "Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.\n" + "description": "Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.\n" }, "pluginsS3ObjectVersion": { "type": "string", @@ -296009,17 +296187,19 @@ }, "loggingConfiguration": { "$ref": "#/types/aws:mwaa/EnvironmentLoggingConfiguration:EnvironmentLoggingConfiguration", - "description": "The Apache Airflow logs you want to send to Amazon CloudWatch Logs.\n" + "description": "The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.\n" }, "maxWebservers": { - "type": "integer" + "type": "integer", + "description": "The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.\n" }, "maxWorkers": { "type": "integer", "description": "The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default.\n" }, "minWebservers": { - "type": "integer" + "type": "integer", + "description": "The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.\n" }, "minWorkers": { "type": "integer", @@ -296032,7 +296212,7 @@ }, "networkConfiguration": { "$ref": "#/types/aws:mwaa/EnvironmentNetworkConfiguration:EnvironmentNetworkConfiguration", - "description": "Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.\n" + "description": "Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.\n" }, "pluginsS3ObjectVersion": { "type": "string", @@ -315947,6 +316127,7 @@ "arn", "availabilityZones", "backupRetentionPeriod", + "caCertificateIdentifier", "caCertificateValidTill", "clusterIdentifier", "clusterIdentifierPrefix", @@ -317549,6 +317730,13 @@ "type": "integer", "description": "Port that the DB cluster was listening on at the time of the snapshot.\n" }, + "sharedAccounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS Account ids to share snapshot with, use `all` to make snaphot public.\n" + }, "snapshotType": { "type": "string" }, @@ -317612,6 +317800,13 @@ "description": "The Identifier for the snapshot.\n", "willReplaceOnChanges": true }, + "sharedAccounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS Account ids to share snapshot with, use `all` to make snaphot public.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -317672,6 +317867,13 @@ "type": "integer", "description": "Port that the DB cluster was listening on at the time of the snapshot.\n" }, + "sharedAccounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS Account ids to share snapshot with, use `all` to make snaphot public.\n" + }, "snapshotType": { "type": "string" }, @@ -321237,6 +321439,13 @@ "type": "string", "description": "he URL that contains a Signature Version 4 signed request.\n" }, + "sharedAccounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.\n" + }, "snapshotType": { "type": "string" }, @@ -321325,6 +321534,13 @@ "description": "he URL that contains a Signature Version 4 signed request.\n", "willReplaceOnChanges": true }, + "sharedAccounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.\n" + }, "sourceDbSnapshotIdentifier": { "type": "string", "description": "Snapshot identifier of the source snapshot.\n", @@ -321415,6 +321631,13 @@ "description": "he URL that contains a Signature Version 4 signed request.\n", "willReplaceOnChanges": true }, + "sharedAccounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.\n" + }, "snapshotType": { "type": "string" }, @@ -339509,7 +339732,7 @@ }, "ownershipSettings": { "$ref": "#/types/aws:sagemaker/SpaceOwnershipSettings:SpaceOwnershipSettings", - "description": "A collection of ownership settings. See `ownership_settings` Block below.\n" + "description": "A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.\n" }, "spaceDisplayName": { "type": "string", @@ -339525,7 +339748,7 @@ }, "spaceSharingSettings": { "$ref": "#/types/aws:sagemaker/SpaceSpaceSharingSettings:SpaceSpaceSharingSettings", - "description": "A collection of space sharing settings. See `space_sharing_settings` Block below.\n" + "description": "A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.\n" }, "tags": { "type": "object", @@ -339563,7 +339786,7 @@ }, "ownershipSettings": { "$ref": "#/types/aws:sagemaker/SpaceOwnershipSettings:SpaceOwnershipSettings", - "description": "A collection of ownership settings. See `ownership_settings` Block below.\n" + "description": "A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.\n" }, "spaceDisplayName": { "type": "string", @@ -339580,7 +339803,7 @@ }, "spaceSharingSettings": { "$ref": "#/types/aws:sagemaker/SpaceSpaceSharingSettings:SpaceSpaceSharingSettings", - "description": "A collection of space sharing settings. See `space_sharing_settings` Block below.\n" + "description": "A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.\n" }, "tags": { "type": "object", @@ -339612,7 +339835,7 @@ }, "ownershipSettings": { "$ref": "#/types/aws:sagemaker/SpaceOwnershipSettings:SpaceOwnershipSettings", - "description": "A collection of ownership settings. See `ownership_settings` Block below.\n" + "description": "A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.\n" }, "spaceDisplayName": { "type": "string", @@ -339629,7 +339852,7 @@ }, "spaceSharingSettings": { "$ref": "#/types/aws:sagemaker/SpaceSpaceSharingSettings:SpaceSpaceSharingSettings", - "description": "A collection of space sharing settings. See `space_sharing_settings` Block below.\n" + "description": "A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.\n" }, "tags": { "type": "object", @@ -342505,7 +342728,8 @@ "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={\n \"aws_log_source_resource\": {\n \"source_name\": \"ROUTE53\",\n \"source_version\": \"1.0\",\n },\n },\n subscriber_identity={\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" + "type": "string", + "description": "The Amazon S3 or Lake Formation access type.\n" }, "arn": { "type": "string", @@ -342529,7 +342753,7 @@ }, "source": { "$ref": "#/types/aws:securitylake/SubscriberSource:SubscriberSource", - "description": "The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.\n" + "description": "The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.\n" }, "subscriberDescription": { "type": "string", @@ -342541,7 +342765,7 @@ }, "subscriberIdentity": { "$ref": "#/types/aws:securitylake/SubscriberSubscriberIdentity:SubscriberSubscriberIdentity", - "description": "The AWS identity used to access your data.\n" + "description": "The AWS identity used to access your data. See `subscriber_identity` Block below.\n" }, "subscriberName": { "type": "string", @@ -342583,11 +342807,12 @@ ], "inputProperties": { "accessType": { - "type": "string" + "type": "string", + "description": "The Amazon S3 or Lake Formation access type.\n" }, "source": { "$ref": "#/types/aws:securitylake/SubscriberSource:SubscriberSource", - "description": "The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.\n" + "description": "The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.\n" }, "subscriberDescription": { "type": "string", @@ -342595,7 +342820,7 @@ }, "subscriberIdentity": { "$ref": "#/types/aws:securitylake/SubscriberSubscriberIdentity:SubscriberSubscriberIdentity", - "description": "The AWS identity used to access your data.\n" + "description": "The AWS identity used to access your data. See `subscriber_identity` Block below.\n" }, "subscriberName": { "type": "string", @@ -342616,7 +342841,8 @@ "description": "Input properties used for looking up and filtering Subscriber resources.\n", "properties": { "accessType": { - "type": "string" + "type": "string", + "description": "The Amazon S3 or Lake Formation access type.\n" }, "arn": { "type": "string", @@ -342640,7 +342866,7 @@ }, "source": { "$ref": "#/types/aws:securitylake/SubscriberSource:SubscriberSource", - "description": "The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.\n" + "description": "The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.\n" }, "subscriberDescription": { "type": "string", @@ -342652,7 +342878,7 @@ }, "subscriberIdentity": { "$ref": "#/types/aws:securitylake/SubscriberSubscriberIdentity:SubscriberSubscriberIdentity", - "description": "The AWS identity used to access your data.\n" + "description": "The AWS identity used to access your data. See `subscriber_identity` Block below.\n" }, "subscriberName": { "type": "string", @@ -346688,7 +346914,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={\n \"cloud_watch_destination\": {\n \"dimension_configurations\": [{\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={\n \"kinesis_firehose_destination\": {\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={\n \"pinpoint_destination\": {\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={\n \"sns_destination\": {\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### CloudWatch 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={\n \"cloud_watch_destination\": {\n \"dimension_configurations\": [{\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### EventBridge Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst default = aws.cloudwatch.getEventBus({\n name: \"default\",\n});\nconst example = new aws.sesv2.ConfigurationSetEventDestination(\"example\", {\n configurationSetName: exampleAwsSesv2ConfigurationSet.configurationSetName,\n eventDestinationName: \"example\",\n eventDestination: {\n eventBridgeDestination: {\n eventBusArn: _default.then(_default =\u003e _default.arn),\n },\n enabled: true,\n matchingEventTypes: [\"SEND\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.cloudwatch.get_event_bus(name=\"default\")\nexample = aws.sesv2.ConfigurationSetEventDestination(\"example\",\n configuration_set_name=example_aws_sesv2_configuration_set[\"configurationSetName\"],\n event_destination_name=\"example\",\n event_destination={\n \"event_bridge_destination\": {\n \"event_bus_arn\": default.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 @default = Aws.CloudWatch.GetEventBus.Invoke(new()\n {\n Name = \"default\",\n });\n\n var example = new Aws.SesV2.ConfigurationSetEventDestination(\"example\", new()\n {\n ConfigurationSetName = exampleAwsSesv2ConfigurationSet.ConfigurationSetName,\n EventDestinationName = \"example\",\n EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs\n {\n EventBridgeDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs\n {\n EventBusArn = @default.Apply(@default =\u003e @default.Apply(getEventBusResult =\u003e getEventBusResult.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/cloudwatch\"\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_default, err := cloudwatch.LookupEventBus(ctx, \u0026cloudwatch.LookupEventBusArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sesv2.NewConfigurationSetEventDestination(ctx, \"example\", \u0026sesv2.ConfigurationSetEventDestinationArgs{\n\t\t\tConfigurationSetName: pulumi.Any(exampleAwsSesv2ConfigurationSet.ConfigurationSetName),\n\t\t\tEventDestinationName: pulumi.String(\"example\"),\n\t\t\tEventDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationArgs{\n\t\t\t\tEventBridgeDestination: \u0026sesv2.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{\n\t\t\t\t\tEventBusArn: pulumi.String(_default.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.cloudwatch.CloudwatchFunctions;\nimport com.pulumi.aws.cloudwatch.inputs.GetEventBusArgs;\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.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = CloudwatchFunctions.getEventBus(GetEventBusArgs.builder()\n .name(\"default\")\n .build());\n\n var example = new ConfigurationSetEventDestination(\"example\", ConfigurationSetEventDestinationArgs.builder()\n .configurationSetName(exampleAwsSesv2ConfigurationSet.configurationSetName())\n .eventDestinationName(\"example\")\n .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()\n .eventBridgeDestination(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.builder()\n .eventBusArn(default_.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:ConfigurationSetEventDestination\n properties:\n configurationSetName: ${exampleAwsSesv2ConfigurationSet.configurationSetName}\n eventDestinationName: example\n eventDestination:\n eventBridgeDestination:\n eventBusArn: ${default.arn}\n enabled: true\n matchingEventTypes:\n - SEND\nvariables:\n default:\n fn::invoke:\n Function: aws:cloudwatch:getEventBus\n Arguments:\n name: default\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={\n \"kinesis_firehose_destination\": {\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={\n \"pinpoint_destination\": {\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={\n \"sns_destination\": {\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", @@ -346700,7 +346926,7 @@ }, "eventDestinationName": { "type": "string", - "description": "An object that defines the event destination. See event_destination below.\n" + "description": "An object that defines the event destination. See `event_destination` Block for details.\n" } }, "required": [ @@ -346720,7 +346946,7 @@ }, "eventDestinationName": { "type": "string", - "description": "An object that defines the event destination. See event_destination below.\n", + "description": "An object that defines the event destination. See `event_destination` Block for details.\n", "willReplaceOnChanges": true } }, @@ -346743,7 +346969,7 @@ }, "eventDestinationName": { "type": "string", - "description": "An object that defines the event destination. See event_destination below.\n", + "description": "An object that defines the event destination. See `event_destination` Block for details.\n", "willReplaceOnChanges": true } }, @@ -348191,6 +348417,46 @@ "type": "object" } }, + "aws:shield/subscription:Subscription": { + "description": "Resource for managing an AWS Shield Subscription.\n\n\u003e This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details.\n\n\u003e Destruction of this resource will set `auto_renew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skip_destroy` to `true` to skip modifying the `auto_renew` argument during destruction.\n\n## Example Usage\n\n### Basic Usage\n\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.Subscription(\"example\", {autoRenew: \"ENABLED\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.shield.Subscription(\"example\", auto_renew=\"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.Shield.Subscription(\"example\", new()\n {\n AutoRenew = \"ENABLED\",\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.NewSubscription(ctx, \"example\", \u0026shield.SubscriptionArgs{\n\t\t\tAutoRenew: 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.shield.Subscription;\nimport com.pulumi.aws.shield.SubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Subscription(\"example\", SubscriptionArgs.builder()\n .autoRenew(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:shield:Subscription\n properties:\n autoRenew: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Shield Subscription using the `id`. For example:\n\n```sh\n$ pulumi import aws:shield/subscription:Subscription example 012345678901\n```\n", + "properties": { + "autoRenew": { + "type": "string", + "description": "Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`.\n" + }, + "skipDestroy": { + "type": "boolean", + "description": "Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state.\n" + } + }, + "required": [ + "autoRenew" + ], + "inputProperties": { + "autoRenew": { + "type": "string", + "description": "Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`.\n" + }, + "skipDestroy": { + "type": "boolean", + "description": "Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Subscription resources.\n", + "properties": { + "autoRenew": { + "type": "string", + "description": "Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`.\n" + }, + "skipDestroy": { + "type": "boolean", + "description": "Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state.\n" + } + }, + "type": "object" + } + }, "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={\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 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": { @@ -349105,7 +349371,7 @@ }, "fifoTopic": { "type": "boolean", - "description": "Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`).\n" + "description": "Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`.\n" }, "firehoseFailureFeedbackRoleArn": { "type": "string", @@ -349241,7 +349507,7 @@ }, "fifoTopic": { "type": "boolean", - "description": "Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`).\n", + "description": "Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`.\n", "willReplaceOnChanges": true }, "firehoseFailureFeedbackRoleArn": { @@ -349368,7 +349634,7 @@ }, "fifoTopic": { "type": "boolean", - "description": "Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`).\n", + "description": "Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`.\n", "willReplaceOnChanges": true }, "firehoseFailureFeedbackRoleArn": { @@ -360029,7 +360295,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:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs.\n\n!\u003e **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being 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", @@ -360214,7 +360480,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:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs.\n\n!\u003e **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being 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", @@ -371416,12 +371682,17 @@ "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, + "kmsKeyIdentifier": { + "description": "The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified.\n", + "type": "string" + }, "name": { "type": "string" } }, "required": [ "arn", + "kmsKeyIdentifier", "name", "id" ], @@ -374366,6 +374637,13 @@ "reportName": { "type": "string", "description": "Name of the report definition to match.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of key-value pairs assigned to the resource.\n" } }, "type": "object", @@ -374425,6 +374703,13 @@ "description": "Region of customer S3 bucket.\n", "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of key-value pairs assigned to the resource.\n", + "type": "object" + }, "timeUnit": { "description": "Frequency on which report data are measured and displayed.\n", "type": "string" @@ -374441,6 +374726,7 @@ "s3Bucket", "s3Prefix", "s3Region", + "tags", "timeUnit", "id" ], @@ -388592,7 +388878,7 @@ } }, "aws:iam/getAccountAlias:getAccountAlias": { - "description": "The IAM Account Alias data source allows access to the account alias\nfor the effective account in which this provider is working.\n\n## 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.iam.getAccountAlias({});\nexport const accountId = current.then(current =\u003e current.accountAlias);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.iam.get_account_alias()\npulumi.export(\"accountId\", current.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 current = Aws.Iam.GetAccountAlias.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountId\"] = current.Apply(getAccountAliasResult =\u003e getAccountAliasResult.AccountAlias),\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\tcurrent, err := iam.LookupAccountAlias(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accountId\", current.AccountAlias)\n\t\treturn nil\n\t})\n}\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 java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = IamFunctions.getAccountAlias();\n\n ctx.export(\"accountId\", current.applyValue(getAccountAliasResult -\u003e getAccountAliasResult.accountAlias()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:iam:getAccountAlias\n Arguments: {}\noutputs:\n accountId: ${current.accountAlias}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The IAM Account Alias data source allows access to the account alias\nfor the effective account in which this provider is working.\n\n## 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.iam.getAccountAlias({});\nexport const accountAlias = current.then(current =\u003e current.accountAlias);\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.iam.get_account_alias()\npulumi.export(\"accountAlias\", current.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 current = Aws.Iam.GetAccountAlias.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"accountAlias\"] = current.Apply(getAccountAliasResult =\u003e getAccountAliasResult.AccountAlias),\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\tcurrent, err := iam.LookupAccountAlias(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"accountAlias\", current.AccountAlias)\n\t\treturn nil\n\t})\n}\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 java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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 = IamFunctions.getAccountAlias();\n\n ctx.export(\"accountAlias\", current.applyValue(getAccountAliasResult -\u003e getAccountAliasResult.accountAlias()));\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:iam:getAccountAlias\n Arguments: {}\noutputs:\n accountAlias: ${current.accountAlias}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "outputs": { "description": "A collection of values returned by getAccountAlias.\n", "properties": { @@ -391805,6 +392091,58 @@ "type": "object" } }, + "aws:index/getServicePrincipal:getServicePrincipal": { + "description": "Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format.\n\n## 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.getServicePrincipal({\n serviceName: \"s3\",\n});\nconst test = aws.getServicePrincipal({\n serviceName: \"s3\",\n region: \"us-iso-east-1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_service_principal(service_name=\"s3\")\ntest = aws.get_service_principal(service_name=\"s3\",\n region=\"us-iso-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 current = Aws.GetServicePrincipal.Invoke(new()\n {\n ServiceName = \"s3\",\n });\n\n var test = Aws.GetServicePrincipal.Invoke(new()\n {\n ServiceName = \"s3\",\n Region = \"us-iso-east-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/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetServicePrincipal(ctx, \u0026aws.GetServicePrincipalArgs{\n\t\t\tServiceName: \"s3\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.GetServicePrincipal(ctx, \u0026aws.GetServicePrincipalArgs{\n\t\t\tServiceName: \"s3\",\n\t\t\tRegion: pulumi.StringRef(\"us-iso-east-1\"),\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.GetServicePrincipalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\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.getServicePrincipal(GetServicePrincipalArgs.builder()\n .serviceName(\"s3\")\n .build());\n\n final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .serviceName(\"s3\")\n .region(\"us-iso-east-1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getServicePrincipal\n Arguments:\n serviceName: s3\n test:\n fn::invoke:\n Function: aws:getServicePrincipal\n Arguments:\n serviceName: s3\n region: us-iso-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getServicePrincipal.\n", + "properties": { + "region": { + "type": "string", + "description": "Region you'd like the SPN for. By default, uses the current region.\n" + }, + "serviceName": { + "type": "string", + "description": "Name of the service you want to generate a Service Principal Name for.\n" + } + }, + "type": "object", + "required": [ + "serviceName" + ] + }, + "outputs": { + "description": "A collection of values returned by getServicePrincipal.\n", + "properties": { + "id": { + "description": "Identifier of the current Service Principal (compound of service, region and suffix). (e.g. `logs.us-east-1.amazonaws.com`in AWS Commercial, `logs.cn-north-1.amazonaws.com.cn` in AWS China).\n", + "type": "string" + }, + "name": { + "description": "Service Principal Name (e.g., `logs.amazonaws.com` in AWS Commercial, `logs.amazonaws.com.cn` in AWS China).\n", + "type": "string" + }, + "region": { + "description": "Region identifier of the generated SPN (e.g., `us-east-1` in AWS Commercial, `cn-north-1` in AWS China).\n", + "type": "string" + }, + "serviceName": { + "type": "string" + }, + "suffix": { + "description": "Suffix of the SPN (e.g., `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China).\n", + "type": "string" + } + }, + "required": [ + "id", + "name", + "region", + "serviceName", + "suffix" + ], + "type": "object" + } + }, "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", "outputs": { diff --git a/provider/go.mod b/provider/go.mod index 1d4aa24898b..2b499eb2768 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -58,19 +58,19 @@ require ( github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/ProtonMail/go-crypto v1.1.0-alpha.3-proton // indirect + github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton // indirect github.com/YakDriver/go-version v0.1.0 // indirect - github.com/YakDriver/regexache v0.23.0 // indirect + github.com/YakDriver/regexache v0.24.0 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go v1.54.20 // indirect + github.com/aws/aws-sdk-go v1.55.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.27 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.9 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect @@ -81,8 +81,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/acmpca v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/amp v1.27.3 // indirect github.com/aws/aws-sdk-go-v2/service/amplify v1.23.3 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.3 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.3 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.4 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.3 // indirect github.com/aws/aws-sdk-go-v2/service/appflow v1.43.3 // indirect github.com/aws/aws-sdk-go-v2/service/appintegrations v1.27.3 // indirect @@ -91,11 +91,11 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.2.3 // indirect github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.3 // indirect github.com/aws/aws-sdk-go-v2/service/appstream v1.36.3 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.34.3 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.44.3 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.3 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/backup v1.36.3 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.43.0 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.5.3 // indirect @@ -106,7 +106,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chime v1.32.3 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.3 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.14.3 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.0 // indirect github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudformation v1.53.3 // indirect @@ -143,7 +143,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.30.3 // indirect github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.3 // indirect github.com/aws/aws-sdk-go-v2/service/datasync v1.40.3 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.13.2 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.15.0 // indirect github.com/aws/aws-sdk-go-v2/service/dax v1.21.3 // indirect github.com/aws/aws-sdk-go-v2/service/detective v1.29.3 // indirect github.com/aws/aws-sdk-go-v2/service/devicefarm v1.25.2 // indirect @@ -153,8 +153,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.36.3 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/drs v1.28.3 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.172.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.30.3 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.3 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.44.3 // indirect @@ -173,8 +173,10 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.26.3 // indirect github.com/aws/aws-sdk-go-v2/service/fms v1.35.3 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.47.2 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.91.0 // indirect github.com/aws/aws-sdk-go-v2/service/grafana v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.3 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.29.3 // indirect @@ -182,6 +184,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/healthlake v1.26.3 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.34.3 // indirect github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.3 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector v1.23.3 // indirect github.com/aws/aws-sdk-go-v2/service/inspector2 v1.28.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect @@ -192,13 +195,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/iot v1.55.3 // indirect github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ivs v1.37.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ivs v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.19.3 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.52.3 // indirect github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.3 // indirect github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.3 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.28.2 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.3 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.56.3 // indirect @@ -211,7 +216,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.57.3 // indirect github.com/aws/aws-sdk-go-v2/service/medialive v1.55.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.3 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.14.3 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.3 // indirect github.com/aws/aws-sdk-go-v2/service/mq v1.25.3 // indirect github.com/aws/aws-sdk-go-v2/service/mwaa v1.29.4 // indirect @@ -234,7 +239,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rds v1.81.5 // indirect github.com/aws/aws-sdk-go-v2/service/redshift v1.46.4 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.27.3 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.20.3 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.0 // indirect github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.2 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.3 // indirect github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.24.3 // indirect @@ -284,7 +289,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/xray v1.27.3 // indirect github.com/aws/smithy-go v1.20.3 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/beevik/etree v1.4.0 // indirect + github.com/beevik/etree v1.4.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect diff --git a/provider/go.sum b/provider/go.sum index 79cd30c4ca7..4a95391827b 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1188,12 +1188,12 @@ github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5 github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= -github.com/ProtonMail/go-crypto v1.1.0-alpha.3-proton h1:0RXAi0EJFs81j+MMsqvHNuAUGWzeVfCO9LnHAfoQ8NA= -github.com/ProtonMail/go-crypto v1.1.0-alpha.3-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton h1:KVBEgU3CJpmzLChnLiSuEyCuhGhcMt3eOST+7A+ckto= +github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/YakDriver/go-version v0.1.0 h1:/x+Xg2+l89Mjtxl0VRf2+ue8cnHkw6jfYv49j6f7gZw= github.com/YakDriver/go-version v0.1.0/go.mod h1:LXwFAp1E3KBhS7FHO/FE8r3XCmvKizs/VXXXFWfoSYY= -github.com/YakDriver/regexache v0.23.0 h1:kv3j4XKhbx/vqUilSBgizXDUXHvvH1KdYekdmGwz4C4= -github.com/YakDriver/regexache v0.23.0/go.mod h1:K4BZ3MYKAqSFbYWqmbsG+OzYUDyJjnMEr27DJEsVG3U= +github.com/YakDriver/regexache v0.24.0 h1:zUKaixelkswzdqsqPc2sveiV//Mi/msJn0teG8zBDiA= +github.com/YakDriver/regexache v0.24.0/go.mod h1:awcd8uBj614F3ScW06JqlfSGqq2/7vdJHy+RiKzVC+g= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= @@ -1234,8 +1234,8 @@ github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3A github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.54.20 h1:FZ2UcXya7bUkvkpf7TaPmiL7EubK0go1nlXGLRwEsoo= -github.com/aws/aws-sdk-go v1.54.20/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go v1.55.2 h1:/2OFM8uFfK9e+cqHTw9YPrvTzIXT2XkFGXRM7WbJb7E= +github.com/aws/aws-sdk-go v1.55.2/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg= @@ -1246,8 +1246,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.17.27 h1:2raNba6gr2IfA0eqqiP2XiQ0UVO github.com/aws/aws-sdk-go-v2/credentials v1.17.27/go.mod h1:gniiwbGahQByxan6YjQUMcW4Aov6bLC3m+evgcoN4r4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 h1:KreluoV8FZDEtI6Co2xuNk/UqI9iwMrOx/87PBNIKqw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11/go.mod h1:SeSUYBLsMYFoRvHE0Tjvn7kbxaUhl75CJi1sbfhMxkU= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 h1:u1KOU1S15ufyZqmH/rA3POkiRH6EcDANHj2xHRzq+zc= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8/go.mod h1:WPv2FRnkIOoDv/8j2gSUsI4qDc7392w5anFB/I89GZ8= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.9 h1:TC2vjvaAv1VNl9A0rm+SeuBjrzXnrlwk6Yop+gKRi38= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.9/go.mod h1:WPv2FRnkIOoDv/8j2gSUsI4qDc7392w5anFB/I89GZ8= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= @@ -1268,10 +1268,10 @@ github.com/aws/aws-sdk-go-v2/service/amp v1.27.3 h1:o1cMErMp45oKZ2ScvBOdVXYhvu6F github.com/aws/aws-sdk-go-v2/service/amp v1.27.3/go.mod h1:TuSBSV1IedYHHrC4A3bW84WjQXNSzc6XasgvuDRDb4E= github.com/aws/aws-sdk-go-v2/service/amplify v1.23.3 h1:Plmg9O8/Pt4SKvPtUfSqCfv+SSSllouzlISFcvHK4bM= github.com/aws/aws-sdk-go-v2/service/amplify v1.23.3/go.mod h1:aP9g/m4SSSWUU+htIGXJIY8qy+pGydwr3gpt3OcjBJE= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.3 h1:vAtlXN1IZ+2etHppbmgbPw0ADNVRXS0Dfff/mPRLC3Y= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.3/go.mod h1:jmTl7BrsxCEUl4HwtL9tCDVfmSmCwatcUQA7QXgtT34= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.3 h1:g99B1JOPkygjlDAjsD0xhvWifAs25Xw9SJ9WwC9Rn20= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.3/go.mod h1:IN1OJRdB0VVSXsx1wlEfaDPpuXwSPkAVjhj7R5iSKsU= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.4 h1:tya0sBEw+Sb9ztjykjX+InfZLufo4v1XyXhy4uPsyW4= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.25.4/go.mod h1:jmTl7BrsxCEUl4HwtL9tCDVfmSmCwatcUQA7QXgtT34= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.4 h1:CRu+uzE4qzjJBNkcwCKdzGzx1bMPsmulB7q8qyoa6FI= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.22.4/go.mod h1:IN1OJRdB0VVSXsx1wlEfaDPpuXwSPkAVjhj7R5iSKsU= github.com/aws/aws-sdk-go-v2/service/appconfig v1.31.3 h1:nQVKaNJ8VrSKJpGQgzb+HVlrd8ehMuqYXF3Em+UK3P8= github.com/aws/aws-sdk-go-v2/service/appconfig v1.31.3/go.mod h1:tRgqJ4QiuXQeZ0QNDF6jdr+ImyXz5J4ystLtgUxPsD8= github.com/aws/aws-sdk-go-v2/service/appfabric v1.9.3 h1:Vz7if7/byANRrsN9Z0VQm1ZUff5iep5uZN16F7Z2A6c= @@ -1290,16 +1290,16 @@ github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.3 h1:x6wptcqKbH2eQw7v43MI25 github.com/aws/aws-sdk-go-v2/service/apprunner v1.30.3/go.mod h1:buTv8bJjlKxqALyK7/2G1206H/YYllu0R/F9Hz0rhv4= github.com/aws/aws-sdk-go-v2/service/appstream v1.36.3 h1:msS6jU0f3kTgLfUQk7JxazMbfwG5/RbsOwiwXDBO9IU= github.com/aws/aws-sdk-go-v2/service/appstream v1.36.3/go.mod h1:zgB9SASIAI0KWFuUSlo9pGC37f6DDjh1ZJfZEhQcPhU= -github.com/aws/aws-sdk-go-v2/service/appsync v1.34.3 h1:th1DsTjU1sw61RM9rW5g5c61QP1awuWt+zGBYFSIgb0= -github.com/aws/aws-sdk-go-v2/service/appsync v1.34.3/go.mod h1:1BIEiY+76rNP8PEcv/Iyt7ybml38JqitIbrHfMDEYb8= +github.com/aws/aws-sdk-go-v2/service/appsync v1.35.0 h1:JAfFXlcC/DzLu6+5QOMAHCCq0spH59Ex00idQUyWkyM= +github.com/aws/aws-sdk-go-v2/service/appsync v1.35.0/go.mod h1:1BIEiY+76rNP8PEcv/Iyt7ybml38JqitIbrHfMDEYb8= github.com/aws/aws-sdk-go-v2/service/athena v1.44.3 h1:T2tJUqFEs8+2944NHspI3dRFELzKH4HfPXdrrIy18WA= github.com/aws/aws-sdk-go-v2/service/athena v1.44.3/go.mod h1:Vn+X6oPpEMNBFAlGGHHNiNc+Tk10F3dPYLbtbED7fIE= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.3 h1:bUG4DuAXPb0inqsuG/kugMUwsJxxc2l7Sw2+jR+lvmI= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.35.3/go.mod h1:2uO8WcgMPuckIGMQd4HpDsUFhE8G6t3MkMNnrqREnl0= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3 h1:y4kBd6IXizNoJ1QnVa1kFFmonxnv6mm6z+q7z0Jkdhg= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3/go.mod h1:j2WsKJ/NQS+y8JUgpv+BBzyzddNZP2SG60fB5aQBZaA= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.3 h1:DnZw/gxHCBnqOVi/ML/E3QFYVF3/lIV/j8FhyTS7JWo= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.3/go.mod h1:yda4Po8TZKCPFw7B3f4KfoRV308C+6sriJmuuTRSvlU= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.4 h1:zxtR1VT3JZubNppgivw4mXELqHQcE6dcd5vi2bIVwC0= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.22.4/go.mod h1:yda4Po8TZKCPFw7B3f4KfoRV308C+6sriJmuuTRSvlU= github.com/aws/aws-sdk-go-v2/service/backup v1.36.3 h1:8yBWFpIBlL8uOHKFgWykiRnku2wQVQP+hF91/FKFdnc= github.com/aws/aws-sdk-go-v2/service/backup v1.36.3/go.mod h1:HLROV+NOBQ/hGMGc72X65qRctcEIKvaf6k7PekTLw+k= github.com/aws/aws-sdk-go-v2/service/batch v1.43.0 h1:LQDwHqwORPQC1cP8iF+gaEbw6gFNVQ88m8qa66ou8d0= @@ -1320,8 +1320,8 @@ github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.3 h1:NY/98Ry+J github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.18.3/go.mod h1:AC5wH108q+kaTSjuQoKoKCH4fxGKoteUMRPb0wLYzGI= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.3 h1:e8mAmTy94SOhD/KdTRpocBj6+KOyxjQg7JYN1oBjT08= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.17.3/go.mod h1:Snfhyz0+wdVWPaqSLP2Bf3nziCeyP61AzEzwnxEhbWY= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.14.3 h1:GDqMlQfhiyBD3pWTY2JanoTyCmCMdWu8BejrYU1qQXs= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.14.3/go.mod h1:mRQ3DX5oSX/YETFLFjY4JNyerAE1yrumwZgYcmktrAk= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.0 h1:0YTsf85vAKDtpEZDWZDU4gVM4wgAAbKpCbeVOS0OIf4= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.16.0/go.mod h1:mRQ3DX5oSX/YETFLFjY4JNyerAE1yrumwZgYcmktrAk= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.3 h1:QBP3/69oA+0+j5oNHXL/V8Hj4NTEjYZaOXHPNFhbFv0= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.26.3/go.mod h1:ehJ9aR1QffkV/66jI90pJ05g2qCOIMuOLsuSkJ93cHc= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.20.3 h1:QdoWu2A7sOU7g38Uj1dH9rCvJcINiAV7B/exER1AOKo= @@ -1394,8 +1394,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.3 h1:kA26fZh30b6kOZZIkxr github.com/aws/aws-sdk-go-v2/service/datapipeline v1.23.3/go.mod h1:9Z4AiKwAlu2eXOPFEDfkLV/wTpI9o2FX09M4l6E4VE4= github.com/aws/aws-sdk-go-v2/service/datasync v1.40.3 h1:ZrKMl8jsL5YHurOLf0YVLb7JBYxGtqQQAknJ5g4MTz4= github.com/aws/aws-sdk-go-v2/service/datasync v1.40.3/go.mod h1:+ObRlRcKO/p38yJSkpVZKlCU3t9PqXMORXC+xTkb9NU= -github.com/aws/aws-sdk-go-v2/service/datazone v1.13.2 h1:9l6JiWZz/2Sp3ne9E/AXECwnzi7NASQUJnQ7xts/8oA= -github.com/aws/aws-sdk-go-v2/service/datazone v1.13.2/go.mod h1:li7vb6Ip/zyT59298XmAhs+dtXR2GqHXQlIdgL3QycE= +github.com/aws/aws-sdk-go-v2/service/datazone v1.15.0 h1:V0nzmfOqo7+N8Y3F52HpJYd8BDpvGHytVIPjkBHwENQ= +github.com/aws/aws-sdk-go-v2/service/datazone v1.15.0/go.mod h1:li7vb6Ip/zyT59298XmAhs+dtXR2GqHXQlIdgL3QycE= github.com/aws/aws-sdk-go-v2/service/dax v1.21.3 h1:uGHbOU0lBxntNZ/+Y2HbVo//AVFdl/BpMz7viHf/r8M= github.com/aws/aws-sdk-go-v2/service/dax v1.21.3/go.mod h1:FNgKx9JXy9L0bThUl86EMV9gwUgqf2eexpitcne/AXc= github.com/aws/aws-sdk-go-v2/service/detective v1.29.3 h1:HimZr2FJaLzxinq9QypFY2gGM+40pMWPwxB+ZNTkfNI= @@ -1414,10 +1414,10 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.3 h1:1DLJ+BTpBLXMuWJPHPo github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.11.3/go.mod h1:wZl6Satx8GY99iRC/wA5nsPOCPOnnaizt/kb1t6hSRk= github.com/aws/aws-sdk-go-v2/service/drs v1.28.3 h1:ss4Ib/kWbYA4pveQtSOluDE/Kf0e0jQ9SPwltAmRxKY= github.com/aws/aws-sdk-go-v2/service/drs v1.28.3/go.mod h1:tjzPl3EOCkojHm9Q4y+Kuq7GGSJJw/P0UIqc4eHvtFI= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3 h1:nEhZKd1JQ4EB1tekcqW1oIVpDC1ZFrjrp/cLC5MXjFQ= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.3/go.mod h1:q9vzW3Xr1KEXa8n4waHiFt1PrppNDlMymlYP+xpsFbY= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0 h1:r398oizT1O8AdQGpnxOMOIstEAAb3PPW5QZsL8w4Ujc= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.171.0/go.mod h1:9KdiRVKTZyPRTlbX3i41FxTV+5OatZ7xOJCN4lleX7g= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4 h1:utG3S4T+X7nONPIpRoi1tVcQdAdJxntiVS2yolPJyXc= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.34.4/go.mod h1:q9vzW3Xr1KEXa8n4waHiFt1PrppNDlMymlYP+xpsFbY= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.172.0 h1:lJjLKG92RyKIIYujVvulR3JpVjr3yxaU34nwXCq8K2o= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.172.0/go.mod h1:o6QDjdVKpP5EF0dp/VlvqckzuSDATr1rLdHt3A5m0YY= github.com/aws/aws-sdk-go-v2/service/ecr v1.30.3 h1:+v2hv29pWaVDASIScHuUhDC93nqJGVlGf6cujrJMHZE= github.com/aws/aws-sdk-go-v2/service/ecr v1.30.3/go.mod h1:RhaP7Wil0+uuuhiE4FzOOEFZwkmFAk1ZflXzK+O3ptU= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.3 h1:n2eqzO9VabUkd77b88Hos6OEtbGohB/TRrtXLTZi38Y= @@ -1456,10 +1456,14 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.26.3 h1:NwddG0xUTBM2zoq4D8rotQmT2Z/S github.com/aws/aws-sdk-go-v2/service/fis v1.26.3/go.mod h1:QmdVf0N/vrhckZLHK4x+f+u9EUuMhetsRgu1rjU1eL0= github.com/aws/aws-sdk-go-v2/service/fms v1.35.3 h1:QeYAz3JhpkTxkS+fifDBfmgWFdSRBI21MQzN2bCO1xo= github.com/aws/aws-sdk-go-v2/service/fms v1.35.3/go.mod h1:GXASgVouW5X/bmEgOoV/tkzJkp5ib7ZeA+YxMc5piqs= +github.com/aws/aws-sdk-go-v2/service/fsx v1.47.2 h1:EDZ4UX4c8NJl5Zm2tj1OlbVdNA0wv2xNt55L6g38Va4= +github.com/aws/aws-sdk-go-v2/service/fsx v1.47.2/go.mod h1:OKCxqzNOd8LpwsIgoWIhjTkDONHuv3uLoObiT/fbS4Q= github.com/aws/aws-sdk-go-v2/service/glacier v1.24.3 h1:de8RU808VMx8km6t2wY3WDWigB6GqbNEcyVQRJFaIYs= github.com/aws/aws-sdk-go-v2/service/glacier v1.24.3/go.mod h1:F/qjepwnxPHHUTK9ikZp14jLyrvB18kZ/22MmaPxtHE= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.0 h1:nlm6tZX8gwsVktDKTQe3IOagNVK1+6CGf9IpdWM6x+E= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.27.0/go.mod h1:ehkx8lBkJkZbdKYX2GyMFmdOAfcGs0mjcbaNXNiHAEE= +github.com/aws/aws-sdk-go-v2/service/glue v1.91.0 h1:fJrpIIUxuWeyT22DgPN6GtNWwW28UDYsbm47AUJ4JcI= +github.com/aws/aws-sdk-go-v2/service/glue v1.91.0/go.mod h1:FewbVAhRiTt+/8nKDBFTY68lTmtKlI6QMPKMB6aMboQ= github.com/aws/aws-sdk-go-v2/service/grafana v1.24.3 h1:riHLAJSqo5zczCyMSo8XDA46X2aDpQvB46F0seKuNEM= github.com/aws/aws-sdk-go-v2/service/grafana v1.24.3/go.mod h1:2ipW9QX9MlePs99Dy8ohwfdW847hMJG6BU9jvixIpxE= github.com/aws/aws-sdk-go-v2/service/greengrass v1.25.3 h1:5KauP/IHPWGoHni4mt2Sjp0EtHMkdWtPP3v81qaHHyg= @@ -1474,6 +1478,8 @@ github.com/aws/aws-sdk-go-v2/service/iam v1.34.3 h1:p4L/tixJ3JUIxCteMGT6oMlqCbEv github.com/aws/aws-sdk-go-v2/service/iam v1.34.3/go.mod h1:rfOWxxwdecWvSC9C2/8K/foW3Blf+aKnIIPP9kQ2DPE= github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.3 h1:eiL4q6pEzvazErz3gBOoP9hDm3Ul8pV69Qn7BrPARrU= github.com/aws/aws-sdk-go-v2/service/identitystore v1.25.3/go.mod h1:oNDSqrUg2dofbodrdr9fBzJ6dX8Lkh/2xN7LXXdvr5A= +github.com/aws/aws-sdk-go-v2/service/inspector v1.23.3 h1:PeYP2Fdsdh/M5qDytEwc6wjjrG22MNxD5xFHEosCS2k= +github.com/aws/aws-sdk-go-v2/service/inspector v1.23.3/go.mod h1:vbORvzmTKicdDc7cyWs9vh1YiSUC2PJE/PvvDlfTC2s= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.28.3 h1:dscyhNwL1v6pYPCflnp8/jBMeCC5y5Vn8npXmM/EE78= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.28.3/go.mod h1:EI8IxOq2F4KHZQQEB4rmQPXmYILE2avtX6wOiR8A5XQ= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= @@ -1494,8 +1500,8 @@ github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.3 h1:SEt8SRvlGvnOkqDV5PJ github.com/aws/aws-sdk-go-v2/service/iotanalytics v1.24.3/go.mod h1:XDi19IK0UluaSVnm1mu2AakZKHtWjg6gksitvH7+LQw= github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.3 h1:9Lao6kmD9P+yywuIn9I8hrraJ2jHIztU/GJspIxn6lA= github.com/aws/aws-sdk-go-v2/service/iotevents v1.25.3/go.mod h1:V2BDVrnP+Tn+MM1xxFI7Qcb+YPhiGgY5PUoKzrKHaCQ= -github.com/aws/aws-sdk-go-v2/service/ivs v1.37.3 h1:gBK4NPueWRWK/zma5K3Hc3/hZhoYuKw00Ed2GzOVhg8= -github.com/aws/aws-sdk-go-v2/service/ivs v1.37.3/go.mod h1:gDKrqL8b+YVQ7C/Y152MZ0AxXP6FaksuQ3dbzGCpD7Y= +github.com/aws/aws-sdk-go-v2/service/ivs v1.38.0 h1:j2Y9xmUaVRBlfXWXMI289YsfcUHicfKndJ+PagiCyeQ= +github.com/aws/aws-sdk-go-v2/service/ivs v1.38.0/go.mod h1:gDKrqL8b+YVQ7C/Y152MZ0AxXP6FaksuQ3dbzGCpD7Y= github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.4 h1:isEOoNaq94Wh+x1tt8ScUeV+oQUH2I+5zjCmqCkUa/g= github.com/aws/aws-sdk-go-v2/service/ivschat v1.14.4/go.mod h1:rtw6VOH+4X/TWoOKQlOC+oq/WBDJD4BqaPi930II6Mk= github.com/aws/aws-sdk-go-v2/service/kafka v1.35.3 h1:MUx27PrqicGxgsiDWo7xv/Zsl4b0X8kHCRvMpX7XrQs= @@ -1508,6 +1514,10 @@ github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.3 h1:25HN/tJRRf0rwPzDpNyTAL github.com/aws/aws-sdk-go-v2/service/keyspaces v1.12.3/go.mod h1:/sTpi3FG4DsTSTabyXfKXypVEjCuNU/8jxTCQLWYRZQ= github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3 h1:ktR7RUdUQ8m9rkgCPRsS7iTJgFp9MXEX0nltrT8bxY4= github.com/aws/aws-sdk-go-v2/service/kinesis v1.29.3/go.mod h1:hufTMUGSlcBLGgs6leSPbDfY1sM3mrO2qjtVkPMTDhE= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.3 h1:jlRe7BuV+4SghH9MR+H3NI5Y2i4BMg9Z00fWBryjqp8= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.23.3/go.mod h1:qb0UKyBXIZbkXmn8M3WoRRZPyfbr1exhN1F21Od1S2o= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.28.2 h1:0ihcsCNzq2iuIaNEiLDFd7YcUKnuhNvKjoGWV+WaEpA= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.28.2/go.mod h1:MTVEJMay748rHk8FSi6SqxyOsehY0dbcG+R+KOp9Oig= github.com/aws/aws-sdk-go-v2/service/kms v1.35.3 h1:UPTdlTOwWUX49fVi7cymEN6hDqCwe3LNv1vi7TXUutk= github.com/aws/aws-sdk-go-v2/service/kms v1.35.3/go.mod h1:gjDP16zn+WWalyaUqwCCioQ8gU8lzttCCc9jYsiQI/8= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.35.3 h1:Rfl7JjXVdriUprd8TTlbgcTyPU/Pl+v/O/nMD9HYpgA= @@ -1532,8 +1542,8 @@ github.com/aws/aws-sdk-go-v2/service/medialive v1.55.0 h1:H1cqEGQ5rFpTPZawnOH8tx github.com/aws/aws-sdk-go-v2/service/medialive v1.55.0/go.mod h1:49kVyWdlOWpusFyzDrmxCG9PqXlKtpKmHYoTv5h1O5k= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.3 h1:fBtklFkqk6QhJBzSBgNJiwWySt1RvspmvCvY+giXgdI= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.32.3/go.mod h1:BejXbLdRRWr6uMl4wZrz3iAcJDVgJu3EEstqDq8wxEE= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.14.3 h1:ytQ77lC/wrYatbiLSZlYSpgjzvtgXBey0xxRsBA4swY= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.14.3/go.mod h1:+R07/s3U8lJzEZDiwFxv/jmlSNbQjnoSqKaZEoqWt5Y= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.0 h1:1uii7pAgncfem27f3/Fi86kXK0TASrbujiq1Wn0ETA0= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.15.0/go.mod h1:+R07/s3U8lJzEZDiwFxv/jmlSNbQjnoSqKaZEoqWt5Y= github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.3 h1:WBVRvc0iIJdbdCkBjWRMVtUOMmAvOyN70x1KrBTOFm0= github.com/aws/aws-sdk-go-v2/service/mediastore v1.22.3/go.mod h1:plJWP1InGjEZiJvXfTlBqTBeMW8ddEZeIdYYFTYZMyE= github.com/aws/aws-sdk-go-v2/service/mq v1.25.3 h1:SyRcb9GRPcoNKCuLnpj1qGIr/8stnVIf4DsuRhXIzEA= @@ -1578,8 +1588,8 @@ github.com/aws/aws-sdk-go-v2/service/redshift v1.46.4 h1:wNBruTRRDfBv2Pz3Mvw6JIJ github.com/aws/aws-sdk-go-v2/service/redshift v1.46.4/go.mod h1:AhuwOvTE4nMwWfJQNZ2khZGV9yXexB2MjNYtCuLQA4s= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.27.3 h1:rtX1ZHGPpqbQGZlPuN1u7nA+0zjq0DB7QTVNlYY/gfw= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.27.3/go.mod h1:8Ah7aUFE9G0dppkn6ZXn1iExeHUV4369IJ2GRi7++Y0= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.20.3 h1:dZTe+TGD6B15Qhhugp4MUOCLPzaODOxc5qc6K5/yZDA= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.20.3/go.mod h1:oJRMDbpdkGsrRiSmJUumhj4KuXdP4QN9A5AK1rE0xps= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.0 h1:tXS6MbDl8H0qzH2u42M//Zq8/bNmhDioQXu+9PWFOA4= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.21.0/go.mod h1:oJRMDbpdkGsrRiSmJUumhj4KuXdP4QN9A5AK1rE0xps= github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.2 h1:nrR1xZ6QoW7lUvFmLHOwTK2n25nnuPhP2f++C3DlPRc= github.com/aws/aws-sdk-go-v2/service/rekognition v1.43.2/go.mod h1:UkvOY/p1SKtJgzvwmlPnrFWOP2kj6efrbcbQHFy9qvM= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.12.3 h1:GEkqXpMrNF6UpC8edjE66HZgVpqppvxxMRhHcBbyQiU= @@ -1682,8 +1692,8 @@ github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= -github.com/beevik/etree v1.4.0 h1:oz1UedHRepuY3p4N5OjE0nK1WLCqtzHf25bxplKOHLs= -github.com/beevik/etree v1.4.0/go.mod h1:cyWiXwGoasx60gHvtnEh5x8+uIjUVnjWqBvEnhnqKDA= +github.com/beevik/etree v1.4.1 h1:PmQJDDYahBGNKDcpdX8uPy1xRCwoCGVUiW669MEirVI= +github.com/beevik/etree v1.4.1/go.mod h1:gPNJNaBGVZ9AwsidazFZyygnd+0pAU38N4D+WemwKNs= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= diff --git a/provider/resources.go b/provider/resources.go index 25bb071c289..3b95d0eacb1 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -4752,6 +4752,7 @@ compatibility shim in favor of the new "name" field.`) "aws_partition": {Tok: awsDataSource(awsMod, "getPartition")}, "aws_region": {Tok: awsDataSource(awsMod, "getRegion")}, "aws_regions": {Tok: awsDataSource(awsMod, "getRegions")}, + "aws_service_principal": {Tok: awsDataSource(awsMod, "getServicePrincipal")}, "aws_default_tags": {Tok: awsDataSource(awsMod, "getDefaultTags")}, "aws_service": {Tok: awsDataSource(awsMod, "getService")}, // AWS Certificate Manager diff --git a/scripts/upgrade_upstream.sh b/scripts/upgrade_upstream.sh deleted file mode 100755 index 0def9fc060d..00000000000 --- a/scripts/upgrade_upstream.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -: "${NEW_VERSION?Need to set NEW_VERSION, example: 'v5.47.0'}" - -# After this command ./upstream will be on pulumi-patch branch with every patch as commit. -make upstream.rebase - -# Now it is possible to use Git tools to rebase the patches-as-commits onto a new version. -(cd upstream && git rebase --onto "$NEW_VERSION" local pulumi-patch) - -echo "Please finish Git rebase of ./upstream and call ./scripts/upgrade_upstream_done.sh" diff --git a/scripts/upgrade_upstream_done.sh b/scripts/upgrade_upstream_done.sh deleted file mode 100755 index a798b5ebc0e..00000000000 --- a/scripts/upgrade_upstream_done.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -: "${NEW_VERSION?Need to set NEW_VERSION, example: 'v5.40.0'}" - -cd upstream - -# Now upstream will be moving -git checkout local -git reset --hard "$NEW_VERSION" -cd .. - -git branch "upstream-${NEW_VERSION}" -git checkout "upstream-${NEW_VERSION}" -git add ./upstream -git commit -m "Moving ./upstream to $NEW_VERSION" -cd upstream -git checkout pulumi-patch -cd .. - -# Convert ./upstream local..pulumi-patch diff back to patch files under ./patches -make upstream.finalize -git add ./patches -git commit -m 'Update patches' diff --git a/sdk/dotnet/AppFlow/Flow.cs b/sdk/dotnet/AppFlow/Flow.cs index 583af6aa1ee..ead89dde2ad 100644 --- a/sdk/dotnet/AppFlow/Flow.cs +++ b/sdk/dotnet/AppFlow/Flow.cs @@ -226,6 +226,12 @@ public partial class Flow : global::Pulumi.CustomResource [Output("kmsArn")] public Output KmsArn { get; private set; } = null!; + /// + /// A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + /// + [Output("metadataCatalogConfig")] + public Output MetadataCatalogConfig { get; private set; } = null!; + /// /// Name of the flow. /// @@ -332,6 +338,12 @@ public InputList DestinationFlowConfigs [Input("kmsArn")] public Input? KmsArn { get; set; } + /// + /// A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + /// + [Input("metadataCatalogConfig")] + public Input? MetadataCatalogConfig { get; set; } + /// /// Name of the flow. /// @@ -418,6 +430,12 @@ public InputList DestinationFlowConfigs [Input("kmsArn")] public Input? KmsArn { get; set; } + /// + /// A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + /// + [Input("metadataCatalogConfig")] + public Input? MetadataCatalogConfig { get; set; } + /// /// Name of the flow. /// diff --git a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.cs index 6e545034ba0..79ae4fd62a0 100644 --- a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.cs +++ b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.cs @@ -18,6 +18,18 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3O [Input("prefixFormat")] public Input? PrefixFormat { get; set; } + [Input("prefixHierarchies")] + private InputList? _prefixHierarchies; + + /// + /// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + /// + public InputList PrefixHierarchies + { + get => _prefixHierarchies ?? (_prefixHierarchies = new InputList()); + set => _prefixHierarchies = value; + } + /// /// Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. /// diff --git a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigGetArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigGetArgs.cs index 6ffe273ba9a..be406e9919e 100644 --- a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigGetArgs.cs +++ b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigGetArgs.cs @@ -18,6 +18,18 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3O [Input("prefixFormat")] public Input? PrefixFormat { get; set; } + [Input("prefixHierarchies")] + private InputList? _prefixHierarchies; + + /// + /// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + /// + public InputList PrefixHierarchies + { + get => _prefixHierarchies ?? (_prefixHierarchies = new InputList()); + set => _prefixHierarchies = value; + } + /// /// Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. /// diff --git a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.cs index 008042cd1eb..2979f2e30be 100644 --- a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.cs +++ b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.cs @@ -18,6 +18,18 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsol [Input("prefixFormat")] public Input? PrefixFormat { get; set; } + [Input("prefixHierarchies")] + private InputList? _prefixHierarchies; + + /// + /// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + /// + public InputList PrefixHierarchies + { + get => _prefixHierarchies ?? (_prefixHierarchies = new InputList()); + set => _prefixHierarchies = value; + } + /// /// Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. /// diff --git a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigGetArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigGetArgs.cs index b525f3ff657..33f3d57c4a6 100644 --- a/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigGetArgs.cs +++ b/sdk/dotnet/AppFlow/Inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigGetArgs.cs @@ -18,6 +18,18 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsol [Input("prefixFormat")] public Input? PrefixFormat { get; set; } + [Input("prefixHierarchies")] + private InputList? _prefixHierarchies; + + /// + /// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + /// + public InputList PrefixHierarchies + { + get => _prefixHierarchies ?? (_prefixHierarchies = new InputList()); + set => _prefixHierarchies = value; + } + /// /// Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. /// diff --git a/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigArgs.cs new file mode 100644 index 00000000000..86e571e27ea --- /dev/null +++ b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppFlow.Inputs +{ + + public sealed class FlowMetadataCatalogConfigArgs : global::Pulumi.ResourceArgs + { + [Input("glueDataCatalog")] + public Input? GlueDataCatalog { get; set; } + + public FlowMetadataCatalogConfigArgs() + { + } + public static new FlowMetadataCatalogConfigArgs Empty => new FlowMetadataCatalogConfigArgs(); + } +} diff --git a/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGetArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGetArgs.cs new file mode 100644 index 00000000000..39ea3ebecf9 --- /dev/null +++ b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppFlow.Inputs +{ + + public sealed class FlowMetadataCatalogConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("glueDataCatalog")] + public Input? GlueDataCatalog { get; set; } + + public FlowMetadataCatalogConfigGetArgs() + { + } + public static new FlowMetadataCatalogConfigGetArgs Empty => new FlowMetadataCatalogConfigGetArgs(); + } +} diff --git a/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.cs new file mode 100644 index 00000000000..e08b77456ea --- /dev/null +++ b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppFlow.Inputs +{ + + public sealed class FlowMetadataCatalogConfigGlueDataCatalogArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + /// + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + /// + /// The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + /// + /// A naming prefix for each Data Catalog table that Amazon AppFlow creates + /// + [Input("tablePrefix", required: true)] + public Input TablePrefix { get; set; } = null!; + + public FlowMetadataCatalogConfigGlueDataCatalogArgs() + { + } + public static new FlowMetadataCatalogConfigGlueDataCatalogArgs Empty => new FlowMetadataCatalogConfigGlueDataCatalogArgs(); + } +} diff --git a/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogGetArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogGetArgs.cs new file mode 100644 index 00000000000..a886e53f688 --- /dev/null +++ b/sdk/dotnet/AppFlow/Inputs/FlowMetadataCatalogConfigGlueDataCatalogGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppFlow.Inputs +{ + + public sealed class FlowMetadataCatalogConfigGlueDataCatalogGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + /// + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + /// + /// The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + /// + /// A naming prefix for each Data Catalog table that Amazon AppFlow creates + /// + [Input("tablePrefix", required: true)] + public Input TablePrefix { get; set; } = null!; + + public FlowMetadataCatalogConfigGlueDataCatalogGetArgs() + { + } + public static new FlowMetadataCatalogConfigGlueDataCatalogGetArgs Empty => new FlowMetadataCatalogConfigGlueDataCatalogGetArgs(); + } +} diff --git a/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.cs b/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.cs index 4cf32626a5d..32bc5fc1fc9 100644 --- a/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.cs +++ b/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.cs @@ -18,6 +18,10 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3O /// public readonly string? PrefixFormat; /// + /// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + /// + public readonly ImmutableArray PrefixHierarchies; + /// /// Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. /// public readonly string? PrefixType; @@ -26,9 +30,12 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3O private FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig( string? prefixFormat, + ImmutableArray prefixHierarchies, + string? prefixType) { PrefixFormat = prefixFormat; + PrefixHierarchies = prefixHierarchies; PrefixType = prefixType; } } diff --git a/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.cs b/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.cs index 89325173b1f..fab3fe24a72 100644 --- a/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.cs +++ b/sdk/dotnet/AppFlow/Outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.cs @@ -18,6 +18,10 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsol /// public readonly string? PrefixFormat; /// + /// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + /// + public readonly ImmutableArray PrefixHierarchies; + /// /// Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. /// public readonly string PrefixType; @@ -26,9 +30,12 @@ public sealed class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsol private FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig( string? prefixFormat, + ImmutableArray prefixHierarchies, + string prefixType) { PrefixFormat = prefixFormat; + PrefixHierarchies = prefixHierarchies; PrefixType = prefixType; } } diff --git a/sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfig.cs b/sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfig.cs new file mode 100644 index 00000000000..190e8bdcbe1 --- /dev/null +++ b/sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfig.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppFlow.Outputs +{ + + [OutputType] + public sealed class FlowMetadataCatalogConfig + { + public readonly Outputs.FlowMetadataCatalogConfigGlueDataCatalog? GlueDataCatalog; + + [OutputConstructor] + private FlowMetadataCatalogConfig(Outputs.FlowMetadataCatalogConfigGlueDataCatalog? glueDataCatalog) + { + GlueDataCatalog = glueDataCatalog; + } + } +} diff --git a/sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfigGlueDataCatalog.cs b/sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfigGlueDataCatalog.cs new file mode 100644 index 00000000000..a62486e429c --- /dev/null +++ b/sdk/dotnet/AppFlow/Outputs/FlowMetadataCatalogConfigGlueDataCatalog.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppFlow.Outputs +{ + + [OutputType] + public sealed class FlowMetadataCatalogConfigGlueDataCatalog + { + /// + /// The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + /// + public readonly string DatabaseName; + /// + /// The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + /// + public readonly string RoleArn; + /// + /// A naming prefix for each Data Catalog table that Amazon AppFlow creates + /// + public readonly string TablePrefix; + + [OutputConstructor] + private FlowMetadataCatalogConfigGlueDataCatalog( + string databaseName, + + string roleArn, + + string tablePrefix) + { + DatabaseName = databaseName; + RoleArn = roleArn; + TablePrefix = tablePrefix; + } + } +} diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesArgs.cs index 92fcc5e4062..eff2726ae0a 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesArgs : global::Pulumi.ResourceArgs { /// - /// The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + /// Properties for the Kubernetes pod resources of a job. See `pod_properties` below. /// [Input("podProperties", required: true)] public Input PodProperties { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesGetArgs.cs index 362a1c54567..1e64f3c1dc6 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesGetArgs : global::Pulumi.ResourceArgs { /// - /// The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + /// Properties for the Kubernetes pod resources of a job. See `pod_properties` below. /// [Input("podProperties", required: true)] public Input PodProperties { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesArgs.cs index 7f1488316ee..0f563be57f7 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesArgs.cs @@ -13,23 +13,35 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesArgs : global::Pulumi.ResourceArgs { /// - /// The properties of the container that's used on the Amazon EKS pod. See containers below. + /// Properties of the container that's used on the Amazon EKS pod. See containers below. /// [Input("containers", required: true)] public Input Containers { get; set; } = null!; /// - /// The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + /// DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. /// [Input("dnsPolicy")] public Input? DnsPolicy { get; set; } /// - /// Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + /// Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. /// [Input("hostNetwork")] public Input? HostNetwork { get; set; } + [Input("imagePullSecrets")] + private InputList? _imagePullSecrets; + + /// + /// List of Kubernetes secret resources. See `image_pull_secret` below. + /// + public InputList ImagePullSecrets + { + get => _imagePullSecrets ?? (_imagePullSecrets = new InputList()); + set => _imagePullSecrets = value; + } + /// /// Metadata about the Kubernetes pod. /// @@ -37,7 +49,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesArgs : global::Pulumi public Input? Metadata { get; set; } /// - /// The name of the service account that's used to run the pod. + /// Name of the service account that's used to run the pod. /// [Input("serviceAccountName")] public Input? ServiceAccountName { get; set; } @@ -46,7 +58,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesArgs : global::Pulumi private InputList? _volumes; /// - /// Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + /// Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. /// public InputList Volumes { diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.cs index c1541fa9de2..a21dd32cf93 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.cs @@ -16,7 +16,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesContainersArgs : glob private InputList? _args; /// - /// An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + /// Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. /// public InputList Args { @@ -28,7 +28,7 @@ public InputList Args private InputList? _commands; /// - /// The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + /// Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. /// public InputList Commands { @@ -40,7 +40,7 @@ public InputList Commands private InputList? _envs; /// - /// The environment variables to pass to a container. See EKS Environment below. + /// Environment variables to pass to a container. See EKS Environment below. /// public InputList Envs { @@ -49,31 +49,31 @@ public InputList - /// The Docker image used to start the container. + /// Docker image used to start the container. /// [Input("image", required: true)] public Input Image { get; set; } = null!; /// - /// The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + /// Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. /// [Input("imagePullPolicy")] public Input? ImagePullPolicy { get; set; } /// - /// The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + /// Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. /// [Input("name")] public Input? Name { get; set; } /// - /// The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + /// Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. /// [Input("resources")] public Input? Resources { get; set; } /// - /// The security context for a job. + /// Security context for a job. /// [Input("securityContext")] public Input? SecurityContext { get; set; } @@ -82,7 +82,7 @@ public InputList? _volumeMounts; /// - /// The volume mounts for the container. + /// Volume mounts for the container. /// public InputList VolumeMounts { diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs.cs index 7e36f636f14..cac4e2e0c4a 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name", required: true)] public Input Name { get; set; } = null!; /// - /// The value of the environment variable. + /// Value of the environment variable. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvGetArgs.cs index 1448634922b..62238e94396 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersEnvGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesContainersEnvGetArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name", required: true)] public Input Name { get; set; } = null!; /// - /// The value of the environment variable. + /// Value of the environment variable. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersGetArgs.cs index 67940546aab..36d097e03cf 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersGetArgs.cs @@ -16,7 +16,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesContainersGetArgs : g private InputList? _args; /// - /// An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + /// Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. /// public InputList Args { @@ -28,7 +28,7 @@ public InputList Args private InputList? _commands; /// - /// The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + /// Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. /// public InputList Commands { @@ -40,7 +40,7 @@ public InputList Commands private InputList? _envs; /// - /// The environment variables to pass to a container. See EKS Environment below. + /// Environment variables to pass to a container. See EKS Environment below. /// public InputList Envs { @@ -49,31 +49,31 @@ public InputList - /// The Docker image used to start the container. + /// Docker image used to start the container. /// [Input("image", required: true)] public Input Image { get; set; } = null!; /// - /// The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + /// Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. /// [Input("imagePullPolicy")] public Input? ImagePullPolicy { get; set; } /// - /// The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + /// Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. /// [Input("name")] public Input? Name { get; set; } /// - /// The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + /// Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. /// [Input("resources")] public Input? Resources { get; set; } /// - /// The security context for a job. + /// Security context for a job. /// [Input("securityContext")] public Input? SecurityContext { get; set; } @@ -82,7 +82,7 @@ public InputList? _volumeMounts; /// - /// The volume mounts for the container. + /// Volume mounts for the container. /// public InputList VolumeMounts { diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.cs index 77e7d03cb27..a55c6ec7b33 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.cs @@ -16,7 +16,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount public Input MountPath { get; set; } = null!; /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountGetArgs.cs index 0652775ad00..f370eced772 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountGetArgs.cs @@ -16,7 +16,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount public Input MountPath { get; set; } = null!; /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name", required: true)] public Input Name { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesGetArgs.cs index 26c97dd6348..6d0e981ef5a 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesGetArgs.cs @@ -13,23 +13,35 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesGetArgs : global::Pulumi.ResourceArgs { /// - /// The properties of the container that's used on the Amazon EKS pod. See containers below. + /// Properties of the container that's used on the Amazon EKS pod. See containers below. /// [Input("containers", required: true)] public Input Containers { get; set; } = null!; /// - /// The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + /// DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. /// [Input("dnsPolicy")] public Input? DnsPolicy { get; set; } /// - /// Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + /// Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. /// [Input("hostNetwork")] public Input? HostNetwork { get; set; } + [Input("imagePullSecrets")] + private InputList? _imagePullSecrets; + + /// + /// List of Kubernetes secret resources. See `image_pull_secret` below. + /// + public InputList ImagePullSecrets + { + get => _imagePullSecrets ?? (_imagePullSecrets = new InputList()); + set => _imagePullSecrets = value; + } + /// /// Metadata about the Kubernetes pod. /// @@ -37,7 +49,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesGetArgs : global::Pul public Input? Metadata { get; set; } /// - /// The name of the service account that's used to run the pod. + /// Name of the service account that's used to run the pod. /// [Input("serviceAccountName")] public Input? ServiceAccountName { get; set; } @@ -46,7 +58,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesGetArgs : global::Pul private InputList? _volumes; /// - /// Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + /// Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. /// public InputList Volumes { diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.cs new file mode 100644 index 00000000000..b4699c9261a --- /dev/null +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Batch.Inputs +{ + + public sealed class JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique identifier. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs() + { + } + public static new JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs Empty => new JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs(); + } +} diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs.cs new file mode 100644 index 00000000000..11629531bb4 --- /dev/null +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Batch.Inputs +{ + + public sealed class JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique identifier. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs() + { + } + public static new JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs Empty => new JobDefinitionEksPropertiesPodPropertiesImagePullSecretGetArgs(); + } +} diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.cs index 0011df60578..4feab4269e1 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.cs @@ -19,7 +19,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeArgs : global:: public Input? HostPath { get; set; } /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name")] public Input? Name { get; set; } diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.cs index 6426a74434e..f0e90648fdf 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs : global::Pulumi.ResourceArgs { /// - /// The medium to store the volume. The default value is an empty string, which uses the storage of the node. + /// Medium to store the volume. The default value is an empty string, which uses the storage of the node. /// [Input("medium")] public Input? Medium { get; set; } /// - /// The maximum size of the volume. By default, there's no maximum size defined. + /// Maximum size of the volume. By default, there's no maximum size defined. /// [Input("sizeLimit", required: true)] public Input SizeLimit { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirGetArgs.cs index 6b11fd57b31..7520ab9082c 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirGetArgs : global::Pulumi.ResourceArgs { /// - /// The medium to store the volume. The default value is an empty string, which uses the storage of the node. + /// Medium to store the volume. The default value is an empty string, which uses the storage of the node. /// [Input("medium")] public Input? Medium { get; set; } /// - /// The maximum size of the volume. By default, there's no maximum size defined. + /// Maximum size of the volume. By default, there's no maximum size defined. /// [Input("sizeLimit", required: true)] public Input SizeLimit { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeGetArgs.cs index 0816793352f..13b9600047d 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeGetArgs.cs @@ -19,7 +19,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeGetArgs : globa public Input? HostPath { get; set; } /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name")] public Input? Name { get; set; } diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.cs index c66f162205e..9062bcf7088 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs : global::Pulumi.ResourceArgs { /// - /// The path of the file or directory on the host to mount into containers on the pod. + /// Path of the file or directory on the host to mount into containers on the pod. /// [Input("path", required: true)] public Input Path { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathGetArgs.cs index b0320a3ed00..2c99b2cbaec 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeHostPathGetArgs : global::Pulumi.ResourceArgs { /// - /// The path of the file or directory on the host to mount into containers on the pod. + /// Path of the file or directory on the host to mount into containers on the pod. /// [Input("path", required: true)] public Input Path { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.cs index e93a1f80f56..064da184a36 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs : global::Pulumi.ResourceArgs { /// - /// Specifies whether the secret or the secret's keys must be defined. + /// Whether the secret or the secret's keys must be defined. /// [Input("optional")] public Input? Optional { get; set; } /// - /// The name of the secret. The name must be allowed as a DNS subdomain name. + /// Name of the secret. The name must be allowed as a DNS subdomain name. /// [Input("secretName", required: true)] public Input SecretName { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretGetArgs.cs index 488072ba2c5..8bfdb94b729 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeSecretGetArgs : global::Pulumi.ResourceArgs { /// - /// Specifies whether the secret or the secret's keys must be defined. + /// Whether the secret or the secret's keys must be defined. /// [Input("optional")] public Input? Optional { get; set; } /// - /// The name of the secret. The name must be allowed as a DNS subdomain name. + /// Name of the secret. The name must be allowed as a DNS subdomain name. /// [Input("secretName", required: true)] public Input SecretName { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyArgs.cs index 2cc2a6bd891..a53374e2d81 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionRetryStrategyArgs : global::Pulumi.ResourceArgs { /// - /// The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + /// Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. /// [Input("attempts")] public Input? Attempts { get; set; } @@ -22,7 +22,7 @@ public sealed class JobDefinitionRetryStrategyArgs : global::Pulumi.ResourceArgs private InputList? _evaluateOnExits; /// - /// The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + /// Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. /// public InputList EvaluateOnExits { diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs index 8793489783b..09add67cfa8 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs @@ -13,25 +13,25 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionRetryStrategyEvaluateOnExitArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + /// Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. /// [Input("action", required: true)] public Input Action { get; set; } = null!; /// - /// A glob pattern to match against the decimal representation of the exit code returned for a job. + /// Glob pattern to match against the decimal representation of the exit code returned for a job. /// [Input("onExitCode")] public Input? OnExitCode { get; set; } /// - /// A glob pattern to match against the reason returned for a job. + /// Glob pattern to match against the reason returned for a job. /// [Input("onReason")] public Input? OnReason { get; set; } /// - /// A glob pattern to match against the status reason returned for a job. + /// Glob pattern to match against the status reason returned for a job. /// [Input("onStatusReason")] public Input? OnStatusReason { get; set; } diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs index 0ede2dbbf41..13a94de0414 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs @@ -13,25 +13,25 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionRetryStrategyEvaluateOnExitGetArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + /// Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. /// [Input("action", required: true)] public Input Action { get; set; } = null!; /// - /// A glob pattern to match against the decimal representation of the exit code returned for a job. + /// Glob pattern to match against the decimal representation of the exit code returned for a job. /// [Input("onExitCode")] public Input? OnExitCode { get; set; } /// - /// A glob pattern to match against the reason returned for a job. + /// Glob pattern to match against the reason returned for a job. /// [Input("onReason")] public Input? OnReason { get; set; } /// - /// A glob pattern to match against the status reason returned for a job. + /// Glob pattern to match against the status reason returned for a job. /// [Input("onStatusReason")] public Input? OnStatusReason { get; set; } diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyGetArgs.cs index f879f77bdb0..88c27d34b35 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionRetryStrategyGetArgs : global::Pulumi.ResourceArgs { /// - /// The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + /// Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. /// [Input("attempts")] public Input? Attempts { get; set; } @@ -22,7 +22,7 @@ public sealed class JobDefinitionRetryStrategyGetArgs : global::Pulumi.ResourceA private InputList? _evaluateOnExits; /// - /// The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + /// Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. /// public InputList EvaluateOnExits { diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutArgs.cs index db21d31fa2c..2bb57030adf 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionTimeoutArgs : global::Pulumi.ResourceArgs { /// - /// The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + /// Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. /// [Input("attemptDurationSeconds")] public Input? AttemptDurationSeconds { get; set; } diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutGetArgs.cs index 528d68e8ac8..39cc3786f32 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionTimeoutGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionTimeoutGetArgs : global::Pulumi.ResourceArgs { /// - /// The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + /// Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. /// [Input("attemptDurationSeconds")] public Input? AttemptDurationSeconds { get; set; } diff --git a/sdk/dotnet/Batch/JobDefinition.cs b/sdk/dotnet/Batch/JobDefinition.cs index 011e788e99e..1f4c468cb46 100644 --- a/sdk/dotnet/Batch/JobDefinition.cs +++ b/sdk/dotnet/Batch/JobDefinition.cs @@ -302,19 +302,19 @@ namespace Pulumi.Aws.Batch public partial class JobDefinition : global::Pulumi.CustomResource { /// - /// The Amazon Resource Name of the job definition, includes revision (`:#`). + /// ARN of the job definition, includes revision (`:#`). /// [Output("arn")] public Output Arn { get; private set; } = null!; /// - /// The ARN without the revision number. + /// ARN without the revision number. /// [Output("arnPrefix")] public Output ArnPrefix { get; private set; } = null!; /// - /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + /// Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. /// [Output("containerProperties")] public Output ContainerProperties { get; private set; } = null!; @@ -326,55 +326,55 @@ public partial class JobDefinition : global::Pulumi.CustomResource public Output DeregisterOnNewRevision { get; private set; } = null!; /// - /// A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + /// Valid eks properties. This parameter is only valid if the `type` parameter is `container`. /// [Output("eksProperties")] public Output EksProperties { get; private set; } = null!; /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + /// Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. /// [Output("nodeProperties")] public Output NodeProperties { get; private set; } = null!; /// - /// Specifies the parameter substitution placeholders to set in the job definition. + /// Parameter substitution placeholders to set in the job definition. /// [Output("parameters")] public Output?> Parameters { get; private set; } = null!; /// - /// The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + /// Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. /// [Output("platformCapabilities")] public Output> PlatformCapabilities { get; private set; } = null!; /// - /// Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + /// Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. /// [Output("propagateTags")] public Output PropagateTags { get; private set; } = null!; /// - /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + /// Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. /// [Output("retryStrategy")] public Output RetryStrategy { get; private set; } = null!; /// - /// The revision of the job definition. + /// Revision of the job definition. /// [Output("revision")] public Output Revision { get; private set; } = null!; /// - /// The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + /// Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. /// [Output("schedulingPriority")] public Output SchedulingPriority { get; private set; } = null!; @@ -386,19 +386,19 @@ public partial class JobDefinition : global::Pulumi.CustomResource public Output?> Tags { get; private set; } = null!; /// - /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. /// [Output("tagsAll")] public Output> TagsAll { get; private set; } = null!; /// - /// Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + /// Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. /// [Output("timeout")] public Output Timeout { get; private set; } = null!; /// - /// The type of job definition. Must be `container` or `multinode`. + /// Type of job definition. Must be `container` or `multinode`. /// /// The following arguments are optional: /// @@ -452,7 +452,7 @@ public static JobDefinition Get(string name, Input id, JobDefinitionStat public sealed class JobDefinitionArgs : global::Pulumi.ResourceArgs { /// - /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + /// Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. /// [Input("containerProperties")] public Input? ContainerProperties { get; set; } @@ -464,19 +464,19 @@ public sealed class JobDefinitionArgs : global::Pulumi.ResourceArgs public Input? DeregisterOnNewRevision { get; set; } /// - /// A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + /// Valid eks properties. This parameter is only valid if the `type` parameter is `container`. /// [Input("eksProperties")] public Input? EksProperties { get; set; } /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name")] public Input? Name { get; set; } /// - /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + /// Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. /// [Input("nodeProperties")] public Input? NodeProperties { get; set; } @@ -485,7 +485,7 @@ public sealed class JobDefinitionArgs : global::Pulumi.ResourceArgs private InputMap? _parameters; /// - /// Specifies the parameter substitution placeholders to set in the job definition. + /// Parameter substitution placeholders to set in the job definition. /// public InputMap Parameters { @@ -497,7 +497,7 @@ public InputMap Parameters private InputList? _platformCapabilities; /// - /// The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + /// Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. /// public InputList PlatformCapabilities { @@ -506,19 +506,19 @@ public InputList PlatformCapabilities } /// - /// Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + /// Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. /// [Input("propagateTags")] public Input? PropagateTags { get; set; } /// - /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + /// Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. /// [Input("retryStrategy")] public Input? RetryStrategy { get; set; } /// - /// The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + /// Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. /// [Input("schedulingPriority")] public Input? SchedulingPriority { get; set; } @@ -536,13 +536,13 @@ public InputMap Tags } /// - /// Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + /// Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. /// [Input("timeout")] public Input? Timeout { get; set; } /// - /// The type of job definition. Must be `container` or `multinode`. + /// Type of job definition. Must be `container` or `multinode`. /// /// The following arguments are optional: /// @@ -558,19 +558,19 @@ public JobDefinitionArgs() public sealed class JobDefinitionState : global::Pulumi.ResourceArgs { /// - /// The Amazon Resource Name of the job definition, includes revision (`:#`). + /// ARN of the job definition, includes revision (`:#`). /// [Input("arn")] public Input? Arn { get; set; } /// - /// The ARN without the revision number. + /// ARN without the revision number. /// [Input("arnPrefix")] public Input? ArnPrefix { get; set; } /// - /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + /// Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. /// [Input("containerProperties")] public Input? ContainerProperties { get; set; } @@ -582,19 +582,19 @@ public sealed class JobDefinitionState : global::Pulumi.ResourceArgs public Input? DeregisterOnNewRevision { get; set; } /// - /// A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + /// Valid eks properties. This parameter is only valid if the `type` parameter is `container`. /// [Input("eksProperties")] public Input? EksProperties { get; set; } /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// [Input("name")] public Input? Name { get; set; } /// - /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + /// Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. /// [Input("nodeProperties")] public Input? NodeProperties { get; set; } @@ -603,7 +603,7 @@ public sealed class JobDefinitionState : global::Pulumi.ResourceArgs private InputMap? _parameters; /// - /// Specifies the parameter substitution placeholders to set in the job definition. + /// Parameter substitution placeholders to set in the job definition. /// public InputMap Parameters { @@ -615,7 +615,7 @@ public InputMap Parameters private InputList? _platformCapabilities; /// - /// The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + /// Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. /// public InputList PlatformCapabilities { @@ -624,25 +624,25 @@ public InputList PlatformCapabilities } /// - /// Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + /// Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. /// [Input("propagateTags")] public Input? PropagateTags { get; set; } /// - /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + /// Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. /// [Input("retryStrategy")] public Input? RetryStrategy { get; set; } /// - /// The revision of the job definition. + /// Revision of the job definition. /// [Input("revision")] public Input? Revision { get; set; } /// - /// The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + /// Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. /// [Input("schedulingPriority")] public Input? SchedulingPriority { get; set; } @@ -663,7 +663,7 @@ public InputMap Tags private InputMap? _tagsAll; /// - /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. /// [Obsolete(@"Please use `tags` instead.")] public InputMap TagsAll @@ -673,13 +673,13 @@ public InputMap TagsAll } /// - /// Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + /// Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. /// [Input("timeout")] public Input? Timeout { get; set; } /// - /// The type of job definition. Must be `container` or `multinode`. + /// Type of job definition. Must be `container` or `multinode`. /// /// The following arguments are optional: /// diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksProperties.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksProperties.cs index 5005abc54e3..f9715472d6d 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksProperties.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksProperties.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionEksProperties { /// - /// The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + /// Properties for the Kubernetes pod resources of a job. See `pod_properties` below. /// public readonly Outputs.JobDefinitionEksPropertiesPodProperties PodProperties; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodProperties.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodProperties.cs index d819335d0fa..e95d7c55b9e 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodProperties.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodProperties.cs @@ -14,27 +14,31 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionEksPropertiesPodProperties { /// - /// The properties of the container that's used on the Amazon EKS pod. See containers below. + /// Properties of the container that's used on the Amazon EKS pod. See containers below. /// public readonly Outputs.JobDefinitionEksPropertiesPodPropertiesContainers Containers; /// - /// The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + /// DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. /// public readonly string? DnsPolicy; /// - /// Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + /// Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. /// public readonly bool? HostNetwork; /// + /// List of Kubernetes secret resources. See `image_pull_secret` below. + /// + public readonly ImmutableArray ImagePullSecrets; + /// /// Metadata about the Kubernetes pod. /// public readonly Outputs.JobDefinitionEksPropertiesPodPropertiesMetadata? Metadata; /// - /// The name of the service account that's used to run the pod. + /// Name of the service account that's used to run the pod. /// public readonly string? ServiceAccountName; /// - /// Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + /// Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. /// public readonly ImmutableArray Volumes; @@ -46,6 +50,8 @@ private JobDefinitionEksPropertiesPodProperties( bool? hostNetwork, + ImmutableArray imagePullSecrets, + Outputs.JobDefinitionEksPropertiesPodPropertiesMetadata? metadata, string? serviceAccountName, @@ -55,6 +61,7 @@ private JobDefinitionEksPropertiesPodProperties( Containers = containers; DnsPolicy = dnsPolicy; HostNetwork = hostNetwork; + ImagePullSecrets = imagePullSecrets; Metadata = metadata; ServiceAccountName = serviceAccountName; Volumes = volumes; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainers.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainers.cs index ab3cf6d2574..00deb18eb34 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainers.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainers.cs @@ -14,39 +14,39 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionEksPropertiesPodPropertiesContainers { /// - /// An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + /// Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. /// public readonly ImmutableArray Args; /// - /// The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + /// Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. /// public readonly ImmutableArray Commands; /// - /// The environment variables to pass to a container. See EKS Environment below. + /// Environment variables to pass to a container. See EKS Environment below. /// public readonly ImmutableArray Envs; /// - /// The Docker image used to start the container. + /// Docker image used to start the container. /// public readonly string Image; /// - /// The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + /// Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. /// public readonly string? ImagePullPolicy; /// - /// The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + /// Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. /// public readonly string? Name; /// - /// The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + /// Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. /// public readonly Outputs.JobDefinitionEksPropertiesPodPropertiesContainersResources? Resources; /// - /// The security context for a job. + /// Security context for a job. /// public readonly Outputs.JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext? SecurityContext; /// - /// The volume mounts for the container. + /// Volume mounts for the container. /// public readonly ImmutableArray VolumeMounts; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.cs index cd6c5512c69..07ffc45b432 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionEksPropertiesPodPropertiesContainersEnv { /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// public readonly string Name; /// - /// The value of the environment variable. + /// Value of the environment variable. /// public readonly string Value; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.cs index ea451026508..15e2684c55e 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.cs @@ -15,7 +15,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount { public readonly string MountPath; /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// public readonly string Name; public readonly bool? ReadOnly; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.cs new file mode 100644 index 00000000000..bc35f608594 --- /dev/null +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Batch.Outputs +{ + + [OutputType] + public sealed class JobDefinitionEksPropertiesPodPropertiesImagePullSecret + { + /// + /// Unique identifier. + /// + public readonly string Name; + + [OutputConstructor] + private JobDefinitionEksPropertiesPodPropertiesImagePullSecret(string name) + { + Name = name; + } + } +} diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolume.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolume.cs index de111f269c0..45b4cbeb2b1 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolume.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolume.cs @@ -16,7 +16,7 @@ public sealed class JobDefinitionEksPropertiesPodPropertiesVolume public readonly Outputs.JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir? EmptyDir; public readonly Outputs.JobDefinitionEksPropertiesPodPropertiesVolumeHostPath? HostPath; /// - /// Specifies the name of the job definition. + /// Name of the job definition. /// public readonly string? Name; public readonly Outputs.JobDefinitionEksPropertiesPodPropertiesVolumeSecret? Secret; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.cs index 76957d6c954..4091c804754 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir { /// - /// The medium to store the volume. The default value is an empty string, which uses the storage of the node. + /// Medium to store the volume. The default value is an empty string, which uses the storage of the node. /// public readonly string? Medium; /// - /// The maximum size of the volume. By default, there's no maximum size defined. + /// Maximum size of the volume. By default, there's no maximum size defined. /// public readonly string SizeLimit; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.cs index 35b9ff0cac8..9f7e5d1a81f 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeHostPath { /// - /// The path of the file or directory on the host to mount into containers on the pod. + /// Path of the file or directory on the host to mount into containers on the pod. /// public readonly string Path; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.cs index c18f1c166cb..819687635e8 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionEksPropertiesPodPropertiesVolumeSecret { /// - /// Specifies whether the secret or the secret's keys must be defined. + /// Whether the secret or the secret's keys must be defined. /// public readonly bool? Optional; /// - /// The name of the secret. The name must be allowed as a DNS subdomain name. + /// Name of the secret. The name must be allowed as a DNS subdomain name. /// public readonly string SecretName; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategy.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategy.cs index f69b7bf30a8..2c448eba9d4 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategy.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategy.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionRetryStrategy { /// - /// The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + /// Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. /// public readonly int? Attempts; /// - /// The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + /// Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. /// public readonly ImmutableArray EvaluateOnExits; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs index 1c1bb371b8f..b02ed8c0f82 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs @@ -14,19 +14,19 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionRetryStrategyEvaluateOnExit { /// - /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + /// Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. /// public readonly string Action; /// - /// A glob pattern to match against the decimal representation of the exit code returned for a job. + /// Glob pattern to match against the decimal representation of the exit code returned for a job. /// public readonly string? OnExitCode; /// - /// A glob pattern to match against the reason returned for a job. + /// Glob pattern to match against the reason returned for a job. /// public readonly string? OnReason; /// - /// A glob pattern to match against the status reason returned for a job. + /// Glob pattern to match against the status reason returned for a job. /// public readonly string? OnStatusReason; diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionTimeout.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionTimeout.cs index f6360fe59de..ab72449ffb9 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionTimeout.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionTimeout.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionTimeout { /// - /// The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + /// Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. /// public readonly int? AttemptDurationSeconds; diff --git a/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesArgs.cs b/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesArgs.cs index 6894650bd9c..8bf35a93a0b 100644 --- a/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesArgs.cs +++ b/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.CloudFormation.Inputs public sealed class StackSetInstanceOperationPreferencesArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + /// + [Input("concurrencyMode")] + public Input? ConcurrencyMode { get; set; } + /// /// Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. /// diff --git a/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesGetArgs.cs b/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesGetArgs.cs index 0c72d7f1ee0..6acc3d91d28 100644 --- a/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesGetArgs.cs +++ b/sdk/dotnet/CloudFormation/Inputs/StackSetInstanceOperationPreferencesGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.CloudFormation.Inputs public sealed class StackSetInstanceOperationPreferencesGetArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + /// + [Input("concurrencyMode")] + public Input? ConcurrencyMode { get; set; } + /// /// Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. /// diff --git a/sdk/dotnet/CloudFormation/Outputs/StackSetInstanceOperationPreferences.cs b/sdk/dotnet/CloudFormation/Outputs/StackSetInstanceOperationPreferences.cs index b9d3153bdf7..0683028a1b7 100644 --- a/sdk/dotnet/CloudFormation/Outputs/StackSetInstanceOperationPreferences.cs +++ b/sdk/dotnet/CloudFormation/Outputs/StackSetInstanceOperationPreferences.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.CloudFormation.Outputs [OutputType] public sealed class StackSetInstanceOperationPreferences { + /// + /// Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + /// + public readonly string? ConcurrencyMode; /// /// Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. /// @@ -40,6 +44,8 @@ public sealed class StackSetInstanceOperationPreferences [OutputConstructor] private StackSetInstanceOperationPreferences( + string? concurrencyMode, + int? failureToleranceCount, int? failureTolerancePercentage, @@ -52,6 +58,7 @@ private StackSetInstanceOperationPreferences( ImmutableArray regionOrders) { + ConcurrencyMode = concurrencyMode; FailureToleranceCount = failureToleranceCount; FailureTolerancePercentage = failureTolerancePercentage; MaxConcurrentCount = maxConcurrentCount; diff --git a/sdk/dotnet/CloudWatch/EventBus.cs b/sdk/dotnet/CloudWatch/EventBus.cs index 5dc7ec39430..57c52a2524c 100644 --- a/sdk/dotnet/CloudWatch/EventBus.cs +++ b/sdk/dotnet/CloudWatch/EventBus.cs @@ -77,6 +77,12 @@ public partial class EventBus : global::Pulumi.CustomResource [Output("eventSourceName")] public Output EventSourceName { get; private set; } = null!; + /// + /// The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + /// + [Output("kmsKeyIdentifier")] + public Output KmsKeyIdentifier { get; private set; } = null!; + /// /// The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. /// @@ -147,6 +153,12 @@ public sealed class EventBusArgs : global::Pulumi.ResourceArgs [Input("eventSourceName")] public Input? EventSourceName { get; set; } + /// + /// The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + /// + [Input("kmsKeyIdentifier")] + public Input? KmsKeyIdentifier { get; set; } + /// /// The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. /// @@ -185,6 +197,12 @@ public sealed class EventBusState : global::Pulumi.ResourceArgs [Input("eventSourceName")] public Input? EventSourceName { get; set; } + /// + /// The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + /// + [Input("kmsKeyIdentifier")] + public Input? KmsKeyIdentifier { get; set; } + /// /// The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. /// diff --git a/sdk/dotnet/CloudWatch/GetEventBus.cs b/sdk/dotnet/CloudWatch/GetEventBus.cs index a8bac9bb008..a8e4f4730d8 100644 --- a/sdk/dotnet/CloudWatch/GetEventBus.cs +++ b/sdk/dotnet/CloudWatch/GetEventBus.cs @@ -105,6 +105,10 @@ public sealed class GetEventBusResult /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; + /// + /// The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. + /// + public readonly string KmsKeyIdentifier; public readonly string Name; [OutputConstructor] @@ -113,10 +117,13 @@ private GetEventBusResult( string id, + string kmsKeyIdentifier, + string name) { Arn = arn; Id = id; + KmsKeyIdentifier = kmsKeyIdentifier; Name = name; } } diff --git a/sdk/dotnet/Cur/GetReportDefinition.cs b/sdk/dotnet/Cur/GetReportDefinition.cs index 3487f92938d..b710cc452c3 100644 --- a/sdk/dotnet/Cur/GetReportDefinition.cs +++ b/sdk/dotnet/Cur/GetReportDefinition.cs @@ -77,6 +77,18 @@ public sealed class GetReportDefinitionArgs : global::Pulumi.InvokeArgs [Input("reportName", required: true)] public string ReportName { get; set; } = null!; + [Input("tags")] + private Dictionary? _tags; + + /// + /// Map of key-value pairs assigned to the resource. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + public GetReportDefinitionArgs() { } @@ -91,6 +103,18 @@ public sealed class GetReportDefinitionInvokeArgs : global::Pulumi.InvokeArgs [Input("reportName", required: true)] public Input ReportName { get; set; } = null!; + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of key-value pairs assigned to the resource. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + public GetReportDefinitionInvokeArgs() { } @@ -143,6 +167,10 @@ public sealed class GetReportDefinitionResult /// public readonly string S3Region; /// + /// Map of key-value pairs assigned to the resource. + /// + public readonly ImmutableDictionary Tags; + /// /// Frequency on which report data are measured and displayed. /// public readonly string TimeUnit; @@ -171,6 +199,8 @@ private GetReportDefinitionResult( string s3Region, + ImmutableDictionary tags, + string timeUnit) { AdditionalArtifacts = additionalArtifacts; @@ -184,6 +214,7 @@ private GetReportDefinitionResult( S3Bucket = s3Bucket; S3Prefix = s3Prefix; S3Region = s3Region; + Tags = tags; TimeUnit = timeUnit; } } diff --git a/sdk/dotnet/Cur/ReportDefinition.cs b/sdk/dotnet/Cur/ReportDefinition.cs index cda77c7dc1a..55e50bcc64a 100644 --- a/sdk/dotnet/Cur/ReportDefinition.cs +++ b/sdk/dotnet/Cur/ReportDefinition.cs @@ -124,6 +124,18 @@ public partial class ReportDefinition : global::Pulumi.CustomResource [Output("s3Region")] public Output S3Region { get; private set; } = null!; + /// + /// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + /// /// The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. /// @@ -248,6 +260,18 @@ public InputList AdditionalSchemaElements [Input("s3Region", required: true)] public Input S3Region { get; set; } = null!; + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + /// /// The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. /// @@ -340,6 +364,31 @@ public InputList AdditionalSchemaElements [Input("s3Region")] public Input? S3Region { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. /// diff --git a/sdk/dotnet/Ec2/LaunchTemplate.cs b/sdk/dotnet/Ec2/LaunchTemplate.cs index 4272b110a2e..dca460f745d 100644 --- a/sdk/dotnet/Ec2/LaunchTemplate.cs +++ b/sdk/dotnet/Ec2/LaunchTemplate.cs @@ -68,14 +68,14 @@ public partial class LaunchTemplate : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + /// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). /// [Output("disableApiStop")] public Output DisableApiStop { get; private set; } = null!; /// /// If `true`, enables [EC2 Instance - /// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + /// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) /// [Output("disableApiTermination")] public Output DisableApiTermination { get; private set; } = null!; @@ -363,14 +363,14 @@ public InputList BlockDeviceMapping public Input? Description { get; set; } /// - /// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + /// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). /// [Input("disableApiStop")] public Input? DisableApiStop { get; set; } /// /// If `true`, enables [EC2 Instance - /// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + /// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) /// [Input("disableApiTermination")] public Input? DisableApiTermination { get; set; } @@ -656,14 +656,14 @@ public InputList BlockDeviceMapp public Input? Description { get; set; } /// - /// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + /// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). /// [Input("disableApiStop")] public Input? DisableApiStop { get; set; } /// /// If `true`, enables [EC2 Instance - /// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + /// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) /// [Input("disableApiTermination")] public Input? DisableApiTermination { get; set; } diff --git a/sdk/dotnet/Ec2/SecurityGroup.cs b/sdk/dotnet/Ec2/SecurityGroup.cs index 56406559f47..4fd32cea980 100644 --- a/sdk/dotnet/Ec2/SecurityGroup.cs +++ b/sdk/dotnet/Ec2/SecurityGroup.cs @@ -12,7 +12,9 @@ namespace Pulumi.Aws.Ec2 /// /// Provides a security group resource. /// - /// > **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. + /// > **NOTE:** Avoid using the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + /// + /// !> **WARNING:** You should not use the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) in conjunction with the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. /// /// > **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). /// diff --git a/sdk/dotnet/Ec2/SecurityGroupRule.cs b/sdk/dotnet/Ec2/SecurityGroupRule.cs index a9525a2a765..27547cc31cd 100644 --- a/sdk/dotnet/Ec2/SecurityGroupRule.cs +++ b/sdk/dotnet/Ec2/SecurityGroupRule.cs @@ -10,13 +10,11 @@ namespace Pulumi.Aws.Ec2 { /// - /// Provides a security group rule resource. Represents a single `ingress` or - /// `egress` group rule, which can be added to external Security Groups. + /// Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups. /// - /// > **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. + /// > **NOTE:** Avoid using the `aws.ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + /// + /// !> **WARNING:** You should not use the `aws.ec2.SecurityGroupRule` resource in conjunction with `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or with an `aws.ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. /// /// > **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. /// diff --git a/sdk/dotnet/Ecs/TaskDefinition.cs b/sdk/dotnet/Ecs/TaskDefinition.cs index 7ce6582a943..04825f54abb 100644 --- a/sdk/dotnet/Ecs/TaskDefinition.cs +++ b/sdk/dotnet/Ecs/TaskDefinition.cs @@ -488,7 +488,7 @@ public partial class TaskDefinition : global::Pulumi.CustomResource public Output TaskRoleArn { get; private set; } = null!; /// - /// Whether should track latest task definition or the one created with the resource. Default is `false`. + /// Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. /// [Output("trackLatest")] public Output TrackLatest { get; private set; } = null!; @@ -674,7 +674,7 @@ public InputMap Tags public Input? TaskRoleArn { get; set; } /// - /// Whether should track latest task definition or the one created with the resource. Default is `false`. + /// Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. /// [Input("trackLatest")] public Input? TrackLatest { get; set; } @@ -859,7 +859,7 @@ public InputMap TagsAll public Input? TaskRoleArn { get; set; } /// - /// Whether should track latest task definition or the one created with the resource. Default is `false`. + /// Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. /// [Input("trackLatest")] public Input? TrackLatest { get; set; } diff --git a/sdk/dotnet/GetServicePrincipal.cs b/sdk/dotnet/GetServicePrincipal.cs new file mode 100644 index 00000000000..1122c12b8d6 --- /dev/null +++ b/sdk/dotnet/GetServicePrincipal.cs @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws +{ + public static class GetServicePrincipal + { + /// + /// Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetServicePrincipal.Invoke(new() + /// { + /// ServiceName = "s3", + /// }); + /// + /// var test = Aws.GetServicePrincipal.Invoke(new() + /// { + /// ServiceName = "s3", + /// Region = "us-iso-east-1", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetServicePrincipalArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:index/getServicePrincipal:getServicePrincipal", args ?? new GetServicePrincipalArgs(), options.WithDefaults()); + + /// + /// Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetServicePrincipal.Invoke(new() + /// { + /// ServiceName = "s3", + /// }); + /// + /// var test = Aws.GetServicePrincipal.Invoke(new() + /// { + /// ServiceName = "s3", + /// Region = "us-iso-east-1", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetServicePrincipalInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:index/getServicePrincipal:getServicePrincipal", args ?? new GetServicePrincipalInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetServicePrincipalArgs : global::Pulumi.InvokeArgs + { + /// + /// Region you'd like the SPN for. By default, uses the current region. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// Name of the service you want to generate a Service Principal Name for. + /// + [Input("serviceName", required: true)] + public string ServiceName { get; set; } = null!; + + public GetServicePrincipalArgs() + { + } + public static new GetServicePrincipalArgs Empty => new GetServicePrincipalArgs(); + } + + public sealed class GetServicePrincipalInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Region you'd like the SPN for. By default, uses the current region. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Name of the service you want to generate a Service Principal Name for. + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public GetServicePrincipalInvokeArgs() + { + } + public static new GetServicePrincipalInvokeArgs Empty => new GetServicePrincipalInvokeArgs(); + } + + + [OutputType] + public sealed class GetServicePrincipalResult + { + /// + /// Identifier of the current Service Principal (compound of service, region and suffix). (e.g. `logs.us-east-1.amazonaws.com`in AWS Commercial, `logs.cn-north-1.amazonaws.com.cn` in AWS China). + /// + public readonly string Id; + /// + /// Service Principal Name (e.g., `logs.amazonaws.com` in AWS Commercial, `logs.amazonaws.com.cn` in AWS China). + /// + public readonly string Name; + /// + /// Region identifier of the generated SPN (e.g., `us-east-1` in AWS Commercial, `cn-north-1` in AWS China). + /// + public readonly string Region; + public readonly string ServiceName; + /// + /// Suffix of the SPN (e.g., `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). + /// + public readonly string Suffix; + + [OutputConstructor] + private GetServicePrincipalResult( + string id, + + string name, + + string region, + + string serviceName, + + string suffix) + { + Id = id; + Name = name; + Region = region; + ServiceName = serviceName; + Suffix = suffix; + } + } +} diff --git a/sdk/dotnet/Glue/Classifier.cs b/sdk/dotnet/Glue/Classifier.cs index 293a406464e..85cf4c71534 100644 --- a/sdk/dotnet/Glue/Classifier.cs +++ b/sdk/dotnet/Glue/Classifier.cs @@ -12,11 +12,11 @@ namespace Pulumi.Aws.Glue /// /// Provides a Glue Classifier resource. /// - /// > **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier. + /// > **NOTE:** It is only valid to create one type of classifier (CSV, grok, JSON, or XML). Changing classifier types will recreate the classifier. /// /// ## Example Usage /// - /// ### Csv Classifier + /// ### CSV Classifier /// /// ```csharp /// using System.Collections.Generic; @@ -127,7 +127,7 @@ namespace Pulumi.Aws.Glue public partial class Classifier : global::Pulumi.CustomResource { /// - /// A classifier for Csv content. Defined below. + /// A classifier for CSV content. Defined below. /// [Output("csvClassifier")] public Output CsvClassifier { get; private set; } = null!; @@ -203,7 +203,7 @@ public static Classifier Get(string name, Input id, ClassifierState? sta public sealed class ClassifierArgs : global::Pulumi.ResourceArgs { /// - /// A classifier for Csv content. Defined below. + /// A classifier for CSV content. Defined below. /// [Input("csvClassifier")] public Input? CsvClassifier { get; set; } @@ -241,7 +241,7 @@ public ClassifierArgs() public sealed class ClassifierState : global::Pulumi.ResourceArgs { /// - /// A classifier for Csv content. Defined below. + /// A classifier for CSV content. Defined below. /// [Input("csvClassifier")] public Input? CsvClassifier { get; set; } diff --git a/sdk/dotnet/Glue/Connection.cs b/sdk/dotnet/Glue/Connection.cs index d8c5001de71..3b7d7032230 100644 --- a/sdk/dotnet/Glue/Connection.cs +++ b/sdk/dotnet/Glue/Connection.cs @@ -26,13 +26,13 @@ namespace Pulumi.Aws.Glue /// { /// var example = new Aws.Glue.Connection("example", new() /// { + /// Name = "example", /// ConnectionProperties = /// { /// { "JDBC_CONNECTION_URL", "jdbc:mysql://example.com/exampledatabase" }, /// { "PASSWORD", "examplepassword" }, /// { "USERNAME", "exampleusername" }, /// }, - /// Name = "example", /// }); /// /// }); @@ -55,12 +55,12 @@ namespace Pulumi.Aws.Glue /// /// var exampleConnection = new Aws.Glue.Connection("example", new() /// { + /// Name = "example", /// ConnectionProperties = /// { /// { "JDBC_CONNECTION_URL", "jdbc:mysql://example.com/exampledatabase" }, /// { "SECRET_ID", example.Apply(getSecretResult => getSecretResult.Name) }, /// }, - /// Name = "example", /// }); /// /// }); @@ -80,13 +80,13 @@ namespace Pulumi.Aws.Glue /// { /// var example = new Aws.Glue.Connection("example", new() /// { + /// Name = "example", /// ConnectionProperties = /// { /// { "JDBC_CONNECTION_URL", $"jdbc:mysql://{exampleAwsRdsCluster.Endpoint}/exampledatabase" }, /// { "PASSWORD", "examplepassword" }, /// { "USERNAME", "exampleusername" }, /// }, - /// Name = "example", /// PhysicalConnectionRequirements = new Aws.Glue.Inputs.ConnectionPhysicalConnectionRequirementsArgs /// { /// AvailabilityZone = exampleAwsSubnet.AvailabilityZone, @@ -118,8 +118,9 @@ namespace Pulumi.Aws.Glue /// Name = "example-secret", /// }); /// - /// var exampleConnector = new Aws.Glue.Connection("example_connector", new() + /// var example1 = new Aws.Glue.Connection("example1", new() /// { + /// Name = "example1", /// ConnectionType = "CUSTOM", /// ConnectionProperties = /// { @@ -128,7 +129,6 @@ namespace Pulumi.Aws.Glue /// { "CONNECTOR_URL", "s3://example/snowflake-jdbc.jar" }, /// { "JDBC_CONNECTION_URL", "[[\"default=jdbc:snowflake://example.com/?user=${user}&password=${password}\"],\",\"]" }, /// }, - /// Name = "example_connector", /// MatchCriterias = new[] /// { /// "template-connection", @@ -136,8 +136,9 @@ namespace Pulumi.Aws.Glue /// }); /// /// // Reference the connector using match_criteria with the connector created above. - /// var exampleConnection = new Aws.Glue.Connection("example_connection", new() + /// var example2 = new Aws.Glue.Connection("example2", new() /// { + /// Name = "example2", /// ConnectionType = "CUSTOM", /// ConnectionProperties = /// { @@ -147,11 +148,255 @@ namespace Pulumi.Aws.Glue /// { "JDBC_CONNECTION_URL", "jdbc:snowflake://example.com/?user=${user}&password=${password}" }, /// { "SECRET_ID", example.Apply(getSecretResult => getSecretResult.Name) }, /// }, - /// Name = "example", /// MatchCriterias = new[] /// { /// "Connection", - /// exampleConnector.Name, + /// example1.Name, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ### Azure Cosmos Connection + /// + /// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos). + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.SecretsManager.Secret("example", new() + /// { + /// Name = "example-secret", + /// }); + /// + /// var exampleSecretVersion = new Aws.SecretsManager.SecretVersion("example", new() + /// { + /// SecretId = example.Id, + /// SecretString = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["username"] = "exampleusername", + /// ["password"] = "examplepassword", + /// }), + /// }); + /// + /// var exampleConnection = new Aws.Glue.Connection("example", new() + /// { + /// Name = "example", + /// ConnectionType = "AZURECOSMOS", + /// ConnectionProperties = + /// { + /// { "SparkProperties", Output.JsonSerialize(Output.Create(new Dictionary<string, object?> + /// { + /// ["secretId"] = example.Name, + /// ["spark.cosmos.accountEndpoint"] = "https://exampledbaccount.documents.azure.com:443/", + /// })) }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ### Azure SQL Connection + /// + /// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql). + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.SecretsManager.Secret("example", new() + /// { + /// Name = "example-secret", + /// }); + /// + /// var exampleSecretVersion = new Aws.SecretsManager.SecretVersion("example", new() + /// { + /// SecretId = example.Id, + /// SecretString = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["username"] = "exampleusername", + /// ["password"] = "examplepassword", + /// }), + /// }); + /// + /// var exampleConnection = new Aws.Glue.Connection("example", new() + /// { + /// Name = "example", + /// ConnectionType = "AZURECOSMOS", + /// ConnectionProperties = + /// { + /// { "SparkProperties", Output.JsonSerialize(Output.Create(new Dictionary<string, object?> + /// { + /// ["secretId"] = example.Name, + /// ["url"] = "jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase", + /// })) }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ### Google BigQuery Connection + /// + /// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery). + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// using Std = Pulumi.Std; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.SecretsManager.Secret("example", new() + /// { + /// Name = "example-secret", + /// }); + /// + /// var exampleSecretVersion = new Aws.SecretsManager.SecretVersion("example", new() + /// { + /// SecretId = example.Id, + /// SecretString = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["credentials"] = Std.Base64encode.Invoke(new() + /// { + /// Input = @"{ + /// ""type"": ""service_account"", + /// ""project_id"": ""example-project"", + /// ""private_key_id"": ""example-key"", + /// ""private_key"": ""-----BEGIN RSA PRIVATE KEY-----\nREDACTED\n-----END RSA PRIVATE KEY-----"", + /// ""client_email"": ""example-project@appspot.gserviceaccount.com"", + /// ""client_id"": example-client"", + /// ""auth_uri"": ""https://accounts.google.com/o/oauth2/auth"", + /// ""token_uri"": ""https://oauth2.googleapis.com/token"", + /// ""auth_provider_x509_cert_url"": ""https://www.googleapis.com/oauth2/v1/certs"", + /// ""client_x509_cert_url"": ""https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com"", + /// ""universe_domain"": ""googleapis.com"" + /// } + /// ", + /// }).Apply(invoke => invoke.Result), + /// }), + /// }); + /// + /// var exampleConnection = new Aws.Glue.Connection("example", new() + /// { + /// Name = "example", + /// ConnectionType = "BIGQUERY", + /// ConnectionProperties = + /// { + /// { "SparkProperties", Output.JsonSerialize(Output.Create(new Dictionary<string, object?> + /// { + /// ["secretId"] = example.Name, + /// })) }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ### OpenSearch Service Connection + /// + /// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch). + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.SecretsManager.Secret("example", new() + /// { + /// Name = "example-secret", + /// }); + /// + /// var exampleSecretVersion = new Aws.SecretsManager.SecretVersion("example", new() + /// { + /// SecretId = example.Id, + /// SecretString = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["opensearch.net.http.auth.user"] = "exampleusername", + /// ["opensearch.net.http.auth.pass"] = "examplepassword", + /// }), + /// }); + /// + /// var exampleConnection = new Aws.Glue.Connection("example", new() + /// { + /// Name = "example", + /// ConnectionType = "OPENSEARCH", + /// ConnectionProperties = + /// { + /// { "SparkProperties", Output.JsonSerialize(Output.Create(new Dictionary<string, object?> + /// { + /// ["secretId"] = example.Name, + /// ["opensearch.nodes"] = "https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com", + /// ["opensearch.port"] = "443", + /// ["opensearch.aws.sigv4.region"] = "us-east-1", + /// ["opensearch.nodes.wan.only"] = "true", + /// ["opensearch.aws.sigv4.enabled"] = "true", + /// })) }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ### Snowflake Connection + /// + /// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake). + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.SecretsManager.Secret("example", new() + /// { + /// Name = "example-secret", + /// }); + /// + /// var exampleSecretVersion = new Aws.SecretsManager.SecretVersion("example", new() + /// { + /// SecretId = example.Id, + /// SecretString = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["sfUser"] = "exampleusername", + /// ["sfPassword"] = "examplepassword", + /// }), + /// }); + /// + /// var exampleConnection = new Aws.Glue.Connection("example", new() + /// { + /// Name = "example", + /// ConnectionType = "SNOWFLAKE", + /// ConnectionProperties = + /// { + /// { "SparkProperties", Output.JsonSerialize(Output.Create(new Dictionary<string, object?> + /// { + /// ["secretId"] = example.Name, + /// ["sfRole"] = "EXAMPLEETLROLE", + /// ["sfUrl"] = "exampleorg-exampleconnection.snowflakecomputing.com", + /// })) }, /// }, /// }); /// @@ -170,25 +415,27 @@ namespace Pulumi.Aws.Glue public partial class Connection : global::Pulumi.CustomResource { /// - /// The ARN of the Glue Connection. + /// ARN of the Glue Connection. /// [Output("arn")] public Output Arn { get; private set; } = null!; /// - /// The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + /// ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. /// [Output("catalogId")] public Output CatalogId { get; private set; } = null!; /// - /// A map of key-value pairs used as parameters for this connection. + /// Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + /// + /// **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. /// [Output("connectionProperties")] public Output?> ConnectionProperties { get; private set; } = null!; /// - /// The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + /// Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. /// [Output("connectionType")] public Output ConnectionType { get; private set; } = null!; @@ -200,19 +447,21 @@ public partial class Connection : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// A list of criteria that can be used in selecting this connection. + /// List of criteria that can be used in selecting this connection. /// [Output("matchCriterias")] public Output> MatchCriterias { get; private set; } = null!; /// - /// The name of the connection. + /// Name of the connection. + /// + /// The following arguments are optional: /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + /// Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. /// [Output("physicalConnectionRequirements")] public Output PhysicalConnectionRequirements { get; private set; } = null!; @@ -280,7 +529,7 @@ public static Connection Get(string name, Input id, ConnectionState? sta public sealed class ConnectionArgs : global::Pulumi.ResourceArgs { /// - /// The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + /// ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. /// [Input("catalogId")] public Input? CatalogId { get; set; } @@ -289,7 +538,9 @@ public sealed class ConnectionArgs : global::Pulumi.ResourceArgs private InputMap? _connectionProperties; /// - /// A map of key-value pairs used as parameters for this connection. + /// Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + /// + /// **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. /// public InputMap ConnectionProperties { @@ -302,7 +553,7 @@ public InputMap ConnectionProperties } /// - /// The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + /// Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. /// [Input("connectionType")] public Input? ConnectionType { get; set; } @@ -317,7 +568,7 @@ public InputMap ConnectionProperties private InputList? _matchCriterias; /// - /// A list of criteria that can be used in selecting this connection. + /// List of criteria that can be used in selecting this connection. /// public InputList MatchCriterias { @@ -326,13 +577,15 @@ public InputList MatchCriterias } /// - /// The name of the connection. + /// Name of the connection. + /// + /// The following arguments are optional: /// [Input("name")] public Input? Name { get; set; } /// - /// A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + /// Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. /// [Input("physicalConnectionRequirements")] public Input? PhysicalConnectionRequirements { get; set; } @@ -358,13 +611,13 @@ public ConnectionArgs() public sealed class ConnectionState : global::Pulumi.ResourceArgs { /// - /// The ARN of the Glue Connection. + /// ARN of the Glue Connection. /// [Input("arn")] public Input? Arn { get; set; } /// - /// The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + /// ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. /// [Input("catalogId")] public Input? CatalogId { get; set; } @@ -373,7 +626,9 @@ public sealed class ConnectionState : global::Pulumi.ResourceArgs private InputMap? _connectionProperties; /// - /// A map of key-value pairs used as parameters for this connection. + /// Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + /// + /// **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. /// public InputMap ConnectionProperties { @@ -386,7 +641,7 @@ public InputMap ConnectionProperties } /// - /// The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + /// Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. /// [Input("connectionType")] public Input? ConnectionType { get; set; } @@ -401,7 +656,7 @@ public InputMap ConnectionProperties private InputList? _matchCriterias; /// - /// A list of criteria that can be used in selecting this connection. + /// List of criteria that can be used in selecting this connection. /// public InputList MatchCriterias { @@ -410,13 +665,15 @@ public InputList MatchCriterias } /// - /// The name of the connection. + /// Name of the connection. + /// + /// The following arguments are optional: /// [Input("name")] public Input? Name { get; set; } /// - /// A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + /// Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. /// [Input("physicalConnectionRequirements")] public Input? PhysicalConnectionRequirements { get; set; } diff --git a/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierArgs.cs b/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierArgs.cs index cb61c8c540f..5838aae1182 100644 --- a/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierArgs.cs +++ b/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierArgs.cs @@ -43,7 +43,7 @@ public InputList CustomDatatypes } /// - /// The delimiter used in the Csv to separate columns. + /// The delimiter used in the CSV to separate columns. /// [Input("delimiter")] public Input? Delimiter { get; set; } @@ -72,6 +72,9 @@ public InputList Headers [Input("quoteSymbol")] public Input? QuoteSymbol { get; set; } + /// + /// The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + /// [Input("serde")] public Input? Serde { get; set; } diff --git a/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierGetArgs.cs b/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierGetArgs.cs index 429721557a4..61351db22c2 100644 --- a/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierGetArgs.cs +++ b/sdk/dotnet/Glue/Inputs/ClassifierCsvClassifierGetArgs.cs @@ -43,7 +43,7 @@ public InputList CustomDatatypes } /// - /// The delimiter used in the Csv to separate columns. + /// The delimiter used in the CSV to separate columns. /// [Input("delimiter")] public Input? Delimiter { get; set; } @@ -72,6 +72,9 @@ public InputList Headers [Input("quoteSymbol")] public Input? QuoteSymbol { get; set; } + /// + /// The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + /// [Input("serde")] public Input? Serde { get; set; } diff --git a/sdk/dotnet/Glue/Outputs/ClassifierCsvClassifier.cs b/sdk/dotnet/Glue/Outputs/ClassifierCsvClassifier.cs index b541b3b7a17..3675d31803b 100644 --- a/sdk/dotnet/Glue/Outputs/ClassifierCsvClassifier.cs +++ b/sdk/dotnet/Glue/Outputs/ClassifierCsvClassifier.cs @@ -30,7 +30,7 @@ public sealed class ClassifierCsvClassifier /// public readonly ImmutableArray CustomDatatypes; /// - /// The delimiter used in the Csv to separate columns. + /// The delimiter used in the CSV to separate columns. /// public readonly string? Delimiter; /// @@ -45,6 +45,9 @@ public sealed class ClassifierCsvClassifier /// A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. /// public readonly string? QuoteSymbol; + /// + /// The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + /// public readonly string? Serde; [OutputConstructor] diff --git a/sdk/dotnet/Iam/GetAccountAlias.cs b/sdk/dotnet/Iam/GetAccountAlias.cs index 1e5ee3bd91a..59e12f0eef7 100644 --- a/sdk/dotnet/Iam/GetAccountAlias.cs +++ b/sdk/dotnet/Iam/GetAccountAlias.cs @@ -29,7 +29,7 @@ public static class GetAccountAlias /// /// return new Dictionary<string, object?> /// { - /// ["accountId"] = current.Apply(getAccountAliasResult => getAccountAliasResult.AccountAlias), + /// ["accountAlias"] = current.Apply(getAccountAliasResult => getAccountAliasResult.AccountAlias), /// }; /// }); /// ``` @@ -55,7 +55,7 @@ public static Task InvokeAsync(InvokeOptions? options = n /// /// return new Dictionary<string, object?> /// { - /// ["accountId"] = current.Apply(getAccountAliasResult => getAccountAliasResult.AccountAlias), + /// ["accountAlias"] = current.Apply(getAccountAliasResult => getAccountAliasResult.AccountAlias), /// }; /// }); /// ``` diff --git a/sdk/dotnet/Lambda/RuntimeManagementConfig.cs b/sdk/dotnet/Lambda/RuntimeManagementConfig.cs index 9bbed4459ed..6980e6b8183 100644 --- a/sdk/dotnet/Lambda/RuntimeManagementConfig.cs +++ b/sdk/dotnet/Lambda/RuntimeManagementConfig.cs @@ -15,7 +15,7 @@ namespace Pulumi.Aws.Lambda /// Refer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes. /// /// > Deletion of this resource returns the runtime update mode to `Auto` (the default behavior). - /// To leave the configured runtime management options in-place, use a `removed` block withe destroy lifecycle set to `false`. + /// To leave the configured runtime management options in-place, use a `removed` block with the destroy lifecycle set to `false`. /// /// ## Example Usage /// diff --git a/sdk/dotnet/Mwaa/Environment.cs b/sdk/dotnet/Mwaa/Environment.cs index ef9d29b35ab..6f7250fe656 100644 --- a/sdk/dotnet/Mwaa/Environment.cs +++ b/sdk/dotnet/Mwaa/Environment.cs @@ -248,11 +248,14 @@ public partial class Environment : global::Pulumi.CustomResource public Output> LastUpdateds { get; private set; } = null!; /// - /// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + /// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. /// [Output("loggingConfiguration")] public Output LoggingConfiguration { get; private set; } = null!; + /// + /// The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + /// [Output("maxWebservers")] public Output MaxWebservers { get; private set; } = null!; @@ -262,6 +265,9 @@ public partial class Environment : global::Pulumi.CustomResource [Output("maxWorkers")] public Output MaxWorkers { get; private set; } = null!; + /// + /// The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + /// [Output("minWebservers")] public Output MinWebservers { get; private set; } = null!; @@ -278,7 +284,7 @@ public partial class Environment : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + /// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. /// [Output("networkConfiguration")] public Output NetworkConfiguration { get; private set; } = null!; @@ -482,11 +488,14 @@ public InputMap AirflowConfigurationOptions public Input? KmsKey { get; set; } /// - /// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + /// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. /// [Input("loggingConfiguration")] public Input? LoggingConfiguration { get; set; } + /// + /// The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + /// [Input("maxWebservers")] public Input? MaxWebservers { get; set; } @@ -496,6 +505,9 @@ public InputMap AirflowConfigurationOptions [Input("maxWorkers")] public Input? MaxWorkers { get; set; } + /// + /// The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + /// [Input("minWebservers")] public Input? MinWebservers { get; set; } @@ -512,7 +524,7 @@ public InputMap AirflowConfigurationOptions public Input? Name { get; set; } /// - /// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + /// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. /// [Input("networkConfiguration", required: true)] public Input NetworkConfiguration { get; set; } = null!; @@ -677,11 +689,14 @@ public InputList LastUpdateds } /// - /// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + /// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. /// [Input("loggingConfiguration")] public Input? LoggingConfiguration { get; set; } + /// + /// The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + /// [Input("maxWebservers")] public Input? MaxWebservers { get; set; } @@ -691,6 +706,9 @@ public InputList LastUpdateds [Input("maxWorkers")] public Input? MaxWorkers { get; set; } + /// + /// The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + /// [Input("minWebservers")] public Input? MinWebservers { get; set; } @@ -707,7 +725,7 @@ public InputList LastUpdateds public Input? Name { get; set; } /// - /// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + /// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. /// [Input("networkConfiguration")] public Input? NetworkConfiguration { get; set; } diff --git a/sdk/dotnet/Rds/Cluster.cs b/sdk/dotnet/Rds/Cluster.cs index 72500f84635..5bc6ee31eb4 100644 --- a/sdk/dotnet/Rds/Cluster.cs +++ b/sdk/dotnet/Rds/Cluster.cs @@ -347,7 +347,7 @@ public partial class Cluster : global::Pulumi.CustomResource /// The CA certificate identifier to use for the DB cluster's server certificate. /// [Output("caCertificateIdentifier")] - public Output CaCertificateIdentifier { get; private set; } = null!; + public Output CaCertificateIdentifier { get; private set; } = null!; /// /// Expiration date of the DB instance’s server certificate diff --git a/sdk/dotnet/Rds/ClusterSnapshot.cs b/sdk/dotnet/Rds/ClusterSnapshot.cs index a4e612db11a..6f4cbc02684 100644 --- a/sdk/dotnet/Rds/ClusterSnapshot.cs +++ b/sdk/dotnet/Rds/ClusterSnapshot.cs @@ -102,6 +102,12 @@ public partial class ClusterSnapshot : global::Pulumi.CustomResource [Output("port")] public Output Port { get; private set; } = null!; + /// + /// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + [Output("sharedAccounts")] + public Output> SharedAccounts { get; private set; } = null!; + [Output("snapshotType")] public Output SnapshotType { get; private set; } = null!; @@ -196,6 +202,18 @@ public sealed class ClusterSnapshotArgs : global::Pulumi.ResourceArgs [Input("dbClusterSnapshotIdentifier", required: true)] public Input DbClusterSnapshotIdentifier { get; set; } = null!; + [Input("sharedAccounts")] + private InputList? _sharedAccounts; + + /// + /// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + public InputList SharedAccounts + { + get => _sharedAccounts ?? (_sharedAccounts = new InputList()); + set => _sharedAccounts = value; + } + [Input("tags")] private InputMap? _tags; @@ -282,6 +300,18 @@ public InputList AvailabilityZones [Input("port")] public Input? Port { get; set; } + [Input("sharedAccounts")] + private InputList? _sharedAccounts; + + /// + /// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + public InputList SharedAccounts + { + get => _sharedAccounts ?? (_sharedAccounts = new InputList()); + set => _sharedAccounts = value; + } + [Input("snapshotType")] public Input? SnapshotType { get; set; } diff --git a/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationArgs.cs index 8a11b3f35e1..24ea4dee0d4 100644 --- a/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationArgs.cs +++ b/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationArgs.cs @@ -30,6 +30,12 @@ public sealed class ClusterScalingConfigurationArgs : global::Pulumi.ResourceArg [Input("minCapacity")] public Input? MinCapacity { get; set; } + /// + /// Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + /// + [Input("secondsBeforeTimeout")] + public Input? SecondsBeforeTimeout { get; set; } + /// /// Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. /// diff --git a/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationGetArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationGetArgs.cs index 04fe3e1205d..3c8fef1c222 100644 --- a/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationGetArgs.cs +++ b/sdk/dotnet/Rds/Inputs/ClusterScalingConfigurationGetArgs.cs @@ -30,6 +30,12 @@ public sealed class ClusterScalingConfigurationGetArgs : global::Pulumi.Resource [Input("minCapacity")] public Input? MinCapacity { get; set; } + /// + /// Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + /// + [Input("secondsBeforeTimeout")] + public Input? SecondsBeforeTimeout { get; set; } + /// /// Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. /// diff --git a/sdk/dotnet/Rds/Outputs/ClusterScalingConfiguration.cs b/sdk/dotnet/Rds/Outputs/ClusterScalingConfiguration.cs index 001c3641173..c8075ae3d12 100644 --- a/sdk/dotnet/Rds/Outputs/ClusterScalingConfiguration.cs +++ b/sdk/dotnet/Rds/Outputs/ClusterScalingConfiguration.cs @@ -26,6 +26,10 @@ public sealed class ClusterScalingConfiguration /// public readonly int? MinCapacity; /// + /// Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + /// + public readonly int? SecondsBeforeTimeout; + /// /// Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. /// public readonly int? SecondsUntilAutoPause; @@ -42,6 +46,8 @@ private ClusterScalingConfiguration( int? minCapacity, + int? secondsBeforeTimeout, + int? secondsUntilAutoPause, string? timeoutAction) @@ -49,6 +55,7 @@ private ClusterScalingConfiguration( AutoPause = autoPause; MaxCapacity = maxCapacity; MinCapacity = minCapacity; + SecondsBeforeTimeout = secondsBeforeTimeout; SecondsUntilAutoPause = secondsUntilAutoPause; TimeoutAction = timeoutAction; } diff --git a/sdk/dotnet/Rds/SnapshotCopy.cs b/sdk/dotnet/Rds/SnapshotCopy.cs index 73baf459a8e..60ec00b1013 100644 --- a/sdk/dotnet/Rds/SnapshotCopy.cs +++ b/sdk/dotnet/Rds/SnapshotCopy.cs @@ -143,6 +143,12 @@ public partial class SnapshotCopy : global::Pulumi.CustomResource [Output("presignedUrl")] public Output PresignedUrl { get; private set; } = null!; + /// + /// (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + [Output("sharedAccounts")] + public Output> SharedAccounts { get; private set; } = null!; + [Output("snapshotType")] public Output SnapshotType { get; private set; } = null!; @@ -270,6 +276,18 @@ public sealed class SnapshotCopyArgs : global::Pulumi.ResourceArgs [Input("presignedUrl")] public Input? PresignedUrl { get; set; } + [Input("sharedAccounts")] + private InputList? _sharedAccounts; + + /// + /// (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + public InputList SharedAccounts + { + get => _sharedAccounts ?? (_sharedAccounts = new InputList()); + set => _sharedAccounts = value; + } + /// /// Snapshot identifier of the source snapshot. /// @@ -389,6 +407,18 @@ public sealed class SnapshotCopyState : global::Pulumi.ResourceArgs [Input("presignedUrl")] public Input? PresignedUrl { get; set; } + [Input("sharedAccounts")] + private InputList? _sharedAccounts; + + /// + /// (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + /// + public InputList SharedAccounts + { + get => _sharedAccounts ?? (_sharedAccounts = new InputList()); + set => _sharedAccounts = value; + } + [Input("snapshotType")] public Input? SnapshotType { get; set; } diff --git a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsArgs.cs b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsArgs.cs index 590fc3526dc..07d93ce418e 100644 --- a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsArgs.cs @@ -54,6 +54,9 @@ public InputList CustomFileSystem [Input("kernelGatewayAppSettings")] public Input? KernelGatewayAppSettings { get; set; } + /// + /// The storage settings. See `space_storage_settings` Block below. + /// [Input("spaceStorageSettings")] public Input? SpaceStorageSettings { get; set; } diff --git a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsGetArgs.cs index 6ffacf1449d..b7d920602af 100644 --- a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsGetArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsGetArgs.cs @@ -54,6 +54,9 @@ public InputList CustomFileSys [Input("kernelGatewayAppSettings")] public Input? KernelGatewayAppSettings { get; set; } + /// + /// The storage settings. See `space_storage_settings` Block below. + /// [Input("spaceStorageSettings")] public Input? SpaceStorageSettings { get; set; } diff --git a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.cs b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.cs index 2edfa380f1e..57d20028a05 100644 --- a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.Sagemaker.Inputs public sealed class SpaceSpaceSettingsSpaceStorageSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + /// [Input("ebsStorageSettings", required: true)] public Input EbsStorageSettings { get; set; } = null!; diff --git a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.cs b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.cs index f1ebcffa777..1cbbc0b8515 100644 --- a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.Sagemaker.Inputs public sealed class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// The size of an EBS storage volume for a space. + /// [Input("ebsVolumeSizeInGb", required: true)] public Input EbsVolumeSizeInGb { get; set; } = null!; diff --git a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsGetArgs.cs index d4fe08c888b..2e7618a9949 100644 --- a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsGetArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.Sagemaker.Inputs public sealed class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsGetArgs : global::Pulumi.ResourceArgs { + /// + /// The size of an EBS storage volume for a space. + /// [Input("ebsVolumeSizeInGb", required: true)] public Input EbsVolumeSizeInGb { get; set; } = null!; diff --git a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsGetArgs.cs index 82d866a41e4..c0990ff5e5c 100644 --- a/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsGetArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/SpaceSpaceSettingsSpaceStorageSettingsGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.Sagemaker.Inputs public sealed class SpaceSpaceSettingsSpaceStorageSettingsGetArgs : global::Pulumi.ResourceArgs { + /// + /// A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + /// [Input("ebsStorageSettings", required: true)] public Input EbsStorageSettings { get; set; } = null!; diff --git a/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettings.cs b/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettings.cs index 7b7728310ab..d9dc3d100e3 100644 --- a/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettings.cs +++ b/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettings.cs @@ -37,6 +37,9 @@ public sealed class SpaceSpaceSettings /// The kernel gateway app settings. See `kernel_gateway_app_settings` Block below. /// public readonly Outputs.SpaceSpaceSettingsKernelGatewayAppSettings? KernelGatewayAppSettings; + /// + /// The storage settings. See `space_storage_settings` Block below. + /// public readonly Outputs.SpaceSpaceSettingsSpaceStorageSettings? SpaceStorageSettings; [OutputConstructor] diff --git a/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettings.cs b/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettings.cs index f0a28580db0..cb11887135e 100644 --- a/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettings.cs +++ b/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettings.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.Sagemaker.Outputs [OutputType] public sealed class SpaceSpaceSettingsSpaceStorageSettings { + /// + /// A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + /// public readonly Outputs.SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings EbsStorageSettings; [OutputConstructor] diff --git a/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.cs b/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.cs index 224ba25524f..1d333d667f1 100644 --- a/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.cs +++ b/sdk/dotnet/Sagemaker/Outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.Sagemaker.Outputs [OutputType] public sealed class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings { + /// + /// The size of an EBS storage volume for a space. + /// public readonly int EbsVolumeSizeInGb; [OutputConstructor] diff --git a/sdk/dotnet/Sagemaker/Space.cs b/sdk/dotnet/Sagemaker/Space.cs index 2dfd12f71ef..2cb0310be64 100644 --- a/sdk/dotnet/Sagemaker/Space.cs +++ b/sdk/dotnet/Sagemaker/Space.cs @@ -63,7 +63,7 @@ public partial class Space : global::Pulumi.CustomResource public Output HomeEfsFileSystemUid { get; private set; } = null!; /// - /// A collection of ownership settings. See `ownership_settings` Block below. + /// A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. /// [Output("ownershipSettings")] public Output OwnershipSettings { get; private set; } = null!; @@ -87,7 +87,7 @@ public partial class Space : global::Pulumi.CustomResource public Output SpaceSettings { get; private set; } = null!; /// - /// A collection of space sharing settings. See `space_sharing_settings` Block below. + /// A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. /// [Output("spaceSharingSettings")] public Output SpaceSharingSettings { get; private set; } = null!; @@ -163,7 +163,7 @@ public sealed class SpaceArgs : global::Pulumi.ResourceArgs public Input DomainId { get; set; } = null!; /// - /// A collection of ownership settings. See `ownership_settings` Block below. + /// A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. /// [Input("ownershipSettings")] public Input? OwnershipSettings { get; set; } @@ -187,7 +187,7 @@ public sealed class SpaceArgs : global::Pulumi.ResourceArgs public Input? SpaceSettings { get; set; } /// - /// A collection of space sharing settings. See `space_sharing_settings` Block below. + /// A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. /// [Input("spaceSharingSettings")] public Input? SpaceSharingSettings { get; set; } @@ -231,7 +231,7 @@ public sealed class SpaceState : global::Pulumi.ResourceArgs public Input? HomeEfsFileSystemUid { get; set; } /// - /// A collection of ownership settings. See `ownership_settings` Block below. + /// A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. /// [Input("ownershipSettings")] public Input? OwnershipSettings { get; set; } @@ -255,7 +255,7 @@ public sealed class SpaceState : global::Pulumi.ResourceArgs public Input? SpaceSettings { get; set; } /// - /// A collection of space sharing settings. See `space_sharing_settings` Block below. + /// A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. /// [Input("spaceSharingSettings")] public Input? SpaceSharingSettings { get; set; } diff --git a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceArgs.cs b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceArgs.cs index 84915bdf88c..879e4a009e3 100644 --- a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class SubscriberSourceArgs : global::Pulumi.ResourceArgs { /// - /// Amazon Security Lake supports log and event collection for natively supported AWS services. + /// Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. /// [Input("awsLogSourceResource")] public Input? AwsLogSourceResource { get; set; } /// - /// Amazon Security Lake supports custom source types. + /// Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. /// [Input("customLogSourceResource")] public Input? CustomLogSourceResource { get; set; } diff --git a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceArgs.cs b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceArgs.cs index 0205bd03feb..ad5855eb907 100644 --- a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class SubscriberSourceAwsLogSourceResourceArgs : global::Pulumi.ResourceArgs { /// - /// The name for a third-party custom source. This must be a Regionally unique value. + /// Provides data expiration details of Amazon Security Lake object. /// [Input("sourceName", required: true)] public Input SourceName { get; set; } = null!; /// - /// The version for a third-party custom source. This must be a Regionally unique value. + /// Provides data storage transition details of Amazon Security Lake object. /// [Input("sourceVersion")] public Input? SourceVersion { get; set; } diff --git a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceGetArgs.cs b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceGetArgs.cs index 0c37c52fc62..22ace19f80e 100644 --- a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceGetArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceAwsLogSourceResourceGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class SubscriberSourceAwsLogSourceResourceGetArgs : global::Pulumi.ResourceArgs { /// - /// The name for a third-party custom source. This must be a Regionally unique value. + /// Provides data expiration details of Amazon Security Lake object. /// [Input("sourceName", required: true)] public Input SourceName { get; set; } = null!; /// - /// The version for a third-party custom source. This must be a Regionally unique value. + /// Provides data storage transition details of Amazon Security Lake object. /// [Input("sourceVersion")] public Input? SourceVersion { get; set; } diff --git a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceArgs.cs b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceArgs.cs index 71941b2e3b8..b9b2302321c 100644 --- a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceArgs.cs @@ -16,7 +16,7 @@ public sealed class SubscriberSourceCustomLogSourceResourceArgs : global::Pulumi private InputList? _attributes; /// - /// The attributes of a third-party custom source. + /// The attributes of the third-party custom source. See `attributes` Block below. /// public InputList Attributes { @@ -26,6 +26,10 @@ public InputList At [Input("providers")] private InputList? _providers; + + /// + /// The details of the log provider for the third-party custom source. See `provider` Block below. + /// public InputList Providers { get => _providers ?? (_providers = new InputList()); diff --git a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceGetArgs.cs b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceGetArgs.cs index f5eab444c2e..690c2811515 100644 --- a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceGetArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceCustomLogSourceResourceGetArgs.cs @@ -16,7 +16,7 @@ public sealed class SubscriberSourceCustomLogSourceResourceGetArgs : global::Pul private InputList? _attributes; /// - /// The attributes of a third-party custom source. + /// The attributes of the third-party custom source. See `attributes` Block below. /// public InputList Attributes { @@ -26,6 +26,10 @@ public InputList [Input("providers")] private InputList? _providers; + + /// + /// The details of the log provider for the third-party custom source. See `provider` Block below. + /// public InputList Providers { get => _providers ?? (_providers = new InputList()); diff --git a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceGetArgs.cs b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceGetArgs.cs index 7032ce8b24f..9b31cf3f651 100644 --- a/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceGetArgs.cs +++ b/sdk/dotnet/SecurityLake/Inputs/SubscriberSourceGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.SecurityLake.Inputs public sealed class SubscriberSourceGetArgs : global::Pulumi.ResourceArgs { /// - /// Amazon Security Lake supports log and event collection for natively supported AWS services. + /// Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. /// [Input("awsLogSourceResource")] public Input? AwsLogSourceResource { get; set; } /// - /// Amazon Security Lake supports custom source types. + /// Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. /// [Input("customLogSourceResource")] public Input? CustomLogSourceResource { get; set; } diff --git a/sdk/dotnet/SecurityLake/Outputs/SubscriberSource.cs b/sdk/dotnet/SecurityLake/Outputs/SubscriberSource.cs index 6ad44740cb9..27767f1ae79 100644 --- a/sdk/dotnet/SecurityLake/Outputs/SubscriberSource.cs +++ b/sdk/dotnet/SecurityLake/Outputs/SubscriberSource.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.SecurityLake.Outputs public sealed class SubscriberSource { /// - /// Amazon Security Lake supports log and event collection for natively supported AWS services. + /// Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. /// public readonly Outputs.SubscriberSourceAwsLogSourceResource? AwsLogSourceResource; /// - /// Amazon Security Lake supports custom source types. + /// Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. /// public readonly Outputs.SubscriberSourceCustomLogSourceResource? CustomLogSourceResource; diff --git a/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceAwsLogSourceResource.cs b/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceAwsLogSourceResource.cs index d931cf53505..a2d7daf2872 100644 --- a/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceAwsLogSourceResource.cs +++ b/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceAwsLogSourceResource.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.SecurityLake.Outputs public sealed class SubscriberSourceAwsLogSourceResource { /// - /// The name for a third-party custom source. This must be a Regionally unique value. + /// Provides data expiration details of Amazon Security Lake object. /// public readonly string SourceName; /// - /// The version for a third-party custom source. This must be a Regionally unique value. + /// Provides data storage transition details of Amazon Security Lake object. /// public readonly string? SourceVersion; diff --git a/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceCustomLogSourceResource.cs b/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceCustomLogSourceResource.cs index 3da8d448c6e..30b3c60de9f 100644 --- a/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceCustomLogSourceResource.cs +++ b/sdk/dotnet/SecurityLake/Outputs/SubscriberSourceCustomLogSourceResource.cs @@ -14,9 +14,12 @@ namespace Pulumi.Aws.SecurityLake.Outputs public sealed class SubscriberSourceCustomLogSourceResource { /// - /// The attributes of a third-party custom source. + /// The attributes of the third-party custom source. See `attributes` Block below. /// public readonly ImmutableArray Attributes; + /// + /// The details of the log provider for the third-party custom source. See `provider` Block below. + /// public readonly ImmutableArray Providers; /// /// The name for a third-party custom source. This must be a Regionally unique value. diff --git a/sdk/dotnet/SecurityLake/Subscriber.cs b/sdk/dotnet/SecurityLake/Subscriber.cs index b45ec0bbc4f..d34067f5228 100644 --- a/sdk/dotnet/SecurityLake/Subscriber.cs +++ b/sdk/dotnet/SecurityLake/Subscriber.cs @@ -63,6 +63,9 @@ namespace Pulumi.Aws.SecurityLake [AwsResourceType("aws:securitylake/subscriber:Subscriber")] public partial class Subscriber : global::Pulumi.CustomResource { + /// + /// The Amazon S3 or Lake Formation access type. + /// [Output("accessType")] public Output AccessType { get; private set; } = null!; @@ -97,7 +100,7 @@ public partial class Subscriber : global::Pulumi.CustomResource public Output S3BucketArn { get; private set; } = null!; /// - /// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + /// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. /// [Output("source")] public Output Source { get; private set; } = null!; @@ -115,7 +118,7 @@ public partial class Subscriber : global::Pulumi.CustomResource public Output SubscriberEndpoint { get; private set; } = null!; /// - /// The AWS identity used to access your data. + /// The AWS identity used to access your data. See `subscriber_identity` Block below. /// [Output("subscriberIdentity")] public Output SubscriberIdentity { get; private set; } = null!; @@ -193,11 +196,14 @@ public static Subscriber Get(string name, Input id, SubscriberState? sta public sealed class SubscriberArgs : global::Pulumi.ResourceArgs { + /// + /// The Amazon S3 or Lake Formation access type. + /// [Input("accessType")] public Input? AccessType { get; set; } /// - /// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + /// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. /// [Input("source")] public Input? Source { get; set; } @@ -209,7 +215,7 @@ public sealed class SubscriberArgs : global::Pulumi.ResourceArgs public Input? SubscriberDescription { get; set; } /// - /// The AWS identity used to access your data. + /// The AWS identity used to access your data. See `subscriber_identity` Block below. /// [Input("subscriberIdentity")] public Input? SubscriberIdentity { get; set; } @@ -243,6 +249,9 @@ public SubscriberArgs() public sealed class SubscriberState : global::Pulumi.ResourceArgs { + /// + /// The Amazon S3 or Lake Formation access type. + /// [Input("accessType")] public Input? AccessType { get; set; } @@ -277,7 +286,7 @@ public sealed class SubscriberState : global::Pulumi.ResourceArgs public Input? S3BucketArn { get; set; } /// - /// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + /// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. /// [Input("source")] public Input? Source { get; set; } @@ -295,7 +304,7 @@ public sealed class SubscriberState : global::Pulumi.ResourceArgs public Input? SubscriberEndpoint { get; set; } /// - /// The AWS identity used to access your data. + /// The AWS identity used to access your data. See `subscriber_identity` Block below. /// [Input("subscriberIdentity")] public Input? SubscriberIdentity { get; set; } diff --git a/sdk/dotnet/SesV2/ConfigurationSetEventDestination.cs b/sdk/dotnet/SesV2/ConfigurationSetEventDestination.cs index 1532099ea41..8b536abcbdb 100644 --- a/sdk/dotnet/SesV2/ConfigurationSetEventDestination.cs +++ b/sdk/dotnet/SesV2/ConfigurationSetEventDestination.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.SesV2 /// /// ## Example Usage /// - /// ### Cloud Watch Destination + /// ### CloudWatch Destination /// /// ```csharp /// using System.Collections.Generic; @@ -58,6 +58,42 @@ namespace Pulumi.Aws.SesV2 /// }); /// ``` /// + /// ### EventBridge Destination + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = Aws.CloudWatch.GetEventBus.Invoke(new() + /// { + /// Name = "default", + /// }); + /// + /// var example = new Aws.SesV2.ConfigurationSetEventDestination("example", new() + /// { + /// ConfigurationSetName = exampleAwsSesv2ConfigurationSet.ConfigurationSetName, + /// EventDestinationName = "example", + /// EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs + /// { + /// EventBridgeDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs + /// { + /// EventBusArn = @default.Apply(@default => @default.Apply(getEventBusResult => getEventBusResult.Arn)), + /// }, + /// Enabled = true, + /// MatchingEventTypes = new[] + /// { + /// "SEND", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ### Kinesis Firehose Destination /// /// ```csharp @@ -191,7 +227,7 @@ public partial class ConfigurationSetEventDestination : global::Pulumi.CustomRes public Output EventDestination { get; private set; } = null!; /// - /// An object that defines the event destination. See event_destination below. + /// An object that defines the event destination. See `event_destination` Block for details. /// [Output("eventDestinationName")] public Output EventDestinationName { get; private set; } = null!; @@ -255,7 +291,7 @@ public sealed class ConfigurationSetEventDestinationArgs : global::Pulumi.Resour public Input EventDestination { get; set; } = null!; /// - /// An object that defines the event destination. See event_destination below. + /// An object that defines the event destination. See `event_destination` Block for details. /// [Input("eventDestinationName", required: true)] public Input EventDestinationName { get; set; } = null!; @@ -281,7 +317,7 @@ public sealed class ConfigurationSetEventDestinationState : global::Pulumi.Resou public Input? EventDestination { get; set; } /// - /// An object that defines the event destination. See event_destination below. + /// An object that defines the event destination. See `event_destination` Block for details. /// [Input("eventDestinationName")] public Input? EventDestinationName { get; set; } diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationArgs.cs index 4f6d2b6da68..b62ecea6b3c 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.SesV2.Inputs public sealed class ConfigurationSetEventDestinationEventDestinationArgs : global::Pulumi.ResourceArgs { /// - /// An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + /// An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. /// [Input("cloudWatchDestination")] public Input? CloudWatchDestination { get; set; } @@ -24,8 +24,11 @@ public sealed class ConfigurationSetEventDestinationEventDestinationArgs : globa [Input("enabled")] public Input? Enabled { get; set; } + [Input("eventBridgeDestination")] + public Input? EventBridgeDestination { get; set; } + /// - /// An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + /// An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. /// [Input("kinesisFirehoseDestination")] public Input? KinesisFirehoseDestination { get; set; } @@ -35,8 +38,6 @@ public sealed class ConfigurationSetEventDestinationEventDestinationArgs : globa /// /// An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - /// - /// The following arguments are optional: /// public InputList MatchingEventTypes { @@ -45,13 +46,13 @@ public InputList MatchingEventTypes } /// - /// An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + /// An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. /// [Input("pinpointDestination")] public Input? PinpointDestination { get; set; } /// - /// An object that defines an Amazon SNS destination for email events. See sns_destination below. + /// An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. /// [Input("snsDestination")] public Input? SnsDestination { get; set; } diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.cs index e35c2250a77..2f74d2683eb 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.cs @@ -16,7 +16,7 @@ public sealed class ConfigurationSetEventDestinationEventDestinationCloudWatchDe private InputList? _dimensionConfigurations; /// - /// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + /// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. /// public InputList DimensionConfigurations { diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationGetArgs.cs index ae28c79c5b8..ebcfddd2565 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationGetArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationGetArgs.cs @@ -16,7 +16,7 @@ public sealed class ConfigurationSetEventDestinationEventDestinationCloudWatchDe private InputList? _dimensionConfigurations; /// - /// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + /// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. /// public InputList DimensionConfigurations { diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.cs new file mode 100644 index 00000000000..cb499860da1 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + /// + [Input("eventBusArn", required: true)] + public Input EventBusArn { get; set; } = null!; + + public ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs() + { + } + public static new ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs Empty => new ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs.cs new file mode 100644 index 00000000000..bcd081fa935 --- /dev/null +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SesV2.Inputs +{ + + public sealed class ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + /// + [Input("eventBusArn", required: true)] + public Input EventBusArn { get; set; } = null!; + + public ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs() + { + } + public static new ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs Empty => new ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationGetArgs(); + } +} diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationGetArgs.cs index e173708e175..9ecf4ff94db 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationGetArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetEventDestinationEventDestinationGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.SesV2.Inputs public sealed class ConfigurationSetEventDestinationEventDestinationGetArgs : global::Pulumi.ResourceArgs { /// - /// An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + /// An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. /// [Input("cloudWatchDestination")] public Input? CloudWatchDestination { get; set; } @@ -24,8 +24,11 @@ public sealed class ConfigurationSetEventDestinationEventDestinationGetArgs : gl [Input("enabled")] public Input? Enabled { get; set; } + [Input("eventBridgeDestination")] + public Input? EventBridgeDestination { get; set; } + /// - /// An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + /// An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. /// [Input("kinesisFirehoseDestination")] public Input? KinesisFirehoseDestination { get; set; } @@ -35,8 +38,6 @@ public sealed class ConfigurationSetEventDestinationEventDestinationGetArgs : gl /// /// An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - /// - /// The following arguments are optional: /// public InputList MatchingEventTypes { @@ -45,13 +46,13 @@ public InputList MatchingEventTypes } /// - /// An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + /// An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. /// [Input("pinpointDestination")] public Input? PinpointDestination { get; set; } /// - /// An object that defines an Amazon SNS destination for email events. See sns_destination below. + /// An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. /// [Input("snsDestination")] public Input? SnsDestination { get; set; } diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestination.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestination.cs index 23e76cd9c2f..e3f28d00be6 100644 --- a/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestination.cs +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestination.cs @@ -14,29 +14,28 @@ namespace Pulumi.Aws.SesV2.Outputs public sealed class ConfigurationSetEventDestinationEventDestination { /// - /// An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + /// An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. /// public readonly Outputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestination? CloudWatchDestination; /// /// When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. /// public readonly bool? Enabled; + public readonly Outputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestination? EventBridgeDestination; /// - /// An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + /// An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. /// public readonly Outputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination? KinesisFirehoseDestination; /// /// An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - /// - /// The following arguments are optional: /// public readonly ImmutableArray MatchingEventTypes; /// - /// An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + /// An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. /// public readonly Outputs.ConfigurationSetEventDestinationEventDestinationPinpointDestination? PinpointDestination; /// - /// An object that defines an Amazon SNS destination for email events. See sns_destination below. + /// An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. /// public readonly Outputs.ConfigurationSetEventDestinationEventDestinationSnsDestination? SnsDestination; @@ -46,6 +45,8 @@ private ConfigurationSetEventDestinationEventDestination( bool? enabled, + Outputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestination? eventBridgeDestination, + Outputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination? kinesisFirehoseDestination, ImmutableArray matchingEventTypes, @@ -56,6 +57,7 @@ private ConfigurationSetEventDestinationEventDestination( { CloudWatchDestination = cloudWatchDestination; Enabled = enabled; + EventBridgeDestination = eventBridgeDestination; KinesisFirehoseDestination = kinesisFirehoseDestination; MatchingEventTypes = matchingEventTypes; PinpointDestination = pinpointDestination; diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.cs index 0e50eabc874..a2c4238c7e7 100644 --- a/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.cs +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.SesV2.Outputs public sealed class ConfigurationSetEventDestinationEventDestinationCloudWatchDestination { /// - /// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + /// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. /// public readonly ImmutableArray DimensionConfigurations; diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.cs new file mode 100644 index 00000000000..4f8881058f1 --- /dev/null +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SesV2.Outputs +{ + + [OutputType] + public sealed class ConfigurationSetEventDestinationEventDestinationEventBridgeDestination + { + /// + /// The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + /// + public readonly string EventBusArn; + + [OutputConstructor] + private ConfigurationSetEventDestinationEventDestinationEventBridgeDestination(string eventBusArn) + { + EventBusArn = eventBusArn; + } + } +} diff --git a/sdk/dotnet/Shield/Subscription.cs b/sdk/dotnet/Shield/Subscription.cs new file mode 100644 index 00000000000..bc5be50e5c1 --- /dev/null +++ b/sdk/dotnet/Shield/Subscription.cs @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Shield +{ + /// + /// Resource for managing an AWS Shield Subscription. + /// + /// > This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details. + /// + /// > Destruction of this resource will set `auto_renew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skip_destroy` to `true` to skip modifying the `auto_renew` argument during destruction. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Shield.Subscription("example", new() + /// { + /// AutoRenew = "ENABLED", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Shield Subscription using the `id`. For example: + /// + /// ```sh + /// $ pulumi import aws:shield/subscription:Subscription example 012345678901 + /// ``` + /// + [AwsResourceType("aws:shield/subscription:Subscription")] + public partial class Subscription : global::Pulumi.CustomResource + { + /// + /// Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + /// + [Output("autoRenew")] + public Output AutoRenew { get; private set; } = null!; + + /// + /// Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + /// + [Output("skipDestroy")] + public Output SkipDestroy { get; private set; } = null!; + + + /// + /// Create a Subscription resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Subscription(string name, SubscriptionArgs? args = null, CustomResourceOptions? options = null) + : base("aws:shield/subscription:Subscription", name, args ?? new SubscriptionArgs(), MakeResourceOptions(options, "")) + { + } + + private Subscription(string name, Input id, SubscriptionState? state = null, CustomResourceOptions? options = null) + : base("aws:shield/subscription:Subscription", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Subscription resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Subscription Get(string name, Input id, SubscriptionState? state = null, CustomResourceOptions? options = null) + { + return new Subscription(name, id, state, options); + } + } + + public sealed class SubscriptionArgs : global::Pulumi.ResourceArgs + { + /// + /// Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + + /// + /// Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + /// + [Input("skipDestroy")] + public Input? SkipDestroy { get; set; } + + public SubscriptionArgs() + { + } + public static new SubscriptionArgs Empty => new SubscriptionArgs(); + } + + public sealed class SubscriptionState : global::Pulumi.ResourceArgs + { + /// + /// Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + /// + [Input("autoRenew")] + public Input? AutoRenew { get; set; } + + /// + /// Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + /// + [Input("skipDestroy")] + public Input? SkipDestroy { get; set; } + + public SubscriptionState() + { + } + public static new SubscriptionState Empty => new SubscriptionState(); + } +} diff --git a/sdk/dotnet/Sns/Topic.cs b/sdk/dotnet/Sns/Topic.cs index 205dec16941..ee73b376613 100644 --- a/sdk/dotnet/Sns/Topic.cs +++ b/sdk/dotnet/Sns/Topic.cs @@ -175,7 +175,7 @@ public partial class Topic : global::Pulumi.CustomResource public Output DisplayName { get; private set; } = null!; /// - /// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + /// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. /// [Output("fifoTopic")] public Output FifoTopic { get; private set; } = null!; @@ -395,7 +395,7 @@ public sealed class TopicArgs : global::Pulumi.ResourceArgs public Input? DisplayName { get; set; } /// - /// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + /// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. /// [Input("fifoTopic")] public Input? FifoTopic { get; set; } @@ -583,7 +583,7 @@ public sealed class TopicState : global::Pulumi.ResourceArgs public Input? DisplayName { get; set; } /// - /// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + /// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. /// [Input("fifoTopic")] public Input? FifoTopic { get; set; } diff --git a/sdk/dotnet/Vpc/SecurityGroupEgressRule.cs b/sdk/dotnet/Vpc/SecurityGroupEgressRule.cs index 350ff515f15..7ca36c3c83d 100644 --- a/sdk/dotnet/Vpc/SecurityGroupEgressRule.cs +++ b/sdk/dotnet/Vpc/SecurityGroupEgressRule.cs @@ -14,10 +14,9 @@ namespace Pulumi.Aws.Vpc /// /// When specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic. /// - /// > **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` resource has been added to address these limitations and should be used for all new security group rules. - /// You 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. + /// > **NOTE:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + /// + /// !> **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. /// /// ## Example Usage /// diff --git a/sdk/dotnet/Vpc/SecurityGroupIngressRule.cs b/sdk/dotnet/Vpc/SecurityGroupIngressRule.cs index 2afd001260e..50086ae8e2a 100644 --- a/sdk/dotnet/Vpc/SecurityGroupIngressRule.cs +++ b/sdk/dotnet/Vpc/SecurityGroupIngressRule.cs @@ -14,10 +14,9 @@ namespace Pulumi.Aws.Vpc /// /// When specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic. /// - /// > **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.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules. - /// You 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. + /// > **NOTE:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + /// + /// !> **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. /// /// ## Example Usage /// diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs index 480dd822c35..826d739463a 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs @@ -18,6 +18,9 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSq [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs index 41b2bfdcfa8..a4953c7e721 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs @@ -18,6 +18,9 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSq [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementArgs.cs index 88a888fcfcc..fbbebea0b97 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementArgs.cs @@ -18,6 +18,9 @@ public sealed class RuleGroupRuleStatementSqliMatchStatementArgs : global::Pulum [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementGetArgs.cs b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementGetArgs.cs index a7c8689eba3..01995478885 100644 --- a/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/RuleGroupRuleStatementSqliMatchStatementGetArgs.cs @@ -18,6 +18,9 @@ public sealed class RuleGroupRuleStatementSqliMatchStatementGetArgs : global::Pu [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.cs index 2bea3e5185a..b69e3e62e7b 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.cs @@ -18,6 +18,9 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementGetArgs.cs index 6a04eee2c43..625f9d07e01 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementGetArgs.cs @@ -18,6 +18,9 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs index d66e08d5233..f05a721afb6 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.cs @@ -18,6 +18,9 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliM [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs index 399221307c5..6fb5dd21d00 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementGetArgs.cs @@ -18,6 +18,9 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliM [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementArgs.cs index 07e4263fcac..84726809783 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementArgs.cs @@ -18,6 +18,9 @@ public sealed class WebAclRuleStatementSqliMatchStatementArgs : global::Pulumi.R [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementGetArgs.cs b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementGetArgs.cs index 3afbf851314..c8e075045fe 100644 --- a/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementGetArgs.cs +++ b/sdk/dotnet/WafV2/Inputs/WebAclRuleStatementSqliMatchStatementGetArgs.cs @@ -18,6 +18,9 @@ public sealed class WebAclRuleStatementSqliMatchStatementGetArgs : global::Pulum [Input("fieldToMatch")] public Input? FieldToMatch { get; set; } + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// [Input("sensitivityLevel")] public Input? SensitivityLevel { get; set; } diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs index e88ad3e8a6a..c3495c4531b 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs @@ -17,6 +17,9 @@ public sealed class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSq /// The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. /// public readonly Outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch? FieldToMatch; + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// public readonly string? SensitivityLevel; /// /// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. diff --git a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatement.cs b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatement.cs index 7b6edbdecf6..e5b94720eda 100644 --- a/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatement.cs +++ b/sdk/dotnet/WafV2/Outputs/RuleGroupRuleStatementSqliMatchStatement.cs @@ -17,6 +17,9 @@ public sealed class RuleGroupRuleStatementSqliMatchStatement /// The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. /// public readonly Outputs.RuleGroupRuleStatementSqliMatchStatementFieldToMatch? FieldToMatch; + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// public readonly string? SensitivityLevel; /// /// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.cs index 61e37c073a9..d800a055922 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.cs @@ -17,6 +17,9 @@ public sealed class WebAclRuleStatementManagedRuleGroupStatementScopeDownStateme /// Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. /// public readonly Outputs.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch? FieldToMatch; + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// public readonly string? SensitivityLevel; /// /// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs index 27763c3ac24..b50b88e12b3 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.cs @@ -17,6 +17,9 @@ public sealed class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliM /// Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. /// public readonly Outputs.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch? FieldToMatch; + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// public readonly string? SensitivityLevel; /// /// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. diff --git a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatement.cs b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatement.cs index 7b137513b8c..fcb736ed64c 100644 --- a/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatement.cs +++ b/sdk/dotnet/WafV2/Outputs/WebAclRuleStatementSqliMatchStatement.cs @@ -17,6 +17,9 @@ public sealed class WebAclRuleStatementSqliMatchStatement /// Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. /// public readonly Outputs.WebAclRuleStatementSqliMatchStatementFieldToMatch? FieldToMatch; + /// + /// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + /// public readonly string? SensitivityLevel; /// /// Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. diff --git a/sdk/go/aws/appflow/flow.go b/sdk/go/aws/appflow/flow.go index 92e66650dbe..139f310acef 100644 --- a/sdk/go/aws/appflow/flow.go +++ b/sdk/go/aws/appflow/flow.go @@ -195,6 +195,8 @@ type Flow struct { FlowStatus pulumi.StringOutput `pulumi:"flowStatus"` // ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. KmsArn pulumi.StringOutput `pulumi:"kmsArn"` + // A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig FlowMetadataCatalogConfigOutput `pulumi:"metadataCatalogConfig"` // Name of the flow. Name pulumi.StringOutput `pulumi:"name"` // The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. @@ -263,6 +265,8 @@ type flowState struct { FlowStatus *string `pulumi:"flowStatus"` // ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. KmsArn *string `pulumi:"kmsArn"` + // A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig *FlowMetadataCatalogConfig `pulumi:"metadataCatalogConfig"` // Name of the flow. Name *string `pulumi:"name"` // The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. @@ -290,6 +294,8 @@ type FlowState struct { FlowStatus pulumi.StringPtrInput // ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. KmsArn pulumi.StringPtrInput + // A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig FlowMetadataCatalogConfigPtrInput // Name of the flow. Name pulumi.StringPtrInput // The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. @@ -317,6 +323,8 @@ type flowArgs struct { DestinationFlowConfigs []FlowDestinationFlowConfig `pulumi:"destinationFlowConfigs"` // ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. KmsArn *string `pulumi:"kmsArn"` + // A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig *FlowMetadataCatalogConfig `pulumi:"metadataCatalogConfig"` // Name of the flow. Name *string `pulumi:"name"` // The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. @@ -337,6 +345,8 @@ type FlowArgs struct { DestinationFlowConfigs FlowDestinationFlowConfigArrayInput // ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. KmsArn pulumi.StringPtrInput + // A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + MetadataCatalogConfig FlowMetadataCatalogConfigPtrInput // Name of the flow. Name pulumi.StringPtrInput // The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. @@ -461,6 +471,11 @@ func (o FlowOutput) KmsArn() pulumi.StringOutput { return o.ApplyT(func(v *Flow) pulumi.StringOutput { return v.KmsArn }).(pulumi.StringOutput) } +// A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. +func (o FlowOutput) MetadataCatalogConfig() FlowMetadataCatalogConfigOutput { + return o.ApplyT(func(v *Flow) FlowMetadataCatalogConfigOutput { return v.MetadataCatalogConfig }).(FlowMetadataCatalogConfigOutput) +} + // Name of the flow. func (o FlowOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Flow) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/appflow/pulumiTypes.go b/sdk/go/aws/appflow/pulumiTypes.go index 9d6b77d5f0b..fc8192cf335 100644 --- a/sdk/go/aws/appflow/pulumiTypes.go +++ b/sdk/go/aws/appflow/pulumiTypes.go @@ -12499,6 +12499,8 @@ func (o FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatC type FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig struct { // Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. PrefixFormat *string `pulumi:"prefixFormat"` + // Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + PrefixHierarchies []string `pulumi:"prefixHierarchies"` // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. PrefixType *string `pulumi:"prefixType"` } @@ -12517,6 +12519,8 @@ type FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConf type FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs struct { // Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. PrefixFormat pulumi.StringPtrInput `pulumi:"prefixFormat"` + // Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + PrefixHierarchies pulumi.StringArrayInput `pulumi:"prefixHierarchies"` // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. PrefixType pulumi.StringPtrInput `pulumi:"prefixType"` } @@ -12605,6 +12609,13 @@ func (o FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatC }).(pulumi.StringPtrOutput) } +// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` +func (o FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigOutput) PrefixHierarchies() pulumi.StringArrayOutput { + return o.ApplyT(func(v FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig) []string { + return v.PrefixHierarchies + }).(pulumi.StringArrayOutput) +} + // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. func (o FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigOutput) PrefixType() pulumi.StringPtrOutput { return o.ApplyT(func(v FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig) *string { @@ -12646,6 +12657,16 @@ func (o FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatC }).(pulumi.StringPtrOutput) } +// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` +func (o FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigPtrOutput) PrefixHierarchies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig) []string { + if v == nil { + return nil + } + return v.PrefixHierarchies + }).(pulumi.StringArrayOutput) +} + // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. func (o FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigPtrOutput) PrefixType() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig) *string { @@ -14420,6 +14441,8 @@ func (o FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputF type FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig struct { // Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. PrefixFormat *string `pulumi:"prefixFormat"` + // Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + PrefixHierarchies []string `pulumi:"prefixHierarchies"` // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. PrefixType string `pulumi:"prefixType"` } @@ -14438,6 +14461,8 @@ type FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputForm type FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs struct { // Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. PrefixFormat pulumi.StringPtrInput `pulumi:"prefixFormat"` + // Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + PrefixHierarchies pulumi.StringArrayInput `pulumi:"prefixHierarchies"` // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. PrefixType pulumi.StringInput `pulumi:"prefixType"` } @@ -14526,6 +14551,13 @@ func (o FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputF }).(pulumi.StringPtrOutput) } +// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` +func (o FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigOutput) PrefixHierarchies() pulumi.StringArrayOutput { + return o.ApplyT(func(v FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig) []string { + return v.PrefixHierarchies + }).(pulumi.StringArrayOutput) +} + // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. func (o FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigOutput) PrefixType() pulumi.StringOutput { return o.ApplyT(func(v FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig) string { @@ -14567,6 +14599,16 @@ func (o FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputF }).(pulumi.StringPtrOutput) } +// Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` +func (o FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigPtrOutput) PrefixHierarchies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig) []string { + if v == nil { + return nil + } + return v.PrefixHierarchies + }).(pulumi.StringArrayOutput) +} + // Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. func (o FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigPtrOutput) PrefixType() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig) *string { @@ -14940,6 +14982,314 @@ func (o FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandl }).(pulumi.BoolPtrOutput) } +type FlowMetadataCatalogConfig struct { + GlueDataCatalog *FlowMetadataCatalogConfigGlueDataCatalog `pulumi:"glueDataCatalog"` +} + +// FlowMetadataCatalogConfigInput is an input type that accepts FlowMetadataCatalogConfigArgs and FlowMetadataCatalogConfigOutput values. +// You can construct a concrete instance of `FlowMetadataCatalogConfigInput` via: +// +// FlowMetadataCatalogConfigArgs{...} +type FlowMetadataCatalogConfigInput interface { + pulumi.Input + + ToFlowMetadataCatalogConfigOutput() FlowMetadataCatalogConfigOutput + ToFlowMetadataCatalogConfigOutputWithContext(context.Context) FlowMetadataCatalogConfigOutput +} + +type FlowMetadataCatalogConfigArgs struct { + GlueDataCatalog FlowMetadataCatalogConfigGlueDataCatalogPtrInput `pulumi:"glueDataCatalog"` +} + +func (FlowMetadataCatalogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FlowMetadataCatalogConfig)(nil)).Elem() +} + +func (i FlowMetadataCatalogConfigArgs) ToFlowMetadataCatalogConfigOutput() FlowMetadataCatalogConfigOutput { + return i.ToFlowMetadataCatalogConfigOutputWithContext(context.Background()) +} + +func (i FlowMetadataCatalogConfigArgs) ToFlowMetadataCatalogConfigOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowMetadataCatalogConfigOutput) +} + +func (i FlowMetadataCatalogConfigArgs) ToFlowMetadataCatalogConfigPtrOutput() FlowMetadataCatalogConfigPtrOutput { + return i.ToFlowMetadataCatalogConfigPtrOutputWithContext(context.Background()) +} + +func (i FlowMetadataCatalogConfigArgs) ToFlowMetadataCatalogConfigPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowMetadataCatalogConfigOutput).ToFlowMetadataCatalogConfigPtrOutputWithContext(ctx) +} + +// FlowMetadataCatalogConfigPtrInput is an input type that accepts FlowMetadataCatalogConfigArgs, FlowMetadataCatalogConfigPtr and FlowMetadataCatalogConfigPtrOutput values. +// You can construct a concrete instance of `FlowMetadataCatalogConfigPtrInput` via: +// +// FlowMetadataCatalogConfigArgs{...} +// +// or: +// +// nil +type FlowMetadataCatalogConfigPtrInput interface { + pulumi.Input + + ToFlowMetadataCatalogConfigPtrOutput() FlowMetadataCatalogConfigPtrOutput + ToFlowMetadataCatalogConfigPtrOutputWithContext(context.Context) FlowMetadataCatalogConfigPtrOutput +} + +type flowMetadataCatalogConfigPtrType FlowMetadataCatalogConfigArgs + +func FlowMetadataCatalogConfigPtr(v *FlowMetadataCatalogConfigArgs) FlowMetadataCatalogConfigPtrInput { + return (*flowMetadataCatalogConfigPtrType)(v) +} + +func (*flowMetadataCatalogConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FlowMetadataCatalogConfig)(nil)).Elem() +} + +func (i *flowMetadataCatalogConfigPtrType) ToFlowMetadataCatalogConfigPtrOutput() FlowMetadataCatalogConfigPtrOutput { + return i.ToFlowMetadataCatalogConfigPtrOutputWithContext(context.Background()) +} + +func (i *flowMetadataCatalogConfigPtrType) ToFlowMetadataCatalogConfigPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowMetadataCatalogConfigPtrOutput) +} + +type FlowMetadataCatalogConfigOutput struct{ *pulumi.OutputState } + +func (FlowMetadataCatalogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FlowMetadataCatalogConfig)(nil)).Elem() +} + +func (o FlowMetadataCatalogConfigOutput) ToFlowMetadataCatalogConfigOutput() FlowMetadataCatalogConfigOutput { + return o +} + +func (o FlowMetadataCatalogConfigOutput) ToFlowMetadataCatalogConfigOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigOutput { + return o +} + +func (o FlowMetadataCatalogConfigOutput) ToFlowMetadataCatalogConfigPtrOutput() FlowMetadataCatalogConfigPtrOutput { + return o.ToFlowMetadataCatalogConfigPtrOutputWithContext(context.Background()) +} + +func (o FlowMetadataCatalogConfigOutput) ToFlowMetadataCatalogConfigPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FlowMetadataCatalogConfig) *FlowMetadataCatalogConfig { + return &v + }).(FlowMetadataCatalogConfigPtrOutput) +} + +func (o FlowMetadataCatalogConfigOutput) GlueDataCatalog() FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return o.ApplyT(func(v FlowMetadataCatalogConfig) *FlowMetadataCatalogConfigGlueDataCatalog { return v.GlueDataCatalog }).(FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) +} + +type FlowMetadataCatalogConfigPtrOutput struct{ *pulumi.OutputState } + +func (FlowMetadataCatalogConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FlowMetadataCatalogConfig)(nil)).Elem() +} + +func (o FlowMetadataCatalogConfigPtrOutput) ToFlowMetadataCatalogConfigPtrOutput() FlowMetadataCatalogConfigPtrOutput { + return o +} + +func (o FlowMetadataCatalogConfigPtrOutput) ToFlowMetadataCatalogConfigPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigPtrOutput { + return o +} + +func (o FlowMetadataCatalogConfigPtrOutput) Elem() FlowMetadataCatalogConfigOutput { + return o.ApplyT(func(v *FlowMetadataCatalogConfig) FlowMetadataCatalogConfig { + if v != nil { + return *v + } + var ret FlowMetadataCatalogConfig + return ret + }).(FlowMetadataCatalogConfigOutput) +} + +func (o FlowMetadataCatalogConfigPtrOutput) GlueDataCatalog() FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return o.ApplyT(func(v *FlowMetadataCatalogConfig) *FlowMetadataCatalogConfigGlueDataCatalog { + if v == nil { + return nil + } + return v.GlueDataCatalog + }).(FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) +} + +type FlowMetadataCatalogConfigGlueDataCatalog struct { + // The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + DatabaseName string `pulumi:"databaseName"` + // The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + RoleArn string `pulumi:"roleArn"` + // A naming prefix for each Data Catalog table that Amazon AppFlow creates + TablePrefix string `pulumi:"tablePrefix"` +} + +// FlowMetadataCatalogConfigGlueDataCatalogInput is an input type that accepts FlowMetadataCatalogConfigGlueDataCatalogArgs and FlowMetadataCatalogConfigGlueDataCatalogOutput values. +// You can construct a concrete instance of `FlowMetadataCatalogConfigGlueDataCatalogInput` via: +// +// FlowMetadataCatalogConfigGlueDataCatalogArgs{...} +type FlowMetadataCatalogConfigGlueDataCatalogInput interface { + pulumi.Input + + ToFlowMetadataCatalogConfigGlueDataCatalogOutput() FlowMetadataCatalogConfigGlueDataCatalogOutput + ToFlowMetadataCatalogConfigGlueDataCatalogOutputWithContext(context.Context) FlowMetadataCatalogConfigGlueDataCatalogOutput +} + +type FlowMetadataCatalogConfigGlueDataCatalogArgs struct { + // The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + DatabaseName pulumi.StringInput `pulumi:"databaseName"` + // The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + RoleArn pulumi.StringInput `pulumi:"roleArn"` + // A naming prefix for each Data Catalog table that Amazon AppFlow creates + TablePrefix pulumi.StringInput `pulumi:"tablePrefix"` +} + +func (FlowMetadataCatalogConfigGlueDataCatalogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FlowMetadataCatalogConfigGlueDataCatalog)(nil)).Elem() +} + +func (i FlowMetadataCatalogConfigGlueDataCatalogArgs) ToFlowMetadataCatalogConfigGlueDataCatalogOutput() FlowMetadataCatalogConfigGlueDataCatalogOutput { + return i.ToFlowMetadataCatalogConfigGlueDataCatalogOutputWithContext(context.Background()) +} + +func (i FlowMetadataCatalogConfigGlueDataCatalogArgs) ToFlowMetadataCatalogConfigGlueDataCatalogOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigGlueDataCatalogOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowMetadataCatalogConfigGlueDataCatalogOutput) +} + +func (i FlowMetadataCatalogConfigGlueDataCatalogArgs) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutput() FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return i.ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(context.Background()) +} + +func (i FlowMetadataCatalogConfigGlueDataCatalogArgs) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowMetadataCatalogConfigGlueDataCatalogOutput).ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(ctx) +} + +// FlowMetadataCatalogConfigGlueDataCatalogPtrInput is an input type that accepts FlowMetadataCatalogConfigGlueDataCatalogArgs, FlowMetadataCatalogConfigGlueDataCatalogPtr and FlowMetadataCatalogConfigGlueDataCatalogPtrOutput values. +// You can construct a concrete instance of `FlowMetadataCatalogConfigGlueDataCatalogPtrInput` via: +// +// FlowMetadataCatalogConfigGlueDataCatalogArgs{...} +// +// or: +// +// nil +type FlowMetadataCatalogConfigGlueDataCatalogPtrInput interface { + pulumi.Input + + ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutput() FlowMetadataCatalogConfigGlueDataCatalogPtrOutput + ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(context.Context) FlowMetadataCatalogConfigGlueDataCatalogPtrOutput +} + +type flowMetadataCatalogConfigGlueDataCatalogPtrType FlowMetadataCatalogConfigGlueDataCatalogArgs + +func FlowMetadataCatalogConfigGlueDataCatalogPtr(v *FlowMetadataCatalogConfigGlueDataCatalogArgs) FlowMetadataCatalogConfigGlueDataCatalogPtrInput { + return (*flowMetadataCatalogConfigGlueDataCatalogPtrType)(v) +} + +func (*flowMetadataCatalogConfigGlueDataCatalogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FlowMetadataCatalogConfigGlueDataCatalog)(nil)).Elem() +} + +func (i *flowMetadataCatalogConfigGlueDataCatalogPtrType) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutput() FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return i.ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(context.Background()) +} + +func (i *flowMetadataCatalogConfigGlueDataCatalogPtrType) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) +} + +type FlowMetadataCatalogConfigGlueDataCatalogOutput struct{ *pulumi.OutputState } + +func (FlowMetadataCatalogConfigGlueDataCatalogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FlowMetadataCatalogConfigGlueDataCatalog)(nil)).Elem() +} + +func (o FlowMetadataCatalogConfigGlueDataCatalogOutput) ToFlowMetadataCatalogConfigGlueDataCatalogOutput() FlowMetadataCatalogConfigGlueDataCatalogOutput { + return o +} + +func (o FlowMetadataCatalogConfigGlueDataCatalogOutput) ToFlowMetadataCatalogConfigGlueDataCatalogOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigGlueDataCatalogOutput { + return o +} + +func (o FlowMetadataCatalogConfigGlueDataCatalogOutput) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutput() FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return o.ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(context.Background()) +} + +func (o FlowMetadataCatalogConfigGlueDataCatalogOutput) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FlowMetadataCatalogConfigGlueDataCatalog) *FlowMetadataCatalogConfigGlueDataCatalog { + return &v + }).(FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) +} + +// The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. +func (o FlowMetadataCatalogConfigGlueDataCatalogOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v FlowMetadataCatalogConfigGlueDataCatalog) string { return v.DatabaseName }).(pulumi.StringOutput) +} + +// The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. +func (o FlowMetadataCatalogConfigGlueDataCatalogOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v FlowMetadataCatalogConfigGlueDataCatalog) string { return v.RoleArn }).(pulumi.StringOutput) +} + +// A naming prefix for each Data Catalog table that Amazon AppFlow creates +func (o FlowMetadataCatalogConfigGlueDataCatalogOutput) TablePrefix() pulumi.StringOutput { + return o.ApplyT(func(v FlowMetadataCatalogConfigGlueDataCatalog) string { return v.TablePrefix }).(pulumi.StringOutput) +} + +type FlowMetadataCatalogConfigGlueDataCatalogPtrOutput struct{ *pulumi.OutputState } + +func (FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FlowMetadataCatalogConfigGlueDataCatalog)(nil)).Elem() +} + +func (o FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutput() FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return o +} + +func (o FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) ToFlowMetadataCatalogConfigGlueDataCatalogPtrOutputWithContext(ctx context.Context) FlowMetadataCatalogConfigGlueDataCatalogPtrOutput { + return o +} + +func (o FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) Elem() FlowMetadataCatalogConfigGlueDataCatalogOutput { + return o.ApplyT(func(v *FlowMetadataCatalogConfigGlueDataCatalog) FlowMetadataCatalogConfigGlueDataCatalog { + if v != nil { + return *v + } + var ret FlowMetadataCatalogConfigGlueDataCatalog + return ret + }).(FlowMetadataCatalogConfigGlueDataCatalogOutput) +} + +// The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. +func (o FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FlowMetadataCatalogConfigGlueDataCatalog) *string { + if v == nil { + return nil + } + return &v.DatabaseName + }).(pulumi.StringPtrOutput) +} + +// The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. +func (o FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) RoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FlowMetadataCatalogConfigGlueDataCatalog) *string { + if v == nil { + return nil + } + return &v.RoleArn + }).(pulumi.StringPtrOutput) +} + +// A naming prefix for each Data Catalog table that Amazon AppFlow creates +func (o FlowMetadataCatalogConfigGlueDataCatalogPtrOutput) TablePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FlowMetadataCatalogConfigGlueDataCatalog) *string { + if v == nil { + return nil + } + return &v.TablePrefix + }).(pulumi.StringPtrOutput) +} + type FlowSourceFlowConfig struct { // API version that the destination connector uses. ApiVersion *string `pulumi:"apiVersion"` @@ -19263,6 +19613,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskPtrInput)(nil)).Elem(), FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigInput)(nil)).Elem(), FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigPtrInput)(nil)).Elem(), FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FlowMetadataCatalogConfigInput)(nil)).Elem(), FlowMetadataCatalogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FlowMetadataCatalogConfigPtrInput)(nil)).Elem(), FlowMetadataCatalogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FlowMetadataCatalogConfigGlueDataCatalogInput)(nil)).Elem(), FlowMetadataCatalogConfigGlueDataCatalogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FlowMetadataCatalogConfigGlueDataCatalogPtrInput)(nil)).Elem(), FlowMetadataCatalogConfigGlueDataCatalogArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceFlowConfigInput)(nil)).Elem(), FlowSourceFlowConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceFlowConfigPtrInput)(nil)).Elem(), FlowSourceFlowConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceFlowConfigIncrementalPullConfigInput)(nil)).Elem(), FlowSourceFlowConfigIncrementalPullConfigArgs{}) @@ -19484,6 +19838,10 @@ func init() { pulumi.RegisterOutputType(FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskPtrOutput{}) pulumi.RegisterOutputType(FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigOutput{}) pulumi.RegisterOutputType(FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigPtrOutput{}) + pulumi.RegisterOutputType(FlowMetadataCatalogConfigOutput{}) + pulumi.RegisterOutputType(FlowMetadataCatalogConfigPtrOutput{}) + pulumi.RegisterOutputType(FlowMetadataCatalogConfigGlueDataCatalogOutput{}) + pulumi.RegisterOutputType(FlowMetadataCatalogConfigGlueDataCatalogPtrOutput{}) pulumi.RegisterOutputType(FlowSourceFlowConfigOutput{}) pulumi.RegisterOutputType(FlowSourceFlowConfigPtrOutput{}) pulumi.RegisterOutputType(FlowSourceFlowConfigIncrementalPullConfigOutput{}) diff --git a/sdk/go/aws/batch/jobDefinition.go b/sdk/go/aws/batch/jobDefinition.go index 7dec85c5741..9c07e3555ff 100644 --- a/sdk/go/aws/batch/jobDefinition.go +++ b/sdk/go/aws/batch/jobDefinition.go @@ -316,41 +316,41 @@ import ( type JobDefinition struct { pulumi.CustomResourceState - // The Amazon Resource Name of the job definition, includes revision (`:#`). + // ARN of the job definition, includes revision (`:#`). Arn pulumi.StringOutput `pulumi:"arn"` - // The ARN without the revision number. + // ARN without the revision number. ArnPrefix pulumi.StringOutput `pulumi:"arnPrefix"` - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties pulumi.StringPtrOutput `pulumi:"containerProperties"` // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision pulumi.BoolPtrOutput `pulumi:"deregisterOnNewRevision"` - // A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + // Valid eks properties. This parameter is only valid if the `type` parameter is `container`. EksProperties JobDefinitionEksPropertiesPtrOutput `pulumi:"eksProperties"` - // Specifies the name of the job definition. + // Name of the job definition. Name pulumi.StringOutput `pulumi:"name"` - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties pulumi.StringPtrOutput `pulumi:"nodeProperties"` - // Specifies the parameter substitution placeholders to set in the job definition. + // Parameter substitution placeholders to set in the job definition. Parameters pulumi.StringMapOutput `pulumi:"parameters"` - // The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + // Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. PlatformCapabilities pulumi.StringArrayOutput `pulumi:"platformCapabilities"` - // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + // Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags pulumi.BoolPtrOutput `pulumi:"propagateTags"` - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + // Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy JobDefinitionRetryStrategyPtrOutput `pulumi:"retryStrategy"` - // The revision of the job definition. + // Revision of the job definition. Revision pulumi.IntOutput `pulumi:"revision"` - // The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + // Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. SchedulingPriority pulumi.IntPtrOutput `pulumi:"schedulingPriority"` // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` - // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` - // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + // Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout JobDefinitionTimeoutPtrOutput `pulumi:"timeout"` - // The type of job definition. Must be `container` or `multinode`. + // Type of job definition. Must be `container` or `multinode`. // // The following arguments are optional: Type pulumi.StringOutput `pulumi:"type"` @@ -389,82 +389,82 @@ func GetJobDefinition(ctx *pulumi.Context, // Input properties used for looking up and filtering JobDefinition resources. type jobDefinitionState struct { - // The Amazon Resource Name of the job definition, includes revision (`:#`). + // ARN of the job definition, includes revision (`:#`). Arn *string `pulumi:"arn"` - // The ARN without the revision number. + // ARN without the revision number. ArnPrefix *string `pulumi:"arnPrefix"` - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties *string `pulumi:"containerProperties"` // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision *bool `pulumi:"deregisterOnNewRevision"` - // A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + // Valid eks properties. This parameter is only valid if the `type` parameter is `container`. EksProperties *JobDefinitionEksProperties `pulumi:"eksProperties"` - // Specifies the name of the job definition. + // Name of the job definition. Name *string `pulumi:"name"` - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties *string `pulumi:"nodeProperties"` - // Specifies the parameter substitution placeholders to set in the job definition. + // Parameter substitution placeholders to set in the job definition. Parameters map[string]string `pulumi:"parameters"` - // The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + // Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. PlatformCapabilities []string `pulumi:"platformCapabilities"` - // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + // Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags *bool `pulumi:"propagateTags"` - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + // Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy *JobDefinitionRetryStrategy `pulumi:"retryStrategy"` - // The revision of the job definition. + // Revision of the job definition. Revision *int `pulumi:"revision"` - // The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + // Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. SchedulingPriority *int `pulumi:"schedulingPriority"` // Key-value map of resource tags. .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"` - // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. TagsAll map[string]string `pulumi:"tagsAll"` - // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + // Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout *JobDefinitionTimeout `pulumi:"timeout"` - // The type of job definition. Must be `container` or `multinode`. + // Type of job definition. Must be `container` or `multinode`. // // The following arguments are optional: Type *string `pulumi:"type"` } type JobDefinitionState struct { - // The Amazon Resource Name of the job definition, includes revision (`:#`). + // ARN of the job definition, includes revision (`:#`). Arn pulumi.StringPtrInput - // The ARN without the revision number. + // ARN without the revision number. ArnPrefix pulumi.StringPtrInput - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties pulumi.StringPtrInput // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision pulumi.BoolPtrInput - // A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + // Valid eks properties. This parameter is only valid if the `type` parameter is `container`. EksProperties JobDefinitionEksPropertiesPtrInput - // Specifies the name of the job definition. + // Name of the job definition. Name pulumi.StringPtrInput - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties pulumi.StringPtrInput - // Specifies the parameter substitution placeholders to set in the job definition. + // Parameter substitution placeholders to set in the job definition. Parameters pulumi.StringMapInput - // The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + // Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. PlatformCapabilities pulumi.StringArrayInput - // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + // Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags pulumi.BoolPtrInput - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + // Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy JobDefinitionRetryStrategyPtrInput - // The revision of the job definition. + // Revision of the job definition. Revision pulumi.IntPtrInput - // The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + // Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. SchedulingPriority pulumi.IntPtrInput // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput - // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput - // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + // Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout JobDefinitionTimeoutPtrInput - // The type of job definition. Must be `container` or `multinode`. + // Type of job definition. Must be `container` or `multinode`. // // The following arguments are optional: Type pulumi.StringPtrInput @@ -475,31 +475,31 @@ func (JobDefinitionState) ElementType() reflect.Type { } type jobDefinitionArgs struct { - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties *string `pulumi:"containerProperties"` // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision *bool `pulumi:"deregisterOnNewRevision"` - // A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + // Valid eks properties. This parameter is only valid if the `type` parameter is `container`. EksProperties *JobDefinitionEksProperties `pulumi:"eksProperties"` - // Specifies the name of the job definition. + // Name of the job definition. Name *string `pulumi:"name"` - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties *string `pulumi:"nodeProperties"` - // Specifies the parameter substitution placeholders to set in the job definition. + // Parameter substitution placeholders to set in the job definition. Parameters map[string]string `pulumi:"parameters"` - // The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + // Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. PlatformCapabilities []string `pulumi:"platformCapabilities"` - // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + // Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags *bool `pulumi:"propagateTags"` - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + // Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy *JobDefinitionRetryStrategy `pulumi:"retryStrategy"` - // The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + // Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. SchedulingPriority *int `pulumi:"schedulingPriority"` // Key-value map of resource tags. .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"` - // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + // Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout *JobDefinitionTimeout `pulumi:"timeout"` - // The type of job definition. Must be `container` or `multinode`. + // Type of job definition. Must be `container` or `multinode`. // // The following arguments are optional: Type string `pulumi:"type"` @@ -507,31 +507,31 @@ type jobDefinitionArgs struct { // The set of arguments for constructing a JobDefinition resource. type JobDefinitionArgs struct { - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties pulumi.StringPtrInput // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision pulumi.BoolPtrInput - // A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + // Valid eks properties. This parameter is only valid if the `type` parameter is `container`. EksProperties JobDefinitionEksPropertiesPtrInput - // Specifies the name of the job definition. + // Name of the job definition. Name pulumi.StringPtrInput - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties pulumi.StringPtrInput - // Specifies the parameter substitution placeholders to set in the job definition. + // Parameter substitution placeholders to set in the job definition. Parameters pulumi.StringMapInput - // The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + // Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. PlatformCapabilities pulumi.StringArrayInput - // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + // Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags pulumi.BoolPtrInput - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + // Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy JobDefinitionRetryStrategyPtrInput - // The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + // Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. SchedulingPriority pulumi.IntPtrInput // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput - // Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + // Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. Timeout JobDefinitionTimeoutPtrInput - // The type of job definition. Must be `container` or `multinode`. + // Type of job definition. Must be `container` or `multinode`. // // The following arguments are optional: Type pulumi.StringInput @@ -624,17 +624,17 @@ func (o JobDefinitionOutput) ToJobDefinitionOutputWithContext(ctx context.Contex return o } -// The Amazon Resource Name of the job definition, includes revision (`:#`). +// ARN of the job definition, includes revision (`:#`). func (o JobDefinitionOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// The ARN without the revision number. +// ARN without the revision number. func (o JobDefinitionOutput) ArnPrefix() pulumi.StringOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringOutput { return v.ArnPrefix }).(pulumi.StringOutput) } -// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. +// Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. func (o JobDefinitionOutput) ContainerProperties() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringPtrOutput { return v.ContainerProperties }).(pulumi.StringPtrOutput) } @@ -644,47 +644,47 @@ func (o JobDefinitionOutput) DeregisterOnNewRevision() pulumi.BoolPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.BoolPtrOutput { return v.DeregisterOnNewRevision }).(pulumi.BoolPtrOutput) } -// A valid eks properties. This parameter is only valid if the `type` parameter is `container`. +// Valid eks properties. This parameter is only valid if the `type` parameter is `container`. func (o JobDefinitionOutput) EksProperties() JobDefinitionEksPropertiesPtrOutput { return o.ApplyT(func(v *JobDefinition) JobDefinitionEksPropertiesPtrOutput { return v.EksProperties }).(JobDefinitionEksPropertiesPtrOutput) } -// Specifies the name of the job definition. +// Name of the job definition. func (o JobDefinitionOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. +// Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. func (o JobDefinitionOutput) NodeProperties() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringPtrOutput { return v.NodeProperties }).(pulumi.StringPtrOutput) } -// Specifies the parameter substitution placeholders to set in the job definition. +// Parameter substitution placeholders to set in the job definition. func (o JobDefinitionOutput) Parameters() pulumi.StringMapOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) } -// The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. +// Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. func (o JobDefinitionOutput) PlatformCapabilities() pulumi.StringArrayOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringArrayOutput { return v.PlatformCapabilities }).(pulumi.StringArrayOutput) } -// Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. +// Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. func (o JobDefinitionOutput) PropagateTags() pulumi.BoolPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.BoolPtrOutput { return v.PropagateTags }).(pulumi.BoolPtrOutput) } -// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. +// Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. func (o JobDefinitionOutput) RetryStrategy() JobDefinitionRetryStrategyPtrOutput { return o.ApplyT(func(v *JobDefinition) JobDefinitionRetryStrategyPtrOutput { return v.RetryStrategy }).(JobDefinitionRetryStrategyPtrOutput) } -// The revision of the job definition. +// Revision of the job definition. func (o JobDefinitionOutput) Revision() pulumi.IntOutput { return o.ApplyT(func(v *JobDefinition) pulumi.IntOutput { return v.Revision }).(pulumi.IntOutput) } -// The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. +// Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. func (o JobDefinitionOutput) SchedulingPriority() pulumi.IntPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.IntPtrOutput { return v.SchedulingPriority }).(pulumi.IntPtrOutput) } @@ -694,19 +694,19 @@ func (o JobDefinitionOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } -// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. func (o JobDefinitionOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } -// Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. +// Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. func (o JobDefinitionOutput) Timeout() JobDefinitionTimeoutPtrOutput { return o.ApplyT(func(v *JobDefinition) JobDefinitionTimeoutPtrOutput { return v.Timeout }).(JobDefinitionTimeoutPtrOutput) } -// The type of job definition. Must be `container` or `multinode`. +// Type of job definition. Must be `container` or `multinode`. // // The following arguments are optional: func (o JobDefinitionOutput) Type() pulumi.StringOutput { diff --git a/sdk/go/aws/batch/pulumiTypes.go b/sdk/go/aws/batch/pulumiTypes.go index 049ff6f7b4c..055b1f46749 100644 --- a/sdk/go/aws/batch/pulumiTypes.go +++ b/sdk/go/aws/batch/pulumiTypes.go @@ -1052,7 +1052,7 @@ func (o ComputeEnvironmentUpdatePolicyPtrOutput) TerminateJobsOnUpdate() pulumi. } type JobDefinitionEksProperties struct { - // The properties for the Kubernetes pod resources of a job. See `podProperties` below. + // Properties for the Kubernetes pod resources of a job. See `podProperties` below. PodProperties JobDefinitionEksPropertiesPodProperties `pulumi:"podProperties"` } @@ -1068,7 +1068,7 @@ type JobDefinitionEksPropertiesInput interface { } type JobDefinitionEksPropertiesArgs struct { - // The properties for the Kubernetes pod resources of a job. See `podProperties` below. + // Properties for the Kubernetes pod resources of a job. See `podProperties` below. PodProperties JobDefinitionEksPropertiesPodPropertiesInput `pulumi:"podProperties"` } @@ -1149,7 +1149,7 @@ func (o JobDefinitionEksPropertiesOutput) ToJobDefinitionEksPropertiesPtrOutputW }).(JobDefinitionEksPropertiesPtrOutput) } -// The properties for the Kubernetes pod resources of a job. See `podProperties` below. +// Properties for the Kubernetes pod resources of a job. See `podProperties` below. func (o JobDefinitionEksPropertiesOutput) PodProperties() JobDefinitionEksPropertiesPodPropertiesOutput { return o.ApplyT(func(v JobDefinitionEksProperties) JobDefinitionEksPropertiesPodProperties { return v.PodProperties }).(JobDefinitionEksPropertiesPodPropertiesOutput) } @@ -1178,7 +1178,7 @@ func (o JobDefinitionEksPropertiesPtrOutput) Elem() JobDefinitionEksPropertiesOu }).(JobDefinitionEksPropertiesOutput) } -// The properties for the Kubernetes pod resources of a job. See `podProperties` below. +// Properties for the Kubernetes pod resources of a job. See `podProperties` below. func (o JobDefinitionEksPropertiesPtrOutput) PodProperties() JobDefinitionEksPropertiesPodPropertiesPtrOutput { return o.ApplyT(func(v *JobDefinitionEksProperties) *JobDefinitionEksPropertiesPodProperties { if v == nil { @@ -1189,17 +1189,19 @@ func (o JobDefinitionEksPropertiesPtrOutput) PodProperties() JobDefinitionEksPro } type JobDefinitionEksPropertiesPodProperties struct { - // The properties of the container that's used on the Amazon EKS pod. See containers below. + // Properties of the container that's used on the Amazon EKS pod. See containers below. Containers JobDefinitionEksPropertiesPodPropertiesContainers `pulumi:"containers"` - // The DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + // DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. DnsPolicy *string `pulumi:"dnsPolicy"` - // Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + // Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. HostNetwork *bool `pulumi:"hostNetwork"` + // List of Kubernetes secret resources. See `imagePullSecret` below. + ImagePullSecrets []JobDefinitionEksPropertiesPodPropertiesImagePullSecret `pulumi:"imagePullSecrets"` // Metadata about the Kubernetes pod. Metadata *JobDefinitionEksPropertiesPodPropertiesMetadata `pulumi:"metadata"` - // The name of the service account that's used to run the pod. + // Name of the service account that's used to run the pod. ServiceAccountName *string `pulumi:"serviceAccountName"` - // Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + // Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. Volumes []JobDefinitionEksPropertiesPodPropertiesVolume `pulumi:"volumes"` } @@ -1215,17 +1217,19 @@ type JobDefinitionEksPropertiesPodPropertiesInput interface { } type JobDefinitionEksPropertiesPodPropertiesArgs struct { - // The properties of the container that's used on the Amazon EKS pod. See containers below. + // Properties of the container that's used on the Amazon EKS pod. See containers below. Containers JobDefinitionEksPropertiesPodPropertiesContainersInput `pulumi:"containers"` - // The DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + // DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. DnsPolicy pulumi.StringPtrInput `pulumi:"dnsPolicy"` - // Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + // Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. HostNetwork pulumi.BoolPtrInput `pulumi:"hostNetwork"` + // List of Kubernetes secret resources. See `imagePullSecret` below. + ImagePullSecrets JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayInput `pulumi:"imagePullSecrets"` // Metadata about the Kubernetes pod. Metadata JobDefinitionEksPropertiesPodPropertiesMetadataPtrInput `pulumi:"metadata"` - // The name of the service account that's used to run the pod. + // Name of the service account that's used to run the pod. ServiceAccountName pulumi.StringPtrInput `pulumi:"serviceAccountName"` - // Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + // Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. Volumes JobDefinitionEksPropertiesPodPropertiesVolumeArrayInput `pulumi:"volumes"` } @@ -1306,23 +1310,30 @@ func (o JobDefinitionEksPropertiesPodPropertiesOutput) ToJobDefinitionEksPropert }).(JobDefinitionEksPropertiesPodPropertiesPtrOutput) } -// The properties of the container that's used on the Amazon EKS pod. See containers below. +// Properties of the container that's used on the Amazon EKS pod. See containers below. func (o JobDefinitionEksPropertiesPodPropertiesOutput) Containers() JobDefinitionEksPropertiesPodPropertiesContainersOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodProperties) JobDefinitionEksPropertiesPodPropertiesContainers { return v.Containers }).(JobDefinitionEksPropertiesPodPropertiesContainersOutput) } -// The DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. +// DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. func (o JobDefinitionEksPropertiesPodPropertiesOutput) DnsPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodProperties) *string { return v.DnsPolicy }).(pulumi.StringPtrOutput) } -// Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. +// Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. func (o JobDefinitionEksPropertiesPodPropertiesOutput) HostNetwork() pulumi.BoolPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodProperties) *bool { return v.HostNetwork }).(pulumi.BoolPtrOutput) } +// List of Kubernetes secret resources. See `imagePullSecret` below. +func (o JobDefinitionEksPropertiesPodPropertiesOutput) ImagePullSecrets() JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput { + return o.ApplyT(func(v JobDefinitionEksPropertiesPodProperties) []JobDefinitionEksPropertiesPodPropertiesImagePullSecret { + return v.ImagePullSecrets + }).(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput) +} + // Metadata about the Kubernetes pod. func (o JobDefinitionEksPropertiesPodPropertiesOutput) Metadata() JobDefinitionEksPropertiesPodPropertiesMetadataPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodProperties) *JobDefinitionEksPropertiesPodPropertiesMetadata { @@ -1330,12 +1341,12 @@ func (o JobDefinitionEksPropertiesPodPropertiesOutput) Metadata() JobDefinitionE }).(JobDefinitionEksPropertiesPodPropertiesMetadataPtrOutput) } -// The name of the service account that's used to run the pod. +// Name of the service account that's used to run the pod. func (o JobDefinitionEksPropertiesPodPropertiesOutput) ServiceAccountName() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodProperties) *string { return v.ServiceAccountName }).(pulumi.StringPtrOutput) } -// Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. +// Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. func (o JobDefinitionEksPropertiesPodPropertiesOutput) Volumes() JobDefinitionEksPropertiesPodPropertiesVolumeArrayOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodProperties) []JobDefinitionEksPropertiesPodPropertiesVolume { return v.Volumes @@ -1366,7 +1377,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) Elem() JobDefinitionEk }).(JobDefinitionEksPropertiesPodPropertiesOutput) } -// The properties of the container that's used on the Amazon EKS pod. See containers below. +// Properties of the container that's used on the Amazon EKS pod. See containers below. func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) Containers() JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodProperties) *JobDefinitionEksPropertiesPodPropertiesContainers { if v == nil { @@ -1376,7 +1387,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) Containers() JobDefini }).(JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) } -// The DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. +// DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) DnsPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodProperties) *string { if v == nil { @@ -1386,7 +1397,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) DnsPolicy() pulumi.Str }).(pulumi.StringPtrOutput) } -// Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. +// Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) HostNetwork() pulumi.BoolPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodProperties) *bool { if v == nil { @@ -1396,6 +1407,16 @@ func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) HostNetwork() pulumi.B }).(pulumi.BoolPtrOutput) } +// List of Kubernetes secret resources. See `imagePullSecret` below. +func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) ImagePullSecrets() JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput { + return o.ApplyT(func(v *JobDefinitionEksPropertiesPodProperties) []JobDefinitionEksPropertiesPodPropertiesImagePullSecret { + if v == nil { + return nil + } + return v.ImagePullSecrets + }).(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput) +} + // Metadata about the Kubernetes pod. func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) Metadata() JobDefinitionEksPropertiesPodPropertiesMetadataPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodProperties) *JobDefinitionEksPropertiesPodPropertiesMetadata { @@ -1406,7 +1427,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) Metadata() JobDefiniti }).(JobDefinitionEksPropertiesPodPropertiesMetadataPtrOutput) } -// The name of the service account that's used to run the pod. +// Name of the service account that's used to run the pod. func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) ServiceAccountName() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodProperties) *string { if v == nil { @@ -1416,7 +1437,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) ServiceAccountName() p }).(pulumi.StringPtrOutput) } -// Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. +// Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) Volumes() JobDefinitionEksPropertiesPodPropertiesVolumeArrayOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodProperties) []JobDefinitionEksPropertiesPodPropertiesVolume { if v == nil { @@ -1427,23 +1448,23 @@ func (o JobDefinitionEksPropertiesPodPropertiesPtrOutput) Volumes() JobDefinitio } type JobDefinitionEksPropertiesPodPropertiesContainers struct { - // An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + // Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. Args []string `pulumi:"args"` - // The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + // Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. Commands []string `pulumi:"commands"` - // The environment variables to pass to a container. See EKS Environment below. + // Environment variables to pass to a container. See EKS Environment below. Envs []JobDefinitionEksPropertiesPodPropertiesContainersEnv `pulumi:"envs"` - // The Docker image used to start the container. + // Docker image used to start the container. Image string `pulumi:"image"` - // The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + // Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. ImagePullPolicy *string `pulumi:"imagePullPolicy"` - // The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + // Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. Name *string `pulumi:"name"` - // The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + // Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. Resources *JobDefinitionEksPropertiesPodPropertiesContainersResources `pulumi:"resources"` - // The security context for a job. + // Security context for a job. SecurityContext *JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext `pulumi:"securityContext"` - // The volume mounts for the container. + // Volume mounts for the container. VolumeMounts []JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount `pulumi:"volumeMounts"` } @@ -1459,23 +1480,23 @@ type JobDefinitionEksPropertiesPodPropertiesContainersInput interface { } type JobDefinitionEksPropertiesPodPropertiesContainersArgs struct { - // An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + // Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. Args pulumi.StringArrayInput `pulumi:"args"` - // The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + // Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. Commands pulumi.StringArrayInput `pulumi:"commands"` - // The environment variables to pass to a container. See EKS Environment below. + // Environment variables to pass to a container. See EKS Environment below. Envs JobDefinitionEksPropertiesPodPropertiesContainersEnvArrayInput `pulumi:"envs"` - // The Docker image used to start the container. + // Docker image used to start the container. Image pulumi.StringInput `pulumi:"image"` - // The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + // Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. ImagePullPolicy pulumi.StringPtrInput `pulumi:"imagePullPolicy"` - // The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + // Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. Name pulumi.StringPtrInput `pulumi:"name"` - // The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + // Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. Resources JobDefinitionEksPropertiesPodPropertiesContainersResourcesPtrInput `pulumi:"resources"` - // The security context for a job. + // Security context for a job. SecurityContext JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrInput `pulumi:"securityContext"` - // The volume mounts for the container. + // Volume mounts for the container. VolumeMounts JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArrayInput `pulumi:"volumeMounts"` } @@ -1556,53 +1577,53 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) ToJobDefinition }).(JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) } -// An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. +// Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) Args() pulumi.StringArrayOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) []string { return v.Args }).(pulumi.StringArrayOutput) } -// The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. +// Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) Commands() pulumi.StringArrayOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) []string { return v.Commands }).(pulumi.StringArrayOutput) } -// The environment variables to pass to a container. See EKS Environment below. +// Environment variables to pass to a container. See EKS Environment below. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) Envs() JobDefinitionEksPropertiesPodPropertiesContainersEnvArrayOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) []JobDefinitionEksPropertiesPodPropertiesContainersEnv { return v.Envs }).(JobDefinitionEksPropertiesPodPropertiesContainersEnvArrayOutput) } -// The Docker image used to start the container. +// Docker image used to start the container. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) Image() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) string { return v.Image }).(pulumi.StringOutput) } -// The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. +// Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) ImagePullPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) *string { return v.ImagePullPolicy }).(pulumi.StringPtrOutput) } -// The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. +// Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. +// Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) Resources() JobDefinitionEksPropertiesPodPropertiesContainersResourcesPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) *JobDefinitionEksPropertiesPodPropertiesContainersResources { return v.Resources }).(JobDefinitionEksPropertiesPodPropertiesContainersResourcesPtrOutput) } -// The security context for a job. +// Security context for a job. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) SecurityContext() JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) *JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext { return v.SecurityContext }).(JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrOutput) } -// The volume mounts for the container. +// Volume mounts for the container. func (o JobDefinitionEksPropertiesPodPropertiesContainersOutput) VolumeMounts() JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArrayOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainers) []JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount { return v.VolumeMounts @@ -1633,7 +1654,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Elem() JobDe }).(JobDefinitionEksPropertiesPodPropertiesContainersOutput) } -// An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. +// Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Args() pulumi.StringArrayOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) []string { if v == nil { @@ -1643,7 +1664,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Args() pulum }).(pulumi.StringArrayOutput) } -// The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. +// Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Commands() pulumi.StringArrayOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) []string { if v == nil { @@ -1653,7 +1674,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Commands() p }).(pulumi.StringArrayOutput) } -// The environment variables to pass to a container. See EKS Environment below. +// Environment variables to pass to a container. See EKS Environment below. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Envs() JobDefinitionEksPropertiesPodPropertiesContainersEnvArrayOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) []JobDefinitionEksPropertiesPodPropertiesContainersEnv { if v == nil { @@ -1663,7 +1684,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Envs() JobDe }).(JobDefinitionEksPropertiesPodPropertiesContainersEnvArrayOutput) } -// The Docker image used to start the container. +// Docker image used to start the container. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Image() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) *string { if v == nil { @@ -1673,7 +1694,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Image() pulu }).(pulumi.StringPtrOutput) } -// The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. +// Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) ImagePullPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) *string { if v == nil { @@ -1683,7 +1704,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) ImagePullPol }).(pulumi.StringPtrOutput) } -// The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. +// Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) *string { if v == nil { @@ -1693,7 +1714,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Name() pulum }).(pulumi.StringPtrOutput) } -// The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. +// Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Resources() JobDefinitionEksPropertiesPodPropertiesContainersResourcesPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) *JobDefinitionEksPropertiesPodPropertiesContainersResources { if v == nil { @@ -1703,7 +1724,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) Resources() }).(JobDefinitionEksPropertiesPodPropertiesContainersResourcesPtrOutput) } -// The security context for a job. +// Security context for a job. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) SecurityContext() JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) *JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext { if v == nil { @@ -1713,7 +1734,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) SecurityCont }).(JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrOutput) } -// The volume mounts for the container. +// Volume mounts for the container. func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) VolumeMounts() JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArrayOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesContainers) []JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount { if v == nil { @@ -1724,9 +1745,9 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersPtrOutput) VolumeMounts } type JobDefinitionEksPropertiesPodPropertiesContainersEnv struct { - // Specifies the name of the job definition. + // Name of the job definition. Name string `pulumi:"name"` - // The value of the environment variable. + // Value of the environment variable. Value string `pulumi:"value"` } @@ -1742,9 +1763,9 @@ type JobDefinitionEksPropertiesPodPropertiesContainersEnvInput interface { } type JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs struct { - // Specifies the name of the job definition. + // Name of the job definition. Name pulumi.StringInput `pulumi:"name"` - // The value of the environment variable. + // Value of the environment variable. Value pulumi.StringInput `pulumi:"value"` } @@ -1799,12 +1820,12 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersEnvOutput) ToJobDefinit return o } -// Specifies the name of the job definition. +// Name of the job definition. func (o JobDefinitionEksPropertiesPodPropertiesContainersEnvOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainersEnv) string { return v.Name }).(pulumi.StringOutput) } -// The value of the environment variable. +// Value of the environment variable. func (o JobDefinitionEksPropertiesPodPropertiesContainersEnvOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainersEnv) string { return v.Value }).(pulumi.StringOutput) } @@ -2176,7 +2197,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrOutpu type JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount struct { MountPath string `pulumi:"mountPath"` - // Specifies the name of the job definition. + // Name of the job definition. Name string `pulumi:"name"` ReadOnly *bool `pulumi:"readOnly"` } @@ -2194,7 +2215,7 @@ type JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountInput interface type JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs struct { MountPath pulumi.StringInput `pulumi:"mountPath"` - // Specifies the name of the job definition. + // Name of the job definition. Name pulumi.StringInput `pulumi:"name"` ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` } @@ -2254,7 +2275,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountOutput) Moun return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount) string { return v.MountPath }).(pulumi.StringOutput) } -// Specifies the name of the job definition. +// Name of the job definition. func (o JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount) string { return v.Name }).(pulumi.StringOutput) } @@ -2283,6 +2304,103 @@ func (o JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArrayOutput) }).(JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountOutput) } +type JobDefinitionEksPropertiesPodPropertiesImagePullSecret struct { + // Unique identifier. + Name string `pulumi:"name"` +} + +// JobDefinitionEksPropertiesPodPropertiesImagePullSecretInput is an input type that accepts JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs and JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput values. +// You can construct a concrete instance of `JobDefinitionEksPropertiesPodPropertiesImagePullSecretInput` via: +// +// JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs{...} +type JobDefinitionEksPropertiesPodPropertiesImagePullSecretInput interface { + pulumi.Input + + ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput() JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput + ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretOutputWithContext(context.Context) JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput +} + +type JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs struct { + // Unique identifier. + Name pulumi.StringInput `pulumi:"name"` +} + +func (JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesImagePullSecret)(nil)).Elem() +} + +func (i JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput() JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput { + return i.ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretOutputWithContext(context.Background()) +} + +func (i JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretOutputWithContext(ctx context.Context) JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput) +} + +// JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayInput is an input type that accepts JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray and JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput values. +// You can construct a concrete instance of `JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayInput` via: +// +// JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray{ JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs{...} } +type JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayInput interface { + pulumi.Input + + ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput() JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput + ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutputWithContext(context.Context) JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput +} + +type JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray []JobDefinitionEksPropertiesPodPropertiesImagePullSecretInput + +func (JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobDefinitionEksPropertiesPodPropertiesImagePullSecret)(nil)).Elem() +} + +func (i JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput() JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput { + return i.ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutputWithContext(context.Background()) +} + +func (i JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutputWithContext(ctx context.Context) JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput) +} + +type JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput struct{ *pulumi.OutputState } + +func (JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesImagePullSecret)(nil)).Elem() +} + +func (o JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput() JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput { + return o +} + +func (o JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretOutputWithContext(ctx context.Context) JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput { + return o +} + +// Unique identifier. +func (o JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesImagePullSecret) string { return v.Name }).(pulumi.StringOutput) +} + +type JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput struct{ *pulumi.OutputState } + +func (JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobDefinitionEksPropertiesPodPropertiesImagePullSecret)(nil)).Elem() +} + +func (o JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput() JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput { + return o +} + +func (o JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput) ToJobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutputWithContext(ctx context.Context) JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput { + return o +} + +func (o JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput) Index(i pulumi.IntInput) JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobDefinitionEksPropertiesPodPropertiesImagePullSecret { + return vs[0].([]JobDefinitionEksPropertiesPodPropertiesImagePullSecret)[vs[1].(int)] + }).(JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput) +} + type JobDefinitionEksPropertiesPodPropertiesMetadata struct { Labels map[string]string `pulumi:"labels"` } @@ -2419,7 +2537,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesMetadataPtrOutput) Labels() pulum type JobDefinitionEksPropertiesPodPropertiesVolume struct { EmptyDir *JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir `pulumi:"emptyDir"` HostPath *JobDefinitionEksPropertiesPodPropertiesVolumeHostPath `pulumi:"hostPath"` - // Specifies the name of the job definition. + // Name of the job definition. Name *string `pulumi:"name"` Secret *JobDefinitionEksPropertiesPodPropertiesVolumeSecret `pulumi:"secret"` } @@ -2438,7 +2556,7 @@ type JobDefinitionEksPropertiesPodPropertiesVolumeInput interface { type JobDefinitionEksPropertiesPodPropertiesVolumeArgs struct { EmptyDir JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirPtrInput `pulumi:"emptyDir"` HostPath JobDefinitionEksPropertiesPodPropertiesVolumeHostPathPtrInput `pulumi:"hostPath"` - // Specifies the name of the job definition. + // Name of the job definition. Name pulumi.StringPtrInput `pulumi:"name"` Secret JobDefinitionEksPropertiesPodPropertiesVolumeSecretPtrInput `pulumi:"secret"` } @@ -2506,7 +2624,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeOutput) HostPath() JobDefin }).(JobDefinitionEksPropertiesPodPropertiesVolumeHostPathPtrOutput) } -// Specifies the name of the job definition. +// Name of the job definition. func (o JobDefinitionEksPropertiesPodPropertiesVolumeOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesVolume) *string { return v.Name }).(pulumi.StringPtrOutput) } @@ -2538,9 +2656,9 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeArrayOutput) Index(i pulumi } type JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir struct { - // The medium to store the volume. The default value is an empty string, which uses the storage of the node. + // Medium to store the volume. The default value is an empty string, which uses the storage of the node. Medium *string `pulumi:"medium"` - // The maximum size of the volume. By default, there's no maximum size defined. + // Maximum size of the volume. By default, there's no maximum size defined. SizeLimit string `pulumi:"sizeLimit"` } @@ -2556,9 +2674,9 @@ type JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirInput interface { } type JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs struct { - // The medium to store the volume. The default value is an empty string, which uses the storage of the node. + // Medium to store the volume. The default value is an empty string, which uses the storage of the node. Medium pulumi.StringPtrInput `pulumi:"medium"` - // The maximum size of the volume. By default, there's no maximum size defined. + // Maximum size of the volume. By default, there's no maximum size defined. SizeLimit pulumi.StringInput `pulumi:"sizeLimit"` } @@ -2639,12 +2757,12 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirOutput) ToJobDefini }).(JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirPtrOutput) } -// The medium to store the volume. The default value is an empty string, which uses the storage of the node. +// Medium to store the volume. The default value is an empty string, which uses the storage of the node. func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirOutput) Medium() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir) *string { return v.Medium }).(pulumi.StringPtrOutput) } -// The maximum size of the volume. By default, there's no maximum size defined. +// Maximum size of the volume. By default, there's no maximum size defined. func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirOutput) SizeLimit() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir) string { return v.SizeLimit }).(pulumi.StringOutput) } @@ -2673,7 +2791,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirPtrOutput) Elem() J }).(JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirOutput) } -// The medium to store the volume. The default value is an empty string, which uses the storage of the node. +// Medium to store the volume. The default value is an empty string, which uses the storage of the node. func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirPtrOutput) Medium() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir) *string { if v == nil { @@ -2683,7 +2801,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirPtrOutput) Medium() }).(pulumi.StringPtrOutput) } -// The maximum size of the volume. By default, there's no maximum size defined. +// Maximum size of the volume. By default, there's no maximum size defined. func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirPtrOutput) SizeLimit() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir) *string { if v == nil { @@ -2694,7 +2812,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirPtrOutput) SizeLimi } type JobDefinitionEksPropertiesPodPropertiesVolumeHostPath struct { - // The path of the file or directory on the host to mount into containers on the pod. + // Path of the file or directory on the host to mount into containers on the pod. Path string `pulumi:"path"` } @@ -2710,7 +2828,7 @@ type JobDefinitionEksPropertiesPodPropertiesVolumeHostPathInput interface { } type JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs struct { - // The path of the file or directory on the host to mount into containers on the pod. + // Path of the file or directory on the host to mount into containers on the pod. Path pulumi.StringInput `pulumi:"path"` } @@ -2791,7 +2909,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeHostPathOutput) ToJobDefini }).(JobDefinitionEksPropertiesPodPropertiesVolumeHostPathPtrOutput) } -// The path of the file or directory on the host to mount into containers on the pod. +// Path of the file or directory on the host to mount into containers on the pod. func (o JobDefinitionEksPropertiesPodPropertiesVolumeHostPathOutput) Path() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesVolumeHostPath) string { return v.Path }).(pulumi.StringOutput) } @@ -2820,7 +2938,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeHostPathPtrOutput) Elem() J }).(JobDefinitionEksPropertiesPodPropertiesVolumeHostPathOutput) } -// The path of the file or directory on the host to mount into containers on the pod. +// Path of the file or directory on the host to mount into containers on the pod. func (o JobDefinitionEksPropertiesPodPropertiesVolumeHostPathPtrOutput) Path() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesVolumeHostPath) *string { if v == nil { @@ -2831,9 +2949,9 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeHostPathPtrOutput) Path() p } type JobDefinitionEksPropertiesPodPropertiesVolumeSecret struct { - // Specifies whether the secret or the secret's keys must be defined. + // Whether the secret or the secret's keys must be defined. Optional *bool `pulumi:"optional"` - // The name of the secret. The name must be allowed as a DNS subdomain name. + // Name of the secret. The name must be allowed as a DNS subdomain name. SecretName string `pulumi:"secretName"` } @@ -2849,9 +2967,9 @@ type JobDefinitionEksPropertiesPodPropertiesVolumeSecretInput interface { } type JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs struct { - // Specifies whether the secret or the secret's keys must be defined. + // Whether the secret or the secret's keys must be defined. Optional pulumi.BoolPtrInput `pulumi:"optional"` - // The name of the secret. The name must be allowed as a DNS subdomain name. + // Name of the secret. The name must be allowed as a DNS subdomain name. SecretName pulumi.StringInput `pulumi:"secretName"` } @@ -2932,12 +3050,12 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretOutput) ToJobDefiniti }).(JobDefinitionEksPropertiesPodPropertiesVolumeSecretPtrOutput) } -// Specifies whether the secret or the secret's keys must be defined. +// Whether the secret or the secret's keys must be defined. func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretOutput) Optional() pulumi.BoolPtrOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesVolumeSecret) *bool { return v.Optional }).(pulumi.BoolPtrOutput) } -// The name of the secret. The name must be allowed as a DNS subdomain name. +// Name of the secret. The name must be allowed as a DNS subdomain name. func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretOutput) SecretName() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionEksPropertiesPodPropertiesVolumeSecret) string { return v.SecretName }).(pulumi.StringOutput) } @@ -2966,7 +3084,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretPtrOutput) Elem() Job }).(JobDefinitionEksPropertiesPodPropertiesVolumeSecretOutput) } -// Specifies whether the secret or the secret's keys must be defined. +// Whether the secret or the secret's keys must be defined. func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretPtrOutput) Optional() pulumi.BoolPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesVolumeSecret) *bool { if v == nil { @@ -2976,7 +3094,7 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretPtrOutput) Optional() }).(pulumi.BoolPtrOutput) } -// The name of the secret. The name must be allowed as a DNS subdomain name. +// Name of the secret. The name must be allowed as a DNS subdomain name. func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretPtrOutput) SecretName() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinitionEksPropertiesPodPropertiesVolumeSecret) *string { if v == nil { @@ -2987,9 +3105,9 @@ func (o JobDefinitionEksPropertiesPodPropertiesVolumeSecretPtrOutput) SecretName } type JobDefinitionRetryStrategy struct { - // The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + // Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. Attempts *int `pulumi:"attempts"` - // The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + // Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. EvaluateOnExits []JobDefinitionRetryStrategyEvaluateOnExit `pulumi:"evaluateOnExits"` } @@ -3005,9 +3123,9 @@ type JobDefinitionRetryStrategyInput interface { } type JobDefinitionRetryStrategyArgs struct { - // The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + // Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. Attempts pulumi.IntPtrInput `pulumi:"attempts"` - // The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + // Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. EvaluateOnExits JobDefinitionRetryStrategyEvaluateOnExitArrayInput `pulumi:"evaluateOnExits"` } @@ -3088,12 +3206,12 @@ func (o JobDefinitionRetryStrategyOutput) ToJobDefinitionRetryStrategyPtrOutputW }).(JobDefinitionRetryStrategyPtrOutput) } -// The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. +// Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. func (o JobDefinitionRetryStrategyOutput) Attempts() pulumi.IntPtrOutput { return o.ApplyT(func(v JobDefinitionRetryStrategy) *int { return v.Attempts }).(pulumi.IntPtrOutput) } -// The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. +// Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. func (o JobDefinitionRetryStrategyOutput) EvaluateOnExits() JobDefinitionRetryStrategyEvaluateOnExitArrayOutput { return o.ApplyT(func(v JobDefinitionRetryStrategy) []JobDefinitionRetryStrategyEvaluateOnExit { return v.EvaluateOnExits @@ -3124,7 +3242,7 @@ func (o JobDefinitionRetryStrategyPtrOutput) Elem() JobDefinitionRetryStrategyOu }).(JobDefinitionRetryStrategyOutput) } -// The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. +// Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. func (o JobDefinitionRetryStrategyPtrOutput) Attempts() pulumi.IntPtrOutput { return o.ApplyT(func(v *JobDefinitionRetryStrategy) *int { if v == nil { @@ -3134,7 +3252,7 @@ func (o JobDefinitionRetryStrategyPtrOutput) Attempts() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. +// Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. func (o JobDefinitionRetryStrategyPtrOutput) EvaluateOnExits() JobDefinitionRetryStrategyEvaluateOnExitArrayOutput { return o.ApplyT(func(v *JobDefinitionRetryStrategy) []JobDefinitionRetryStrategyEvaluateOnExit { if v == nil { @@ -3145,13 +3263,13 @@ func (o JobDefinitionRetryStrategyPtrOutput) EvaluateOnExits() JobDefinitionRetr } type JobDefinitionRetryStrategyEvaluateOnExit struct { - // Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + // Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. Action string `pulumi:"action"` - // A glob pattern to match against the decimal representation of the exit code returned for a job. + // Glob pattern to match against the decimal representation of the exit code returned for a job. OnExitCode *string `pulumi:"onExitCode"` - // A glob pattern to match against the reason returned for a job. + // Glob pattern to match against the reason returned for a job. OnReason *string `pulumi:"onReason"` - // A glob pattern to match against the status reason returned for a job. + // Glob pattern to match against the status reason returned for a job. OnStatusReason *string `pulumi:"onStatusReason"` } @@ -3167,13 +3285,13 @@ type JobDefinitionRetryStrategyEvaluateOnExitInput interface { } type JobDefinitionRetryStrategyEvaluateOnExitArgs struct { - // Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + // Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. Action pulumi.StringInput `pulumi:"action"` - // A glob pattern to match against the decimal representation of the exit code returned for a job. + // Glob pattern to match against the decimal representation of the exit code returned for a job. OnExitCode pulumi.StringPtrInput `pulumi:"onExitCode"` - // A glob pattern to match against the reason returned for a job. + // Glob pattern to match against the reason returned for a job. OnReason pulumi.StringPtrInput `pulumi:"onReason"` - // A glob pattern to match against the status reason returned for a job. + // Glob pattern to match against the status reason returned for a job. OnStatusReason pulumi.StringPtrInput `pulumi:"onStatusReason"` } @@ -3228,22 +3346,22 @@ func (o JobDefinitionRetryStrategyEvaluateOnExitOutput) ToJobDefinitionRetryStra return o } -// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. +// Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. func (o JobDefinitionRetryStrategyEvaluateOnExitOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionRetryStrategyEvaluateOnExit) string { return v.Action }).(pulumi.StringOutput) } -// A glob pattern to match against the decimal representation of the exit code returned for a job. +// Glob pattern to match against the decimal representation of the exit code returned for a job. func (o JobDefinitionRetryStrategyEvaluateOnExitOutput) OnExitCode() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionRetryStrategyEvaluateOnExit) *string { return v.OnExitCode }).(pulumi.StringPtrOutput) } -// A glob pattern to match against the reason returned for a job. +// Glob pattern to match against the reason returned for a job. func (o JobDefinitionRetryStrategyEvaluateOnExitOutput) OnReason() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionRetryStrategyEvaluateOnExit) *string { return v.OnReason }).(pulumi.StringPtrOutput) } -// A glob pattern to match against the status reason returned for a job. +// Glob pattern to match against the status reason returned for a job. func (o JobDefinitionRetryStrategyEvaluateOnExitOutput) OnStatusReason() pulumi.StringPtrOutput { return o.ApplyT(func(v JobDefinitionRetryStrategyEvaluateOnExit) *string { return v.OnStatusReason }).(pulumi.StringPtrOutput) } @@ -3269,7 +3387,7 @@ func (o JobDefinitionRetryStrategyEvaluateOnExitArrayOutput) Index(i pulumi.IntI } type JobDefinitionTimeout struct { - // The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + // Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. AttemptDurationSeconds *int `pulumi:"attemptDurationSeconds"` } @@ -3285,7 +3403,7 @@ type JobDefinitionTimeoutInput interface { } type JobDefinitionTimeoutArgs struct { - // The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + // Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. AttemptDurationSeconds pulumi.IntPtrInput `pulumi:"attemptDurationSeconds"` } @@ -3366,7 +3484,7 @@ func (o JobDefinitionTimeoutOutput) ToJobDefinitionTimeoutPtrOutputWithContext(c }).(JobDefinitionTimeoutPtrOutput) } -// The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. +// Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. func (o JobDefinitionTimeoutOutput) AttemptDurationSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v JobDefinitionTimeout) *int { return v.AttemptDurationSeconds }).(pulumi.IntPtrOutput) } @@ -3395,7 +3513,7 @@ func (o JobDefinitionTimeoutPtrOutput) Elem() JobDefinitionTimeoutOutput { }).(JobDefinitionTimeoutOutput) } -// The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. +// Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. func (o JobDefinitionTimeoutPtrOutput) AttemptDurationSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v *JobDefinitionTimeout) *int { if v == nil { @@ -8719,6 +8837,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArrayInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesImagePullSecretInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray{}) pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesMetadataInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesMetadataPtrInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*JobDefinitionEksPropertiesPodPropertiesVolumeInput)(nil)).Elem(), JobDefinitionEksPropertiesPodPropertiesVolumeArgs{}) @@ -8847,6 +8967,8 @@ func init() { pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextPtrOutput{}) pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountOutput{}) pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArrayOutput{}) + pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesImagePullSecretOutput{}) + pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArrayOutput{}) pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesMetadataOutput{}) pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesMetadataPtrOutput{}) pulumi.RegisterOutputType(JobDefinitionEksPropertiesPodPropertiesVolumeOutput{}) diff --git a/sdk/go/aws/cloudformation/pulumiTypes.go b/sdk/go/aws/cloudformation/pulumiTypes.go index 7db250490ad..302f19c5db2 100644 --- a/sdk/go/aws/cloudformation/pulumiTypes.go +++ b/sdk/go/aws/cloudformation/pulumiTypes.go @@ -520,6 +520,8 @@ func (o StackSetInstanceDeploymentTargetsPtrOutput) OrganizationalUnitIds() pulu } type StackSetInstanceOperationPreferences struct { + // Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + ConcurrencyMode *string `pulumi:"concurrencyMode"` // Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. FailureToleranceCount *int `pulumi:"failureToleranceCount"` // Percentage of accounts, per Region, for which this stack operation can fail before AWS CloudFormation stops the operation in that Region. @@ -546,6 +548,8 @@ type StackSetInstanceOperationPreferencesInput interface { } type StackSetInstanceOperationPreferencesArgs struct { + // Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + ConcurrencyMode pulumi.StringPtrInput `pulumi:"concurrencyMode"` // Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. FailureToleranceCount pulumi.IntPtrInput `pulumi:"failureToleranceCount"` // Percentage of accounts, per Region, for which this stack operation can fail before AWS CloudFormation stops the operation in that Region. @@ -637,6 +641,11 @@ func (o StackSetInstanceOperationPreferencesOutput) ToStackSetInstanceOperationP }).(StackSetInstanceOperationPreferencesPtrOutput) } +// Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. +func (o StackSetInstanceOperationPreferencesOutput) ConcurrencyMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v StackSetInstanceOperationPreferences) *string { return v.ConcurrencyMode }).(pulumi.StringPtrOutput) +} + // Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. func (o StackSetInstanceOperationPreferencesOutput) FailureToleranceCount() pulumi.IntPtrOutput { return o.ApplyT(func(v StackSetInstanceOperationPreferences) *int { return v.FailureToleranceCount }).(pulumi.IntPtrOutput) @@ -691,6 +700,16 @@ func (o StackSetInstanceOperationPreferencesPtrOutput) Elem() StackSetInstanceOp }).(StackSetInstanceOperationPreferencesOutput) } +// Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. +func (o StackSetInstanceOperationPreferencesPtrOutput) ConcurrencyMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StackSetInstanceOperationPreferences) *string { + if v == nil { + return nil + } + return v.ConcurrencyMode + }).(pulumi.StringPtrOutput) +} + // Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. func (o StackSetInstanceOperationPreferencesPtrOutput) FailureToleranceCount() pulumi.IntPtrOutput { return o.ApplyT(func(v *StackSetInstanceOperationPreferences) *int { diff --git a/sdk/go/aws/cloudwatch/eventBus.go b/sdk/go/aws/cloudwatch/eventBus.go index be0b70eabcb..cfb571a5299 100644 --- a/sdk/go/aws/cloudwatch/eventBus.go +++ b/sdk/go/aws/cloudwatch/eventBus.go @@ -86,6 +86,8 @@ type EventBus struct { Arn pulumi.StringOutput `pulumi:"arn"` // The partner event source that the new event bus will be matched with. Must match `name`. EventSourceName pulumi.StringPtrOutput `pulumi:"eventSourceName"` + // The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + KmsKeyIdentifier pulumi.StringPtrOutput `pulumi:"kmsKeyIdentifier"` // The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. Name pulumi.StringOutput `pulumi:"name"` // A 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. @@ -130,6 +132,8 @@ type eventBusState struct { Arn *string `pulumi:"arn"` // The partner event source that the new event bus will be matched with. Must match `name`. EventSourceName *string `pulumi:"eventSourceName"` + // The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + KmsKeyIdentifier *string `pulumi:"kmsKeyIdentifier"` // The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. Name *string `pulumi:"name"` // A 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. @@ -145,6 +149,8 @@ type EventBusState struct { Arn pulumi.StringPtrInput // The partner event source that the new event bus will be matched with. Must match `name`. EventSourceName pulumi.StringPtrInput + // The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + KmsKeyIdentifier pulumi.StringPtrInput // The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. Name pulumi.StringPtrInput // A 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. @@ -162,6 +168,8 @@ func (EventBusState) ElementType() reflect.Type { type eventBusArgs struct { // The partner event source that the new event bus will be matched with. Must match `name`. EventSourceName *string `pulumi:"eventSourceName"` + // The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + KmsKeyIdentifier *string `pulumi:"kmsKeyIdentifier"` // The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. Name *string `pulumi:"name"` // A 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. @@ -172,6 +180,8 @@ type eventBusArgs struct { type EventBusArgs struct { // The partner event source that the new event bus will be matched with. Must match `name`. EventSourceName pulumi.StringPtrInput + // The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + KmsKeyIdentifier pulumi.StringPtrInput // The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. Name pulumi.StringPtrInput // A 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. @@ -275,6 +285,11 @@ func (o EventBusOutput) EventSourceName() pulumi.StringPtrOutput { return o.ApplyT(func(v *EventBus) pulumi.StringPtrOutput { return v.EventSourceName }).(pulumi.StringPtrOutput) } +// The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. +func (o EventBusOutput) KmsKeyIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EventBus) pulumi.StringPtrOutput { return v.KmsKeyIdentifier }).(pulumi.StringPtrOutput) +} + // The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. func (o EventBusOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *EventBus) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/cloudwatch/getEventBus.go b/sdk/go/aws/cloudwatch/getEventBus.go index efc62f9a51a..ec603f12a46 100644 --- a/sdk/go/aws/cloudwatch/getEventBus.go +++ b/sdk/go/aws/cloudwatch/getEventBus.go @@ -61,8 +61,10 @@ type LookupEventBusResult struct { // ARN. Arn string `pulumi:"arn"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - Name string `pulumi:"name"` + Id string `pulumi:"id"` + // The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. + KmsKeyIdentifier string `pulumi:"kmsKeyIdentifier"` + Name string `pulumi:"name"` } func LookupEventBusOutput(ctx *pulumi.Context, args LookupEventBusOutputArgs, opts ...pulumi.InvokeOption) LookupEventBusResultOutput { @@ -113,6 +115,11 @@ func (o LookupEventBusResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupEventBusResult) string { return v.Id }).(pulumi.StringOutput) } +// The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. +func (o LookupEventBusResultOutput) KmsKeyIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupEventBusResult) string { return v.KmsKeyIdentifier }).(pulumi.StringOutput) +} + func (o LookupEventBusResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupEventBusResult) string { return v.Name }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cur/getReportDefinition.go b/sdk/go/aws/cur/getReportDefinition.go index 1c5956c6e1f..e0d709f7e27 100644 --- a/sdk/go/aws/cur/getReportDefinition.go +++ b/sdk/go/aws/cur/getReportDefinition.go @@ -56,6 +56,8 @@ func LookupReportDefinition(ctx *pulumi.Context, args *LookupReportDefinitionArg type LookupReportDefinitionArgs struct { // Name of the report definition to match. ReportName string `pulumi:"reportName"` + // Map of key-value pairs assigned to the resource. + Tags map[string]string `pulumi:"tags"` } // A collection of values returned by getReportDefinition. @@ -81,6 +83,8 @@ type LookupReportDefinitionResult struct { S3Prefix string `pulumi:"s3Prefix"` // Region of customer S3 bucket. S3Region string `pulumi:"s3Region"` + // Map of key-value pairs assigned to the resource. + Tags map[string]string `pulumi:"tags"` // Frequency on which report data are measured and displayed. TimeUnit string `pulumi:"timeUnit"` } @@ -102,6 +106,8 @@ func LookupReportDefinitionOutput(ctx *pulumi.Context, args LookupReportDefiniti type LookupReportDefinitionOutputArgs struct { // Name of the report definition to match. ReportName pulumi.StringInput `pulumi:"reportName"` + // Map of key-value pairs assigned to the resource. + Tags pulumi.StringMapInput `pulumi:"tags"` } func (LookupReportDefinitionOutputArgs) ElementType() reflect.Type { @@ -177,6 +183,11 @@ func (o LookupReportDefinitionResultOutput) S3Region() pulumi.StringOutput { return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.S3Region }).(pulumi.StringOutput) } +// Map of key-value pairs assigned to the resource. +func (o LookupReportDefinitionResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupReportDefinitionResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + // Frequency on which report data are measured and displayed. func (o LookupReportDefinitionResultOutput) TimeUnit() pulumi.StringOutput { return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.TimeUnit }).(pulumi.StringOutput) diff --git a/sdk/go/aws/cur/reportDefinition.go b/sdk/go/aws/cur/reportDefinition.go index 783fe308124..427ffd0a968 100644 --- a/sdk/go/aws/cur/reportDefinition.go +++ b/sdk/go/aws/cur/reportDefinition.go @@ -87,6 +87,12 @@ type ReportDefinition struct { S3Prefix pulumi.StringPtrOutput `pulumi:"s3Prefix"` // Region of the existing S3 bucket to hold generated reports. S3Region pulumi.StringOutput `pulumi:"s3Region"` + // Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. TimeUnit pulumi.StringOutput `pulumi:"timeUnit"` } @@ -164,6 +170,12 @@ type reportDefinitionState struct { S3Prefix *string `pulumi:"s3Prefix"` // Region of the existing S3 bucket to hold generated reports. S3Region *string `pulumi:"s3Region"` + // Key-value pairs of resource tags to assign to the DataSync Location. 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"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` // The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. TimeUnit *string `pulumi:"timeUnit"` } @@ -191,6 +203,12 @@ type ReportDefinitionState struct { S3Prefix pulumi.StringPtrInput // Region of the existing S3 bucket to hold generated reports. S3Region pulumi.StringPtrInput + // Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput // The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. TimeUnit pulumi.StringPtrInput } @@ -220,6 +238,8 @@ type reportDefinitionArgs struct { S3Prefix *string `pulumi:"s3Prefix"` // Region of the existing S3 bucket to hold generated reports. S3Region string `pulumi:"s3Region"` + // Key-value pairs of resource tags to assign to the DataSync Location. 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"` // The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. TimeUnit string `pulumi:"timeUnit"` } @@ -246,6 +266,8 @@ type ReportDefinitionArgs struct { S3Prefix pulumi.StringPtrInput // Region of the existing S3 bucket to hold generated reports. S3Region pulumi.StringInput + // Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput // The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. TimeUnit pulumi.StringInput } @@ -392,6 +414,18 @@ func (o ReportDefinitionOutput) S3Region() pulumi.StringOutput { return o.ApplyT(func(v *ReportDefinition) pulumi.StringOutput { return v.S3Region }).(pulumi.StringOutput) } +// Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o ReportDefinitionOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReportDefinition) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// +// Deprecated: Please use `tags` instead. +func (o ReportDefinitionOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReportDefinition) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + // The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. func (o ReportDefinitionOutput) TimeUnit() pulumi.StringOutput { return o.ApplyT(func(v *ReportDefinition) pulumi.StringOutput { return v.TimeUnit }).(pulumi.StringOutput) diff --git a/sdk/go/aws/ec2/launchTemplate.go b/sdk/go/aws/ec2/launchTemplate.go index 2c16db3bd4c..97576f0e774 100644 --- a/sdk/go/aws/ec2/launchTemplate.go +++ b/sdk/go/aws/ec2/launchTemplate.go @@ -39,10 +39,10 @@ type LaunchTemplate struct { DefaultVersion pulumi.IntOutput `pulumi:"defaultVersion"` // Description of the launch template. Description pulumi.StringPtrOutput `pulumi:"description"` - // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). DisableApiStop pulumi.BoolPtrOutput `pulumi:"disableApiStop"` // If `true`, enables [EC2 Instance - // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) DisableApiTermination pulumi.BoolPtrOutput `pulumi:"disableApiTermination"` // If `true`, the launched EC2 instance will be EBS-optimized. EbsOptimized pulumi.StringPtrOutput `pulumi:"ebsOptimized"` @@ -162,10 +162,10 @@ type launchTemplateState struct { DefaultVersion *int `pulumi:"defaultVersion"` // Description of the launch template. Description *string `pulumi:"description"` - // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). DisableApiStop *bool `pulumi:"disableApiStop"` // If `true`, enables [EC2 Instance - // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) DisableApiTermination *bool `pulumi:"disableApiTermination"` // If `true`, the launched EC2 instance will be EBS-optimized. EbsOptimized *string `pulumi:"ebsOptimized"` @@ -256,10 +256,10 @@ type LaunchTemplateState struct { DefaultVersion pulumi.IntPtrInput // Description of the launch template. Description pulumi.StringPtrInput - // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). DisableApiStop pulumi.BoolPtrInput // If `true`, enables [EC2 Instance - // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) DisableApiTermination pulumi.BoolPtrInput // If `true`, the launched EC2 instance will be EBS-optimized. EbsOptimized pulumi.StringPtrInput @@ -352,10 +352,10 @@ type launchTemplateArgs struct { DefaultVersion *int `pulumi:"defaultVersion"` // Description of the launch template. Description *string `pulumi:"description"` - // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). DisableApiStop *bool `pulumi:"disableApiStop"` // If `true`, enables [EC2 Instance - // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) DisableApiTermination *bool `pulumi:"disableApiTermination"` // If `true`, the launched EC2 instance will be EBS-optimized. EbsOptimized *string `pulumi:"ebsOptimized"` @@ -439,10 +439,10 @@ type LaunchTemplateArgs struct { DefaultVersion pulumi.IntPtrInput // Description of the launch template. Description pulumi.StringPtrInput - // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + // If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). DisableApiStop pulumi.BoolPtrInput // If `true`, enables [EC2 Instance - // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + // Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) DisableApiTermination pulumi.BoolPtrInput // If `true`, the launched EC2 instance will be EBS-optimized. EbsOptimized pulumi.StringPtrInput @@ -636,13 +636,13 @@ func (o LaunchTemplateOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *LaunchTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). +// If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). func (o LaunchTemplateOutput) DisableApiStop() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LaunchTemplate) pulumi.BoolPtrOutput { return v.DisableApiStop }).(pulumi.BoolPtrOutput) } // If `true`, enables [EC2 Instance -// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) +// Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) func (o LaunchTemplateOutput) DisableApiTermination() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LaunchTemplate) pulumi.BoolPtrOutput { return v.DisableApiTermination }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/ec2/securityGroup.go b/sdk/go/aws/ec2/securityGroup.go index 4112b26ace4..d606f38b3d2 100644 --- a/sdk/go/aws/ec2/securityGroup.go +++ b/sdk/go/aws/ec2/securityGroup.go @@ -13,7 +13,9 @@ import ( // Provides a security group resource. // -// > **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 `vpc.SecurityGroupEgressRule` and `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 `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. +// > **NOTE:** Avoid using the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. +// +// !> **WARNING:** You should not use the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) in conjunction with the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. // // > **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). // diff --git a/sdk/go/aws/ec2/securityGroupRule.go b/sdk/go/aws/ec2/securityGroupRule.go index 25ef1b37720..a64f7dc69ec 100644 --- a/sdk/go/aws/ec2/securityGroupRule.go +++ b/sdk/go/aws/ec2/securityGroupRule.go @@ -12,13 +12,11 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a security group rule resource. Represents a single `ingress` or -// `egress` group rule, which can be added to external Security Groups. +// Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups. // -// > **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 `vpc.SecurityGroupEgressRule` and `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 `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. +// > **NOTE:** Avoid using the `ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. +// +// !> **WARNING:** You should not use the `ec2.SecurityGroupRule` resource in conjunction with `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources or with an `ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. // // > **NOTE:** Setting `protocol = "all"` or `protocol = -1` with `fromPort` and `toPort` 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. // diff --git a/sdk/go/aws/ecs/taskDefinition.go b/sdk/go/aws/ecs/taskDefinition.go index 432b4cc7476..085d3931161 100644 --- a/sdk/go/aws/ecs/taskDefinition.go +++ b/sdk/go/aws/ecs/taskDefinition.go @@ -464,7 +464,7 @@ type TaskDefinition struct { TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. TaskRoleArn pulumi.StringPtrOutput `pulumi:"taskRoleArn"` - // Whether should track latest task definition or the one created with the resource. Default is `false`. + // Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. TrackLatest pulumi.BoolPtrOutput `pulumi:"trackLatest"` // Configuration block for volumes that containers in your task may use. Detailed below. Volumes TaskDefinitionVolumeArrayOutput `pulumi:"volumes"` @@ -552,7 +552,7 @@ type taskDefinitionState struct { TagsAll map[string]string `pulumi:"tagsAll"` // ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. TaskRoleArn *string `pulumi:"taskRoleArn"` - // Whether should track latest task definition or the one created with the resource. Default is `false`. + // Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. TrackLatest *bool `pulumi:"trackLatest"` // Configuration block for volumes that containers in your task may use. Detailed below. Volumes []TaskDefinitionVolume `pulumi:"volumes"` @@ -605,7 +605,7 @@ type TaskDefinitionState struct { TagsAll pulumi.StringMapInput // ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. TaskRoleArn pulumi.StringPtrInput - // Whether should track latest task definition or the one created with the resource. Default is `false`. + // Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. TrackLatest pulumi.BoolPtrInput // Configuration block for volumes that containers in your task may use. Detailed below. Volumes TaskDefinitionVolumeArrayInput @@ -652,7 +652,7 @@ type taskDefinitionArgs struct { Tags map[string]string `pulumi:"tags"` // ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. TaskRoleArn *string `pulumi:"taskRoleArn"` - // Whether should track latest task definition or the one created with the resource. Default is `false`. + // Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. TrackLatest *bool `pulumi:"trackLatest"` // Configuration block for volumes that containers in your task may use. Detailed below. Volumes []TaskDefinitionVolume `pulumi:"volumes"` @@ -696,7 +696,7 @@ type TaskDefinitionArgs struct { Tags pulumi.StringMapInput // ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. TaskRoleArn pulumi.StringPtrInput - // Whether should track latest task definition or the one created with the resource. Default is `false`. + // Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. TrackLatest pulumi.BoolPtrInput // Configuration block for volumes that containers in your task may use. Detailed below. Volumes TaskDefinitionVolumeArrayInput @@ -898,7 +898,7 @@ func (o TaskDefinitionOutput) TaskRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *TaskDefinition) pulumi.StringPtrOutput { return v.TaskRoleArn }).(pulumi.StringPtrOutput) } -// Whether should track latest task definition or the one created with the resource. Default is `false`. +// Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. func (o TaskDefinitionOutput) TrackLatest() pulumi.BoolPtrOutput { return o.ApplyT(func(v *TaskDefinition) pulumi.BoolPtrOutput { return v.TrackLatest }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/getServicePrincipal.go b/sdk/go/aws/getServicePrincipal.go new file mode 100644 index 00000000000..8feb7ca0579 --- /dev/null +++ b/sdk/go/aws/getServicePrincipal.go @@ -0,0 +1,145 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package aws + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := aws.GetServicePrincipal(ctx, &aws.GetServicePrincipalArgs{ +// ServiceName: "s3", +// }, nil) +// if err != nil { +// return err +// } +// _, err = aws.GetServicePrincipal(ctx, &aws.GetServicePrincipalArgs{ +// ServiceName: "s3", +// Region: pulumi.StringRef("us-iso-east-1"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetServicePrincipal(ctx *pulumi.Context, args *GetServicePrincipalArgs, opts ...pulumi.InvokeOption) (*GetServicePrincipalResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetServicePrincipalResult + err := ctx.Invoke("aws:index/getServicePrincipal:getServicePrincipal", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getServicePrincipal. +type GetServicePrincipalArgs struct { + // Region you'd like the SPN for. By default, uses the current region. + Region *string `pulumi:"region"` + // Name of the service you want to generate a Service Principal Name for. + ServiceName string `pulumi:"serviceName"` +} + +// A collection of values returned by getServicePrincipal. +type GetServicePrincipalResult struct { + // Identifier of the current Service Principal (compound of service, region and suffix). (e.g. `logs.us-east-1.amazonaws.com`in AWS Commercial, `logs.cn-north-1.amazonaws.com.cn` in AWS China). + Id string `pulumi:"id"` + // Service Principal Name (e.g., `logs.amazonaws.com` in AWS Commercial, `logs.amazonaws.com.cn` in AWS China). + Name string `pulumi:"name"` + // Region identifier of the generated SPN (e.g., `us-east-1` in AWS Commercial, `cn-north-1` in AWS China). + Region string `pulumi:"region"` + ServiceName string `pulumi:"serviceName"` + // Suffix of the SPN (e.g., `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). + Suffix string `pulumi:"suffix"` +} + +func GetServicePrincipalOutput(ctx *pulumi.Context, args GetServicePrincipalOutputArgs, opts ...pulumi.InvokeOption) GetServicePrincipalResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetServicePrincipalResult, error) { + args := v.(GetServicePrincipalArgs) + r, err := GetServicePrincipal(ctx, &args, opts...) + var s GetServicePrincipalResult + if r != nil { + s = *r + } + return s, err + }).(GetServicePrincipalResultOutput) +} + +// A collection of arguments for invoking getServicePrincipal. +type GetServicePrincipalOutputArgs struct { + // Region you'd like the SPN for. By default, uses the current region. + Region pulumi.StringPtrInput `pulumi:"region"` + // Name of the service you want to generate a Service Principal Name for. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (GetServicePrincipalOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServicePrincipalArgs)(nil)).Elem() +} + +// A collection of values returned by getServicePrincipal. +type GetServicePrincipalResultOutput struct{ *pulumi.OutputState } + +func (GetServicePrincipalResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServicePrincipalResult)(nil)).Elem() +} + +func (o GetServicePrincipalResultOutput) ToGetServicePrincipalResultOutput() GetServicePrincipalResultOutput { + return o +} + +func (o GetServicePrincipalResultOutput) ToGetServicePrincipalResultOutputWithContext(ctx context.Context) GetServicePrincipalResultOutput { + return o +} + +// Identifier of the current Service Principal (compound of service, region and suffix). (e.g. `logs.us-east-1.amazonaws.com`in AWS Commercial, `logs.cn-north-1.amazonaws.com.cn` in AWS China). +func (o GetServicePrincipalResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetServicePrincipalResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Service Principal Name (e.g., `logs.amazonaws.com` in AWS Commercial, `logs.amazonaws.com.cn` in AWS China). +func (o GetServicePrincipalResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServicePrincipalResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Region identifier of the generated SPN (e.g., `us-east-1` in AWS Commercial, `cn-north-1` in AWS China). +func (o GetServicePrincipalResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetServicePrincipalResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o GetServicePrincipalResultOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetServicePrincipalResult) string { return v.ServiceName }).(pulumi.StringOutput) +} + +// Suffix of the SPN (e.g., `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). +func (o GetServicePrincipalResultOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetServicePrincipalResult) string { return v.Suffix }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetServicePrincipalResultOutput{}) +} diff --git a/sdk/go/aws/glue/classifier.go b/sdk/go/aws/glue/classifier.go index 5c5a14872c5..479e37d7b81 100644 --- a/sdk/go/aws/glue/classifier.go +++ b/sdk/go/aws/glue/classifier.go @@ -13,11 +13,11 @@ import ( // Provides a Glue Classifier resource. // -// > **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier. +// > **NOTE:** It is only valid to create one type of classifier (CSV, grok, JSON, or XML). Changing classifier types will recreate the classifier. // // ## Example Usage // -// ### Csv Classifier +// ### CSV Classifier // // ```go // package main @@ -153,7 +153,7 @@ import ( type Classifier struct { pulumi.CustomResourceState - // A classifier for Csv content. Defined below. + // A classifier for CSV content. Defined below. CsvClassifier ClassifierCsvClassifierPtrOutput `pulumi:"csvClassifier"` // A classifier that uses grok patterns. Defined below. GrokClassifier ClassifierGrokClassifierPtrOutput `pulumi:"grokClassifier"` @@ -195,7 +195,7 @@ func GetClassifier(ctx *pulumi.Context, // Input properties used for looking up and filtering Classifier resources. type classifierState struct { - // A classifier for Csv content. Defined below. + // A classifier for CSV content. Defined below. CsvClassifier *ClassifierCsvClassifier `pulumi:"csvClassifier"` // A classifier that uses grok patterns. Defined below. GrokClassifier *ClassifierGrokClassifier `pulumi:"grokClassifier"` @@ -208,7 +208,7 @@ type classifierState struct { } type ClassifierState struct { - // A classifier for Csv content. Defined below. + // A classifier for CSV content. Defined below. CsvClassifier ClassifierCsvClassifierPtrInput // A classifier that uses grok patterns. Defined below. GrokClassifier ClassifierGrokClassifierPtrInput @@ -225,7 +225,7 @@ func (ClassifierState) ElementType() reflect.Type { } type classifierArgs struct { - // A classifier for Csv content. Defined below. + // A classifier for CSV content. Defined below. CsvClassifier *ClassifierCsvClassifier `pulumi:"csvClassifier"` // A classifier that uses grok patterns. Defined below. GrokClassifier *ClassifierGrokClassifier `pulumi:"grokClassifier"` @@ -239,7 +239,7 @@ type classifierArgs struct { // The set of arguments for constructing a Classifier resource. type ClassifierArgs struct { - // A classifier for Csv content. Defined below. + // A classifier for CSV content. Defined below. CsvClassifier ClassifierCsvClassifierPtrInput // A classifier that uses grok patterns. Defined below. GrokClassifier ClassifierGrokClassifierPtrInput @@ -338,7 +338,7 @@ func (o ClassifierOutput) ToClassifierOutputWithContext(ctx context.Context) Cla return o } -// A classifier for Csv content. Defined below. +// A classifier for CSV content. Defined below. func (o ClassifierOutput) CsvClassifier() ClassifierCsvClassifierPtrOutput { return o.ApplyT(func(v *Classifier) ClassifierCsvClassifierPtrOutput { return v.CsvClassifier }).(ClassifierCsvClassifierPtrOutput) } diff --git a/sdk/go/aws/glue/connection.go b/sdk/go/aws/glue/connection.go index ca67f597707..ce1cfcfbd24 100644 --- a/sdk/go/aws/glue/connection.go +++ b/sdk/go/aws/glue/connection.go @@ -30,12 +30,12 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), // ConnectionProperties: pulumi.StringMap{ // "JDBC_CONNECTION_URL": pulumi.String("jdbc:mysql://example.com/exampledatabase"), // "PASSWORD": pulumi.String("examplepassword"), // "USERNAME": pulumi.String("exampleusername"), // }, -// Name: pulumi.String("example"), // }) // if err != nil { // return err @@ -68,11 +68,11 @@ import ( // return err // } // _, err = glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), // ConnectionProperties: pulumi.StringMap{ // "JDBC_CONNECTION_URL": pulumi.String("jdbc:mysql://example.com/exampledatabase"), // "SECRET_ID": pulumi.String(example.Name), // }, -// Name: pulumi.String("example"), // }) // if err != nil { // return err @@ -102,12 +102,12 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), // ConnectionProperties: pulumi.StringMap{ // "JDBC_CONNECTION_URL": pulumi.String(fmt.Sprintf("jdbc:mysql://%v/exampledatabase", exampleAwsRdsCluster.Endpoint)), // "PASSWORD": pulumi.String("examplepassword"), // "USERNAME": pulumi.String("exampleusername"), // }, -// Name: pulumi.String("example"), // PhysicalConnectionRequirements: &glue.ConnectionPhysicalConnectionRequirementsArgs{ // AvailabilityZone: pulumi.Any(exampleAwsSubnet.AvailabilityZone), // SecurityGroupIdLists: pulumi.StringArray{ @@ -148,7 +148,8 @@ import ( // if err != nil { // return err // } -// exampleConnector, err := glue.NewConnection(ctx, "example_connector", &glue.ConnectionArgs{ +// example1, err := glue.NewConnection(ctx, "example1", &glue.ConnectionArgs{ +// Name: pulumi.String("example1"), // ConnectionType: pulumi.String("CUSTOM"), // ConnectionProperties: pulumi.StringMap{ // "CONNECTOR_CLASS_NAME": pulumi.String("net.snowflake.client.jdbc.SnowflakeDriver"), @@ -156,7 +157,6 @@ import ( // "CONNECTOR_URL": pulumi.String("s3://example/snowflake-jdbc.jar"), // "JDBC_CONNECTION_URL": pulumi.String("[[\"default=jdbc:snowflake://example.com/?user=${user}&password=${password}\"],\",\"]"), // }, -// Name: pulumi.String("example_connector"), // MatchCriterias: pulumi.StringArray{ // pulumi.String("template-connection"), // }, @@ -165,7 +165,8 @@ import ( // return err // } // // Reference the connector using match_criteria with the connector created above. -// _, err = glue.NewConnection(ctx, "example_connection", &glue.ConnectionArgs{ +// _, err = glue.NewConnection(ctx, "example2", &glue.ConnectionArgs{ +// Name: pulumi.String("example2"), // ConnectionType: pulumi.String("CUSTOM"), // ConnectionProperties: pulumi.StringMap{ // "CONNECTOR_CLASS_NAME": pulumi.String("net.snowflake.client.jdbc.SnowflakeDriver"), @@ -174,10 +175,365 @@ import ( // "JDBC_CONNECTION_URL": pulumi.String("jdbc:snowflake://example.com/?user=${user}&password=${password}"), // "SECRET_ID": pulumi.String(example.Name), // }, -// Name: pulumi.String("example"), // MatchCriterias: pulumi.StringArray{ // pulumi.String("Connection"), -// exampleConnector.Name, +// example1.Name, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Azure Cosmos Connection +// +// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos). +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := secretsmanager.NewSecret(ctx, "example", &secretsmanager.SecretArgs{ +// Name: pulumi.String("example-secret"), +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "username": "exampleusername", +// "password": "examplepassword", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = secretsmanager.NewSecretVersion(ctx, "example", &secretsmanager.SecretVersionArgs{ +// SecretId: example.ID(), +// SecretString: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// _, err = glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), +// ConnectionType: pulumi.String("AZURECOSMOS"), +// ConnectionProperties: pulumi.StringMap{ +// "SparkProperties": example.Name.ApplyT(func(name string) (pulumi.String, error) { +// var _zero pulumi.String +// tmpJSON1, err := json.Marshal(map[string]interface{}{ +// "secretId": name, +// "spark.cosmos.accountEndpoint": "https://exampledbaccount.documents.azure.com:443/", +// }) +// if err != nil { +// return _zero, err +// } +// json1 := string(tmpJSON1) +// return pulumi.String(json1), nil +// }).(pulumi.StringOutput), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Azure SQL Connection +// +// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql). +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := secretsmanager.NewSecret(ctx, "example", &secretsmanager.SecretArgs{ +// Name: pulumi.String("example-secret"), +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "username": "exampleusername", +// "password": "examplepassword", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = secretsmanager.NewSecretVersion(ctx, "example", &secretsmanager.SecretVersionArgs{ +// SecretId: example.ID(), +// SecretString: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// _, err = glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), +// ConnectionType: pulumi.String("AZURECOSMOS"), +// ConnectionProperties: pulumi.StringMap{ +// "SparkProperties": example.Name.ApplyT(func(name string) (pulumi.String, error) { +// var _zero pulumi.String +// tmpJSON1, err := json.Marshal(map[string]interface{}{ +// "secretId": name, +// "url": "jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase", +// }) +// if err != nil { +// return _zero, err +// } +// json1 := string(tmpJSON1) +// return pulumi.String(json1), nil +// }).(pulumi.StringOutput), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Google BigQuery Connection +// +// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery). +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager" +// "github.com/pulumi/pulumi-std/sdk/go/std" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := secretsmanager.NewSecret(ctx, "example", &secretsmanager.SecretArgs{ +// Name: pulumi.String("example-secret"), +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "credentials": std.Base64encode(ctx, &std.Base64encodeArgs{ +// Input: `{ +// "type": "service_account", +// "project_id": "example-project", +// "private_key_id": "example-key", +// "private_key": "-----BEGIN RSA PRIVATE KEY-----\nREDACTED\n-----END RSA PRIVATE KEY-----", +// "client_email": "example-project@appspot.gserviceaccount.com", +// "client_id": example-client", +// "auth_uri": "https://accounts.google.com/o/oauth2/auth", +// "token_uri": "https://oauth2.googleapis.com/token", +// "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", +// "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com", +// "universe_domain": "googleapis.com" +// } +// +// `, +// +// }, nil).Result, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = secretsmanager.NewSecretVersion(ctx, "example", &secretsmanager.SecretVersionArgs{ +// SecretId: example.ID(), +// SecretString: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// _, err = glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), +// ConnectionType: pulumi.String("BIGQUERY"), +// ConnectionProperties: pulumi.StringMap{ +// "SparkProperties": example.Name.ApplyT(func(name string) (pulumi.String, error) { +// var _zero pulumi.String +// tmpJSON1, err := json.Marshal(map[string]interface{}{ +// "secretId": name, +// }) +// if err != nil { +// return _zero, err +// } +// json1 := string(tmpJSON1) +// return pulumi.String(json1), nil +// }).(pulumi.StringOutput), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### OpenSearch Service Connection +// +// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch). +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := secretsmanager.NewSecret(ctx, "example", &secretsmanager.SecretArgs{ +// Name: pulumi.String("example-secret"), +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "opensearch.net.http.auth.user": "exampleusername", +// "opensearch.net.http.auth.pass": "examplepassword", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = secretsmanager.NewSecretVersion(ctx, "example", &secretsmanager.SecretVersionArgs{ +// SecretId: example.ID(), +// SecretString: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// _, err = glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), +// ConnectionType: pulumi.String("OPENSEARCH"), +// ConnectionProperties: pulumi.StringMap{ +// "SparkProperties": example.Name.ApplyT(func(name string) (pulumi.String, error) { +// var _zero pulumi.String +// tmpJSON1, err := json.Marshal(map[string]interface{}{ +// "secretId": name, +// "opensearch.nodes": "https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com", +// "opensearch.port": "443", +// "opensearch.aws.sigv4.region": "us-east-1", +// "opensearch.nodes.wan.only": "true", +// "opensearch.aws.sigv4.enabled": "true", +// }) +// if err != nil { +// return _zero, err +// } +// json1 := string(tmpJSON1) +// return pulumi.String(json1), nil +// }).(pulumi.StringOutput), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Snowflake Connection +// +// For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake). +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := secretsmanager.NewSecret(ctx, "example", &secretsmanager.SecretArgs{ +// Name: pulumi.String("example-secret"), +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "sfUser": "exampleusername", +// "sfPassword": "examplepassword", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = secretsmanager.NewSecretVersion(ctx, "example", &secretsmanager.SecretVersionArgs{ +// SecretId: example.ID(), +// SecretString: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// _, err = glue.NewConnection(ctx, "example", &glue.ConnectionArgs{ +// Name: pulumi.String("example"), +// ConnectionType: pulumi.String("SNOWFLAKE"), +// ConnectionProperties: pulumi.StringMap{ +// "SparkProperties": example.Name.ApplyT(func(name string) (pulumi.String, error) { +// var _zero pulumi.String +// tmpJSON1, err := json.Marshal(map[string]interface{}{ +// "secretId": name, +// "sfRole": "EXAMPLEETLROLE", +// "sfUrl": "exampleorg-exampleconnection.snowflakecomputing.com", +// }) +// if err != nil { +// return _zero, err +// } +// json1 := string(tmpJSON1) +// return pulumi.String(json1), nil +// }).(pulumi.StringOutput), // }, // }) // if err != nil { @@ -199,21 +555,25 @@ import ( type Connection struct { pulumi.CustomResourceState - // The ARN of the Glue Connection. + // ARN of the Glue Connection. Arn pulumi.StringOutput `pulumi:"arn"` - // The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + // ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. CatalogId pulumi.StringOutput `pulumi:"catalogId"` - // A map of key-value pairs used as parameters for this connection. + // Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + // + // **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. ConnectionProperties pulumi.StringMapOutput `pulumi:"connectionProperties"` - // The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + // Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. ConnectionType pulumi.StringPtrOutput `pulumi:"connectionType"` // Description of the connection. Description pulumi.StringPtrOutput `pulumi:"description"` - // A list of criteria that can be used in selecting this connection. + // List of criteria that can be used in selecting this connection. MatchCriterias pulumi.StringArrayOutput `pulumi:"matchCriterias"` - // The name of the connection. + // Name of the connection. + // + // The following arguments are optional: Name pulumi.StringOutput `pulumi:"name"` - // A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + // Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. PhysicalConnectionRequirements ConnectionPhysicalConnectionRequirementsPtrOutput `pulumi:"physicalConnectionRequirements"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -260,21 +620,25 @@ func GetConnection(ctx *pulumi.Context, // Input properties used for looking up and filtering Connection resources. type connectionState struct { - // The ARN of the Glue Connection. + // ARN of the Glue Connection. Arn *string `pulumi:"arn"` - // The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + // ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. CatalogId *string `pulumi:"catalogId"` - // A map of key-value pairs used as parameters for this connection. + // Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + // + // **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. ConnectionProperties map[string]string `pulumi:"connectionProperties"` - // The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + // Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. ConnectionType *string `pulumi:"connectionType"` // Description of the connection. Description *string `pulumi:"description"` - // A list of criteria that can be used in selecting this connection. + // List of criteria that can be used in selecting this connection. MatchCriterias []string `pulumi:"matchCriterias"` - // The name of the connection. + // Name of the connection. + // + // The following arguments are optional: Name *string `pulumi:"name"` - // A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + // Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. PhysicalConnectionRequirements *ConnectionPhysicalConnectionRequirements `pulumi:"physicalConnectionRequirements"` // Key-value map of resource tags. 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"` @@ -285,21 +649,25 @@ type connectionState struct { } type ConnectionState struct { - // The ARN of the Glue Connection. + // ARN of the Glue Connection. Arn pulumi.StringPtrInput - // The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + // ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. CatalogId pulumi.StringPtrInput - // A map of key-value pairs used as parameters for this connection. + // Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + // + // **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. ConnectionProperties pulumi.StringMapInput - // The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + // Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. ConnectionType pulumi.StringPtrInput // Description of the connection. Description pulumi.StringPtrInput - // A list of criteria that can be used in selecting this connection. + // List of criteria that can be used in selecting this connection. MatchCriterias pulumi.StringArrayInput - // The name of the connection. + // Name of the connection. + // + // The following arguments are optional: Name pulumi.StringPtrInput - // A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + // Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. PhysicalConnectionRequirements ConnectionPhysicalConnectionRequirementsPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -314,19 +682,23 @@ func (ConnectionState) ElementType() reflect.Type { } type connectionArgs struct { - // The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + // ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. CatalogId *string `pulumi:"catalogId"` - // A map of key-value pairs used as parameters for this connection. + // Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + // + // **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. ConnectionProperties map[string]string `pulumi:"connectionProperties"` - // The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + // Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. ConnectionType *string `pulumi:"connectionType"` // Description of the connection. Description *string `pulumi:"description"` - // A list of criteria that can be used in selecting this connection. + // List of criteria that can be used in selecting this connection. MatchCriterias []string `pulumi:"matchCriterias"` - // The name of the connection. + // Name of the connection. + // + // The following arguments are optional: Name *string `pulumi:"name"` - // A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + // Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. PhysicalConnectionRequirements *ConnectionPhysicalConnectionRequirements `pulumi:"physicalConnectionRequirements"` // Key-value map of resource tags. 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"` @@ -334,19 +706,23 @@ type connectionArgs struct { // The set of arguments for constructing a Connection resource. type ConnectionArgs struct { - // The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + // ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. CatalogId pulumi.StringPtrInput - // A map of key-value pairs used as parameters for this connection. + // Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + // + // **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. ConnectionProperties pulumi.StringMapInput - // The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + // Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. ConnectionType pulumi.StringPtrInput // Description of the connection. Description pulumi.StringPtrInput - // A list of criteria that can be used in selecting this connection. + // List of criteria that can be used in selecting this connection. MatchCriterias pulumi.StringArrayInput - // The name of the connection. + // Name of the connection. + // + // The following arguments are optional: Name pulumi.StringPtrInput - // A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + // Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. PhysicalConnectionRequirements ConnectionPhysicalConnectionRequirementsPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -439,22 +815,24 @@ func (o ConnectionOutput) ToConnectionOutputWithContext(ctx context.Context) Con return o } -// The ARN of the Glue Connection. +// ARN of the Glue Connection. func (o ConnectionOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. +// ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. func (o ConnectionOutput) CatalogId() pulumi.StringOutput { return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.CatalogId }).(pulumi.StringOutput) } -// A map of key-value pairs used as parameters for this connection. +// Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). +// +// **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. func (o ConnectionOutput) ConnectionProperties() pulumi.StringMapOutput { return o.ApplyT(func(v *Connection) pulumi.StringMapOutput { return v.ConnectionProperties }).(pulumi.StringMapOutput) } -// The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. +// Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. func (o ConnectionOutput) ConnectionType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Connection) pulumi.StringPtrOutput { return v.ConnectionType }).(pulumi.StringPtrOutput) } @@ -464,17 +842,19 @@ func (o ConnectionOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Connection) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// A list of criteria that can be used in selecting this connection. +// List of criteria that can be used in selecting this connection. func (o ConnectionOutput) MatchCriterias() pulumi.StringArrayOutput { return o.ApplyT(func(v *Connection) pulumi.StringArrayOutput { return v.MatchCriterias }).(pulumi.StringArrayOutput) } -// The name of the connection. +// Name of the connection. +// +// The following arguments are optional: func (o ConnectionOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. +// Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. func (o ConnectionOutput) PhysicalConnectionRequirements() ConnectionPhysicalConnectionRequirementsPtrOutput { return o.ApplyT(func(v *Connection) ConnectionPhysicalConnectionRequirementsPtrOutput { return v.PhysicalConnectionRequirements diff --git a/sdk/go/aws/glue/pulumiTypes.go b/sdk/go/aws/glue/pulumiTypes.go index 32793cf2dbe..db3b570b375 100644 --- a/sdk/go/aws/glue/pulumiTypes.go +++ b/sdk/go/aws/glue/pulumiTypes.go @@ -2636,7 +2636,7 @@ type ClassifierCsvClassifier struct { CustomDatatypeConfigured *bool `pulumi:"customDatatypeConfigured"` // A list of supported custom datatypes. Valid values are `BINARY`, `BOOLEAN`, `DATE`, `DECIMAL`, `DOUBLE`, `FLOAT`, `INT`, `LONG`, `SHORT`, `STRING`, `TIMESTAMP`. CustomDatatypes []string `pulumi:"customDatatypes"` - // The delimiter used in the Csv to separate columns. + // The delimiter used in the CSV to separate columns. Delimiter *string `pulumi:"delimiter"` // Specifies whether to trim column values. DisableValueTrimming *bool `pulumi:"disableValueTrimming"` @@ -2644,7 +2644,8 @@ type ClassifierCsvClassifier struct { Headers []string `pulumi:"headers"` // A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. QuoteSymbol *string `pulumi:"quoteSymbol"` - Serde *string `pulumi:"serde"` + // The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + Serde *string `pulumi:"serde"` } // ClassifierCsvClassifierInput is an input type that accepts ClassifierCsvClassifierArgs and ClassifierCsvClassifierOutput values. @@ -2667,7 +2668,7 @@ type ClassifierCsvClassifierArgs struct { CustomDatatypeConfigured pulumi.BoolPtrInput `pulumi:"customDatatypeConfigured"` // A list of supported custom datatypes. Valid values are `BINARY`, `BOOLEAN`, `DATE`, `DECIMAL`, `DOUBLE`, `FLOAT`, `INT`, `LONG`, `SHORT`, `STRING`, `TIMESTAMP`. CustomDatatypes pulumi.StringArrayInput `pulumi:"customDatatypes"` - // The delimiter used in the Csv to separate columns. + // The delimiter used in the CSV to separate columns. Delimiter pulumi.StringPtrInput `pulumi:"delimiter"` // Specifies whether to trim column values. DisableValueTrimming pulumi.BoolPtrInput `pulumi:"disableValueTrimming"` @@ -2675,7 +2676,8 @@ type ClassifierCsvClassifierArgs struct { Headers pulumi.StringArrayInput `pulumi:"headers"` // A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. QuoteSymbol pulumi.StringPtrInput `pulumi:"quoteSymbol"` - Serde pulumi.StringPtrInput `pulumi:"serde"` + // The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + Serde pulumi.StringPtrInput `pulumi:"serde"` } func (ClassifierCsvClassifierArgs) ElementType() reflect.Type { @@ -2775,7 +2777,7 @@ func (o ClassifierCsvClassifierOutput) CustomDatatypes() pulumi.StringArrayOutpu return o.ApplyT(func(v ClassifierCsvClassifier) []string { return v.CustomDatatypes }).(pulumi.StringArrayOutput) } -// The delimiter used in the Csv to separate columns. +// The delimiter used in the CSV to separate columns. func (o ClassifierCsvClassifierOutput) Delimiter() pulumi.StringPtrOutput { return o.ApplyT(func(v ClassifierCsvClassifier) *string { return v.Delimiter }).(pulumi.StringPtrOutput) } @@ -2795,6 +2797,7 @@ func (o ClassifierCsvClassifierOutput) QuoteSymbol() pulumi.StringPtrOutput { return o.ApplyT(func(v ClassifierCsvClassifier) *string { return v.QuoteSymbol }).(pulumi.StringPtrOutput) } +// The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. func (o ClassifierCsvClassifierOutput) Serde() pulumi.StringPtrOutput { return o.ApplyT(func(v ClassifierCsvClassifier) *string { return v.Serde }).(pulumi.StringPtrOutput) } @@ -2863,7 +2866,7 @@ func (o ClassifierCsvClassifierPtrOutput) CustomDatatypes() pulumi.StringArrayOu }).(pulumi.StringArrayOutput) } -// The delimiter used in the Csv to separate columns. +// The delimiter used in the CSV to separate columns. func (o ClassifierCsvClassifierPtrOutput) Delimiter() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClassifierCsvClassifier) *string { if v == nil { @@ -2903,6 +2906,7 @@ func (o ClassifierCsvClassifierPtrOutput) QuoteSymbol() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. func (o ClassifierCsvClassifierPtrOutput) Serde() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClassifierCsvClassifier) *string { if v == nil { diff --git a/sdk/go/aws/iam/getAccountAlias.go b/sdk/go/aws/iam/getAccountAlias.go index 0450e7c6451..718a2d2b438 100644 --- a/sdk/go/aws/iam/getAccountAlias.go +++ b/sdk/go/aws/iam/getAccountAlias.go @@ -32,7 +32,7 @@ import ( // if err != nil { // return err // } -// ctx.Export("accountId", current.AccountAlias) +// ctx.Export("accountAlias", current.AccountAlias) // return nil // }) // } diff --git a/sdk/go/aws/lambda/runtimeManagementConfig.go b/sdk/go/aws/lambda/runtimeManagementConfig.go index a4dc0c9c217..4e38aeb5b0d 100644 --- a/sdk/go/aws/lambda/runtimeManagementConfig.go +++ b/sdk/go/aws/lambda/runtimeManagementConfig.go @@ -17,7 +17,7 @@ import ( // Refer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes. // // > Deletion of this resource returns the runtime update mode to `Auto` (the default behavior). -// To leave the configured runtime management options in-place, use a `removed` block withe destroy lifecycle set to `false`. +// To leave the configured runtime management options in-place, use a `removed` block with the destroy lifecycle set to `false`. // // ## Example Usage // diff --git a/sdk/go/aws/mwaa/environment.go b/sdk/go/aws/mwaa/environment.go index 330c4bb76ee..dbd6e2222cb 100644 --- a/sdk/go/aws/mwaa/environment.go +++ b/sdk/go/aws/mwaa/environment.go @@ -214,17 +214,19 @@ type Environment struct { // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. KmsKey pulumi.StringPtrOutput `pulumi:"kmsKey"` LastUpdateds EnvironmentLastUpdatedArrayOutput `pulumi:"lastUpdateds"` - // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. LoggingConfiguration EnvironmentLoggingConfigurationOutput `pulumi:"loggingConfiguration"` - MaxWebservers pulumi.IntOutput `pulumi:"maxWebservers"` + // The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + MaxWebservers pulumi.IntOutput `pulumi:"maxWebservers"` // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. - MaxWorkers pulumi.IntOutput `pulumi:"maxWorkers"` + MaxWorkers pulumi.IntOutput `pulumi:"maxWorkers"` + // The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. MinWebservers pulumi.IntOutput `pulumi:"minWebservers"` // The minimum number of workers that you want to run in your environment. Will be `1` by default. MinWorkers pulumi.IntOutput `pulumi:"minWorkers"` // The name of the Apache Airflow Environment Name pulumi.StringOutput `pulumi:"name"` - // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. NetworkConfiguration EnvironmentNetworkConfigurationOutput `pulumi:"networkConfiguration"` // The plugins.zip file version you want to use. PluginsS3ObjectVersion pulumi.StringOutput `pulumi:"pluginsS3ObjectVersion"` @@ -333,17 +335,19 @@ type environmentState struct { // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. KmsKey *string `pulumi:"kmsKey"` LastUpdateds []EnvironmentLastUpdated `pulumi:"lastUpdateds"` - // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. LoggingConfiguration *EnvironmentLoggingConfiguration `pulumi:"loggingConfiguration"` - MaxWebservers *int `pulumi:"maxWebservers"` + // The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + MaxWebservers *int `pulumi:"maxWebservers"` // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. - MaxWorkers *int `pulumi:"maxWorkers"` + MaxWorkers *int `pulumi:"maxWorkers"` + // The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. MinWebservers *int `pulumi:"minWebservers"` // The minimum number of workers that you want to run in your environment. Will be `1` by default. MinWorkers *int `pulumi:"minWorkers"` // The name of the Apache Airflow Environment Name *string `pulumi:"name"` - // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. NetworkConfiguration *EnvironmentNetworkConfiguration `pulumi:"networkConfiguration"` // The plugins.zip file version you want to use. PluginsS3ObjectVersion *string `pulumi:"pluginsS3ObjectVersion"` @@ -404,17 +408,19 @@ type EnvironmentState struct { // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. KmsKey pulumi.StringPtrInput LastUpdateds EnvironmentLastUpdatedArrayInput - // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. LoggingConfiguration EnvironmentLoggingConfigurationPtrInput - MaxWebservers pulumi.IntPtrInput + // The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + MaxWebservers pulumi.IntPtrInput // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. - MaxWorkers pulumi.IntPtrInput + MaxWorkers pulumi.IntPtrInput + // The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. MinWebservers pulumi.IntPtrInput // The minimum number of workers that you want to run in your environment. Will be `1` by default. MinWorkers pulumi.IntPtrInput // The name of the Apache Airflow Environment Name pulumi.StringPtrInput - // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. NetworkConfiguration EnvironmentNetworkConfigurationPtrInput // The plugins.zip file version you want to use. PluginsS3ObjectVersion pulumi.StringPtrInput @@ -471,17 +477,19 @@ type environmentArgs struct { ExecutionRoleArn string `pulumi:"executionRoleArn"` // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. KmsKey *string `pulumi:"kmsKey"` - // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. LoggingConfiguration *EnvironmentLoggingConfiguration `pulumi:"loggingConfiguration"` - MaxWebservers *int `pulumi:"maxWebservers"` + // The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + MaxWebservers *int `pulumi:"maxWebservers"` // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. - MaxWorkers *int `pulumi:"maxWorkers"` + MaxWorkers *int `pulumi:"maxWorkers"` + // The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. MinWebservers *int `pulumi:"minWebservers"` // The minimum number of workers that you want to run in your environment. Will be `1` by default. MinWorkers *int `pulumi:"minWorkers"` // The name of the Apache Airflow Environment Name *string `pulumi:"name"` - // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. NetworkConfiguration EnvironmentNetworkConfiguration `pulumi:"networkConfiguration"` // The plugins.zip file version you want to use. PluginsS3ObjectVersion *string `pulumi:"pluginsS3ObjectVersion"` @@ -523,17 +531,19 @@ type EnvironmentArgs struct { ExecutionRoleArn pulumi.StringInput // The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. KmsKey pulumi.StringPtrInput - // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. LoggingConfiguration EnvironmentLoggingConfigurationPtrInput - MaxWebservers pulumi.IntPtrInput + // The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + MaxWebservers pulumi.IntPtrInput // The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. - MaxWorkers pulumi.IntPtrInput + MaxWorkers pulumi.IntPtrInput + // The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. MinWebservers pulumi.IntPtrInput // The minimum number of workers that you want to run in your environment. Will be `1` by default. MinWorkers pulumi.IntPtrInput // The name of the Apache Airflow Environment Name pulumi.StringPtrInput - // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + // Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. NetworkConfiguration EnvironmentNetworkConfigurationInput // The plugins.zip file version you want to use. PluginsS3ObjectVersion pulumi.StringPtrInput @@ -701,11 +711,12 @@ func (o EnvironmentOutput) LastUpdateds() EnvironmentLastUpdatedArrayOutput { return o.ApplyT(func(v *Environment) EnvironmentLastUpdatedArrayOutput { return v.LastUpdateds }).(EnvironmentLastUpdatedArrayOutput) } -// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. +// The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. func (o EnvironmentOutput) LoggingConfiguration() EnvironmentLoggingConfigurationOutput { return o.ApplyT(func(v *Environment) EnvironmentLoggingConfigurationOutput { return v.LoggingConfiguration }).(EnvironmentLoggingConfigurationOutput) } +// The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. func (o EnvironmentOutput) MaxWebservers() pulumi.IntOutput { return o.ApplyT(func(v *Environment) pulumi.IntOutput { return v.MaxWebservers }).(pulumi.IntOutput) } @@ -715,6 +726,7 @@ func (o EnvironmentOutput) MaxWorkers() pulumi.IntOutput { return o.ApplyT(func(v *Environment) pulumi.IntOutput { return v.MaxWorkers }).(pulumi.IntOutput) } +// The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. func (o EnvironmentOutput) MinWebservers() pulumi.IntOutput { return o.ApplyT(func(v *Environment) pulumi.IntOutput { return v.MinWebservers }).(pulumi.IntOutput) } @@ -729,7 +741,7 @@ func (o EnvironmentOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. +// Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. func (o EnvironmentOutput) NetworkConfiguration() EnvironmentNetworkConfigurationOutput { return o.ApplyT(func(v *Environment) EnvironmentNetworkConfigurationOutput { return v.NetworkConfiguration }).(EnvironmentNetworkConfigurationOutput) } diff --git a/sdk/go/aws/rds/cluster.go b/sdk/go/aws/rds/cluster.go index a148bb68b80..d45b72c709d 100644 --- a/sdk/go/aws/rds/cluster.go +++ b/sdk/go/aws/rds/cluster.go @@ -381,7 +381,7 @@ type Cluster struct { // Days to retain backups for. Default `1` BackupRetentionPeriod pulumi.IntOutput `pulumi:"backupRetentionPeriod"` // The CA certificate identifier to use for the DB cluster's server certificate. - CaCertificateIdentifier pulumi.StringPtrOutput `pulumi:"caCertificateIdentifier"` + CaCertificateIdentifier pulumi.StringOutput `pulumi:"caCertificateIdentifier"` // Expiration date of the DB instance’s server certificate CaCertificateValidTill pulumi.StringOutput `pulumi:"caCertificateValidTill"` // The cluster identifier. If omitted, this provider will assign a random, unique identifier. @@ -1185,8 +1185,8 @@ func (o ClusterOutput) BackupRetentionPeriod() pulumi.IntOutput { } // The CA certificate identifier to use for the DB cluster's server certificate. -func (o ClusterOutput) CaCertificateIdentifier() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.CaCertificateIdentifier }).(pulumi.StringPtrOutput) +func (o ClusterOutput) CaCertificateIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.CaCertificateIdentifier }).(pulumi.StringOutput) } // Expiration date of the DB instance’s server certificate diff --git a/sdk/go/aws/rds/clusterSnapshot.go b/sdk/go/aws/rds/clusterSnapshot.go index a9371ac91a8..2600631a26a 100644 --- a/sdk/go/aws/rds/clusterSnapshot.go +++ b/sdk/go/aws/rds/clusterSnapshot.go @@ -70,9 +70,11 @@ type ClusterSnapshot struct { // License model information for the restored DB cluster. LicenseModel pulumi.StringOutput `pulumi:"licenseModel"` // Port that the DB cluster was listening on at the time of the snapshot. - Port pulumi.IntOutput `pulumi:"port"` - SnapshotType pulumi.StringOutput `pulumi:"snapshotType"` - SourceDbClusterSnapshotArn pulumi.StringOutput `pulumi:"sourceDbClusterSnapshotArn"` + Port pulumi.IntOutput `pulumi:"port"` + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayOutput `pulumi:"sharedAccounts"` + SnapshotType pulumi.StringOutput `pulumi:"snapshotType"` + SourceDbClusterSnapshotArn pulumi.StringOutput `pulumi:"sourceDbClusterSnapshotArn"` // The status of this DB Cluster Snapshot. Status pulumi.StringOutput `pulumi:"status"` // Whether the DB cluster snapshot is encrypted. @@ -142,9 +144,11 @@ type clusterSnapshotState struct { // License model information for the restored DB cluster. LicenseModel *string `pulumi:"licenseModel"` // Port that the DB cluster was listening on at the time of the snapshot. - Port *int `pulumi:"port"` - SnapshotType *string `pulumi:"snapshotType"` - SourceDbClusterSnapshotArn *string `pulumi:"sourceDbClusterSnapshotArn"` + Port *int `pulumi:"port"` + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts []string `pulumi:"sharedAccounts"` + SnapshotType *string `pulumi:"snapshotType"` + SourceDbClusterSnapshotArn *string `pulumi:"sourceDbClusterSnapshotArn"` // The status of this DB Cluster Snapshot. Status *string `pulumi:"status"` // Whether the DB cluster snapshot is encrypted. @@ -179,7 +183,9 @@ type ClusterSnapshotState struct { // License model information for the restored DB cluster. LicenseModel pulumi.StringPtrInput // Port that the DB cluster was listening on at the time of the snapshot. - Port pulumi.IntPtrInput + Port pulumi.IntPtrInput + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayInput SnapshotType pulumi.StringPtrInput SourceDbClusterSnapshotArn pulumi.StringPtrInput // The status of this DB Cluster Snapshot. @@ -205,6 +211,8 @@ type clusterSnapshotArgs struct { DbClusterIdentifier string `pulumi:"dbClusterIdentifier"` // The Identifier for the snapshot. DbClusterSnapshotIdentifier string `pulumi:"dbClusterSnapshotIdentifier"` + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts []string `pulumi:"sharedAccounts"` // A map of tags to assign to the DB cluster. 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"` } @@ -215,6 +223,8 @@ type ClusterSnapshotArgs struct { DbClusterIdentifier pulumi.StringInput // The Identifier for the snapshot. DbClusterSnapshotIdentifier pulumi.StringInput + // List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayInput // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -356,6 +366,11 @@ func (o ClusterSnapshotOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v *ClusterSnapshot) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) } +// List of AWS Account ids to share snapshot with, use `all` to make snaphot public. +func (o ClusterSnapshotOutput) SharedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringArrayOutput { return v.SharedAccounts }).(pulumi.StringArrayOutput) +} + func (o ClusterSnapshotOutput) SnapshotType() pulumi.StringOutput { return o.ApplyT(func(v *ClusterSnapshot) pulumi.StringOutput { return v.SnapshotType }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index 31cca9e068e..9be8c4f8eca 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -675,6 +675,8 @@ type ClusterScalingConfiguration struct { MaxCapacity *int `pulumi:"maxCapacity"` // Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`. MinCapacity *int `pulumi:"minCapacity"` + // Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + SecondsBeforeTimeout *int `pulumi:"secondsBeforeTimeout"` // Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. SecondsUntilAutoPause *int `pulumi:"secondsUntilAutoPause"` // Action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v1.how-it-works.html#aurora-serverless.how-it-works.timeout-action). @@ -699,6 +701,8 @@ type ClusterScalingConfigurationArgs struct { MaxCapacity pulumi.IntPtrInput `pulumi:"maxCapacity"` // Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`. MinCapacity pulumi.IntPtrInput `pulumi:"minCapacity"` + // Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + SecondsBeforeTimeout pulumi.IntPtrInput `pulumi:"secondsBeforeTimeout"` // Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. SecondsUntilAutoPause pulumi.IntPtrInput `pulumi:"secondsUntilAutoPause"` // Action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v1.how-it-works.html#aurora-serverless.how-it-works.timeout-action). @@ -797,6 +801,11 @@ func (o ClusterScalingConfigurationOutput) MinCapacity() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterScalingConfiguration) *int { return v.MinCapacity }).(pulumi.IntPtrOutput) } +// Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. +func (o ClusterScalingConfigurationOutput) SecondsBeforeTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterScalingConfiguration) *int { return v.SecondsBeforeTimeout }).(pulumi.IntPtrOutput) +} + // Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. func (o ClusterScalingConfigurationOutput) SecondsUntilAutoPause() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterScalingConfiguration) *int { return v.SecondsUntilAutoPause }).(pulumi.IntPtrOutput) @@ -861,6 +870,16 @@ func (o ClusterScalingConfigurationPtrOutput) MinCapacity() pulumi.IntPtrOutput }).(pulumi.IntPtrOutput) } +// Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. +func (o ClusterScalingConfigurationPtrOutput) SecondsBeforeTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterScalingConfiguration) *int { + if v == nil { + return nil + } + return v.SecondsBeforeTimeout + }).(pulumi.IntPtrOutput) +} + // Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. func (o ClusterScalingConfigurationPtrOutput) SecondsUntilAutoPause() pulumi.IntPtrOutput { return o.ApplyT(func(v *ClusterScalingConfiguration) *int { diff --git a/sdk/go/aws/rds/snapshotCopy.go b/sdk/go/aws/rds/snapshotCopy.go index 23b6034bd01..3c75bf39821 100644 --- a/sdk/go/aws/rds/snapshotCopy.go +++ b/sdk/go/aws/rds/snapshotCopy.go @@ -100,7 +100,9 @@ type SnapshotCopy struct { Port pulumi.IntOutput `pulumi:"port"` // he URL that contains a Signature Version 4 signed request. PresignedUrl pulumi.StringPtrOutput `pulumi:"presignedUrl"` - SnapshotType pulumi.StringOutput `pulumi:"snapshotType"` + // (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayOutput `pulumi:"sharedAccounts"` + SnapshotType pulumi.StringOutput `pulumi:"snapshotType"` // Snapshot identifier of the source snapshot. SourceDbSnapshotIdentifier pulumi.StringOutput `pulumi:"sourceDbSnapshotIdentifier"` // The region that the DB snapshot was created in or copied from. @@ -184,7 +186,9 @@ type snapshotCopyState struct { Port *int `pulumi:"port"` // he URL that contains a Signature Version 4 signed request. PresignedUrl *string `pulumi:"presignedUrl"` - SnapshotType *string `pulumi:"snapshotType"` + // (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts []string `pulumi:"sharedAccounts"` + SnapshotType *string `pulumi:"snapshotType"` // Snapshot identifier of the source snapshot. SourceDbSnapshotIdentifier *string `pulumi:"sourceDbSnapshotIdentifier"` // The region that the DB snapshot was created in or copied from. @@ -233,7 +237,9 @@ type SnapshotCopyState struct { Port pulumi.IntPtrInput // he URL that contains a Signature Version 4 signed request. PresignedUrl pulumi.StringPtrInput - SnapshotType pulumi.StringPtrInput + // (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayInput + SnapshotType pulumi.StringPtrInput // Snapshot identifier of the source snapshot. SourceDbSnapshotIdentifier pulumi.StringPtrInput // The region that the DB snapshot was created in or copied from. @@ -269,6 +275,8 @@ type snapshotCopyArgs struct { OptionGroupName *string `pulumi:"optionGroupName"` // he URL that contains a Signature Version 4 signed request. PresignedUrl *string `pulumi:"presignedUrl"` + // (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts []string `pulumi:"sharedAccounts"` // Snapshot identifier of the source snapshot. SourceDbSnapshotIdentifier string `pulumi:"sourceDbSnapshotIdentifier"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -291,6 +299,8 @@ type SnapshotCopyArgs struct { OptionGroupName pulumi.StringPtrInput // he URL that contains a Signature Version 4 signed request. PresignedUrl pulumi.StringPtrInput + // (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + SharedAccounts pulumi.StringArrayInput // Snapshot identifier of the source snapshot. SourceDbSnapshotIdentifier pulumi.StringInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -457,6 +467,11 @@ func (o SnapshotCopyOutput) PresignedUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v *SnapshotCopy) pulumi.StringPtrOutput { return v.PresignedUrl }).(pulumi.StringPtrOutput) } +// (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. +func (o SnapshotCopyOutput) SharedAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SnapshotCopy) pulumi.StringArrayOutput { return v.SharedAccounts }).(pulumi.StringArrayOutput) +} + func (o SnapshotCopyOutput) SnapshotType() pulumi.StringOutput { return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.SnapshotType }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index dcc50a900c6..b579c051c6f 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -22560,7 +22560,8 @@ type SpaceSpaceSettings struct { JupyterServerAppSettings *SpaceSpaceSettingsJupyterServerAppSettings `pulumi:"jupyterServerAppSettings"` // The kernel gateway app settings. See `kernelGatewayAppSettings` Block below. KernelGatewayAppSettings *SpaceSpaceSettingsKernelGatewayAppSettings `pulumi:"kernelGatewayAppSettings"` - SpaceStorageSettings *SpaceSpaceSettingsSpaceStorageSettings `pulumi:"spaceStorageSettings"` + // The storage settings. See `spaceStorageSettings` Block below. + SpaceStorageSettings *SpaceSpaceSettingsSpaceStorageSettings `pulumi:"spaceStorageSettings"` } // SpaceSpaceSettingsInput is an input type that accepts SpaceSpaceSettingsArgs and SpaceSpaceSettingsOutput values. @@ -22587,7 +22588,8 @@ type SpaceSpaceSettingsArgs struct { JupyterServerAppSettings SpaceSpaceSettingsJupyterServerAppSettingsPtrInput `pulumi:"jupyterServerAppSettings"` // The kernel gateway app settings. See `kernelGatewayAppSettings` Block below. KernelGatewayAppSettings SpaceSpaceSettingsKernelGatewayAppSettingsPtrInput `pulumi:"kernelGatewayAppSettings"` - SpaceStorageSettings SpaceSpaceSettingsSpaceStorageSettingsPtrInput `pulumi:"spaceStorageSettings"` + // The storage settings. See `spaceStorageSettings` Block below. + SpaceStorageSettings SpaceSpaceSettingsSpaceStorageSettingsPtrInput `pulumi:"spaceStorageSettings"` } func (SpaceSpaceSettingsArgs) ElementType() reflect.Type { @@ -22701,6 +22703,7 @@ func (o SpaceSpaceSettingsOutput) KernelGatewayAppSettings() SpaceSpaceSettingsK }).(SpaceSpaceSettingsKernelGatewayAppSettingsPtrOutput) } +// The storage settings. See `spaceStorageSettings` Block below. func (o SpaceSpaceSettingsOutput) SpaceStorageSettings() SpaceSpaceSettingsSpaceStorageSettingsPtrOutput { return o.ApplyT(func(v SpaceSpaceSettings) *SpaceSpaceSettingsSpaceStorageSettings { return v.SpaceStorageSettings }).(SpaceSpaceSettingsSpaceStorageSettingsPtrOutput) } @@ -22789,6 +22792,7 @@ func (o SpaceSpaceSettingsPtrOutput) KernelGatewayAppSettings() SpaceSpaceSettin }).(SpaceSpaceSettingsKernelGatewayAppSettingsPtrOutput) } +// The storage settings. See `spaceStorageSettings` Block below. func (o SpaceSpaceSettingsPtrOutput) SpaceStorageSettings() SpaceSpaceSettingsSpaceStorageSettingsPtrOutput { return o.ApplyT(func(v *SpaceSpaceSettings) *SpaceSpaceSettingsSpaceStorageSettings { if v == nil { @@ -24796,6 +24800,7 @@ func (o SpaceSpaceSettingsKernelGatewayAppSettingsDefaultResourceSpecPtrOutput) } type SpaceSpaceSettingsSpaceStorageSettings struct { + // A collection of EBS storage settings for a space. See `ebsStorageSettings` Block below. EbsStorageSettings SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings `pulumi:"ebsStorageSettings"` } @@ -24811,6 +24816,7 @@ type SpaceSpaceSettingsSpaceStorageSettingsInput interface { } type SpaceSpaceSettingsSpaceStorageSettingsArgs struct { + // A collection of EBS storage settings for a space. See `ebsStorageSettings` Block below. EbsStorageSettings SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsInput `pulumi:"ebsStorageSettings"` } @@ -24891,6 +24897,7 @@ func (o SpaceSpaceSettingsSpaceStorageSettingsOutput) ToSpaceSpaceSettingsSpaceS }).(SpaceSpaceSettingsSpaceStorageSettingsPtrOutput) } +// A collection of EBS storage settings for a space. See `ebsStorageSettings` Block below. func (o SpaceSpaceSettingsSpaceStorageSettingsOutput) EbsStorageSettings() SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsOutput { return o.ApplyT(func(v SpaceSpaceSettingsSpaceStorageSettings) SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings { return v.EbsStorageSettings @@ -24921,6 +24928,7 @@ func (o SpaceSpaceSettingsSpaceStorageSettingsPtrOutput) Elem() SpaceSpaceSettin }).(SpaceSpaceSettingsSpaceStorageSettingsOutput) } +// A collection of EBS storage settings for a space. See `ebsStorageSettings` Block below. func (o SpaceSpaceSettingsSpaceStorageSettingsPtrOutput) EbsStorageSettings() SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsPtrOutput { return o.ApplyT(func(v *SpaceSpaceSettingsSpaceStorageSettings) *SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings { if v == nil { @@ -24931,6 +24939,7 @@ func (o SpaceSpaceSettingsSpaceStorageSettingsPtrOutput) EbsStorageSettings() Sp } type SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings struct { + // The size of an EBS storage volume for a space. EbsVolumeSizeInGb int `pulumi:"ebsVolumeSizeInGb"` } @@ -24946,6 +24955,7 @@ type SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsInput interface { } type SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs struct { + // The size of an EBS storage volume for a space. EbsVolumeSizeInGb pulumi.IntInput `pulumi:"ebsVolumeSizeInGb"` } @@ -25026,6 +25036,7 @@ func (o SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsOutput) ToSpaceS }).(SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsPtrOutput) } +// The size of an EBS storage volume for a space. func (o SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsOutput) EbsVolumeSizeInGb() pulumi.IntOutput { return o.ApplyT(func(v SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings) int { return v.EbsVolumeSizeInGb }).(pulumi.IntOutput) } @@ -25054,6 +25065,7 @@ func (o SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsPtrOutput) Elem( }).(SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsOutput) } +// The size of an EBS storage volume for a space. func (o SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsPtrOutput) EbsVolumeSizeInGb() pulumi.IntPtrOutput { return o.ApplyT(func(v *SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings) *int { if v == nil { diff --git a/sdk/go/aws/sagemaker/space.go b/sdk/go/aws/sagemaker/space.go index 10ad0956e65..b8ebd9e24d5 100644 --- a/sdk/go/aws/sagemaker/space.go +++ b/sdk/go/aws/sagemaker/space.go @@ -59,7 +59,7 @@ type Space struct { DomainId pulumi.StringOutput `pulumi:"domainId"` // The ID of the space's profile in the Amazon Elastic File System volume. HomeEfsFileSystemUid pulumi.StringOutput `pulumi:"homeEfsFileSystemUid"` - // A collection of ownership settings. See `ownershipSettings` Block below. + // A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. OwnershipSettings SpaceOwnershipSettingsPtrOutput `pulumi:"ownershipSettings"` // The name of the space that appears in the SageMaker Studio UI. SpaceDisplayName pulumi.StringPtrOutput `pulumi:"spaceDisplayName"` @@ -67,7 +67,7 @@ type Space struct { SpaceName pulumi.StringOutput `pulumi:"spaceName"` // A collection of space settings. See `spaceSettings` Block below. SpaceSettings SpaceSpaceSettingsPtrOutput `pulumi:"spaceSettings"` - // A collection of space sharing settings. See `spaceSharingSettings` Block below. + // A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. SpaceSharingSettings SpaceSpaceSharingSettingsPtrOutput `pulumi:"spaceSharingSettings"` // A 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.StringMapOutput `pulumi:"tags"` @@ -121,7 +121,7 @@ type spaceState struct { DomainId *string `pulumi:"domainId"` // The ID of the space's profile in the Amazon Elastic File System volume. HomeEfsFileSystemUid *string `pulumi:"homeEfsFileSystemUid"` - // A collection of ownership settings. See `ownershipSettings` Block below. + // A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. OwnershipSettings *SpaceOwnershipSettings `pulumi:"ownershipSettings"` // The name of the space that appears in the SageMaker Studio UI. SpaceDisplayName *string `pulumi:"spaceDisplayName"` @@ -129,7 +129,7 @@ type spaceState struct { SpaceName *string `pulumi:"spaceName"` // A collection of space settings. See `spaceSettings` Block below. SpaceSettings *SpaceSpaceSettings `pulumi:"spaceSettings"` - // A collection of space sharing settings. See `spaceSharingSettings` Block below. + // A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. SpaceSharingSettings *SpaceSpaceSharingSettings `pulumi:"spaceSharingSettings"` // A 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"` @@ -148,7 +148,7 @@ type SpaceState struct { DomainId pulumi.StringPtrInput // The ID of the space's profile in the Amazon Elastic File System volume. HomeEfsFileSystemUid pulumi.StringPtrInput - // A collection of ownership settings. See `ownershipSettings` Block below. + // A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. OwnershipSettings SpaceOwnershipSettingsPtrInput // The name of the space that appears in the SageMaker Studio UI. SpaceDisplayName pulumi.StringPtrInput @@ -156,7 +156,7 @@ type SpaceState struct { SpaceName pulumi.StringPtrInput // A collection of space settings. See `spaceSettings` Block below. SpaceSettings SpaceSpaceSettingsPtrInput - // A collection of space sharing settings. See `spaceSharingSettings` Block below. + // A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. SpaceSharingSettings SpaceSpaceSharingSettingsPtrInput // A 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 @@ -175,7 +175,7 @@ func (SpaceState) ElementType() reflect.Type { type spaceArgs struct { // The ID of the associated Domain. DomainId string `pulumi:"domainId"` - // A collection of ownership settings. See `ownershipSettings` Block below. + // A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. OwnershipSettings *SpaceOwnershipSettings `pulumi:"ownershipSettings"` // The name of the space that appears in the SageMaker Studio UI. SpaceDisplayName *string `pulumi:"spaceDisplayName"` @@ -183,7 +183,7 @@ type spaceArgs struct { SpaceName string `pulumi:"spaceName"` // A collection of space settings. See `spaceSettings` Block below. SpaceSettings *SpaceSpaceSettings `pulumi:"spaceSettings"` - // A collection of space sharing settings. See `spaceSharingSettings` Block below. + // A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. SpaceSharingSettings *SpaceSpaceSharingSettings `pulumi:"spaceSharingSettings"` // A 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"` @@ -193,7 +193,7 @@ type spaceArgs struct { type SpaceArgs struct { // The ID of the associated Domain. DomainId pulumi.StringInput - // A collection of ownership settings. See `ownershipSettings` Block below. + // A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. OwnershipSettings SpaceOwnershipSettingsPtrInput // The name of the space that appears in the SageMaker Studio UI. SpaceDisplayName pulumi.StringPtrInput @@ -201,7 +201,7 @@ type SpaceArgs struct { SpaceName pulumi.StringInput // A collection of space settings. See `spaceSettings` Block below. SpaceSettings SpaceSpaceSettingsPtrInput - // A collection of space sharing settings. See `spaceSharingSettings` Block below. + // A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. SpaceSharingSettings SpaceSpaceSharingSettingsPtrInput // A 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 @@ -309,7 +309,7 @@ func (o SpaceOutput) HomeEfsFileSystemUid() pulumi.StringOutput { return o.ApplyT(func(v *Space) pulumi.StringOutput { return v.HomeEfsFileSystemUid }).(pulumi.StringOutput) } -// A collection of ownership settings. See `ownershipSettings` Block below. +// A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. func (o SpaceOutput) OwnershipSettings() SpaceOwnershipSettingsPtrOutput { return o.ApplyT(func(v *Space) SpaceOwnershipSettingsPtrOutput { return v.OwnershipSettings }).(SpaceOwnershipSettingsPtrOutput) } @@ -329,7 +329,7 @@ func (o SpaceOutput) SpaceSettings() SpaceSpaceSettingsPtrOutput { return o.ApplyT(func(v *Space) SpaceSpaceSettingsPtrOutput { return v.SpaceSettings }).(SpaceSpaceSettingsPtrOutput) } -// A collection of space sharing settings. See `spaceSharingSettings` Block below. +// A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. func (o SpaceOutput) SpaceSharingSettings() SpaceSpaceSharingSettingsPtrOutput { return o.ApplyT(func(v *Space) SpaceSpaceSharingSettingsPtrOutput { return v.SpaceSharingSettings }).(SpaceSpaceSharingSettingsPtrOutput) } diff --git a/sdk/go/aws/securitylake/pulumiTypes.go b/sdk/go/aws/securitylake/pulumiTypes.go index bd206987801..2c2a63efda0 100644 --- a/sdk/go/aws/securitylake/pulumiTypes.go +++ b/sdk/go/aws/securitylake/pulumiTypes.go @@ -2438,9 +2438,9 @@ func (o SubscriberNotificationConfigurationSqsNotificationConfigurationPtrOutput } type SubscriberSource struct { - // Amazon Security Lake supports log and event collection for natively supported AWS services. + // Amazon Security Lake supports log and event collection for natively supported AWS services. See `awsLogSourceResource` Block below. AwsLogSourceResource *SubscriberSourceAwsLogSourceResource `pulumi:"awsLogSourceResource"` - // Amazon Security Lake supports custom source types. + // Amazon Security Lake supports custom source types. See `customLogSourceResource` Block below. CustomLogSourceResource *SubscriberSourceCustomLogSourceResource `pulumi:"customLogSourceResource"` } @@ -2456,9 +2456,9 @@ type SubscriberSourceInput interface { } type SubscriberSourceArgs struct { - // Amazon Security Lake supports log and event collection for natively supported AWS services. + // Amazon Security Lake supports log and event collection for natively supported AWS services. See `awsLogSourceResource` Block below. AwsLogSourceResource SubscriberSourceAwsLogSourceResourcePtrInput `pulumi:"awsLogSourceResource"` - // Amazon Security Lake supports custom source types. + // Amazon Security Lake supports custom source types. See `customLogSourceResource` Block below. CustomLogSourceResource SubscriberSourceCustomLogSourceResourcePtrInput `pulumi:"customLogSourceResource"` } @@ -2539,12 +2539,12 @@ func (o SubscriberSourceOutput) ToSubscriberSourcePtrOutputWithContext(ctx conte }).(SubscriberSourcePtrOutput) } -// Amazon Security Lake supports log and event collection for natively supported AWS services. +// Amazon Security Lake supports log and event collection for natively supported AWS services. See `awsLogSourceResource` Block below. func (o SubscriberSourceOutput) AwsLogSourceResource() SubscriberSourceAwsLogSourceResourcePtrOutput { return o.ApplyT(func(v SubscriberSource) *SubscriberSourceAwsLogSourceResource { return v.AwsLogSourceResource }).(SubscriberSourceAwsLogSourceResourcePtrOutput) } -// Amazon Security Lake supports custom source types. +// Amazon Security Lake supports custom source types. See `customLogSourceResource` Block below. func (o SubscriberSourceOutput) CustomLogSourceResource() SubscriberSourceCustomLogSourceResourcePtrOutput { return o.ApplyT(func(v SubscriberSource) *SubscriberSourceCustomLogSourceResource { return v.CustomLogSourceResource }).(SubscriberSourceCustomLogSourceResourcePtrOutput) } @@ -2573,7 +2573,7 @@ func (o SubscriberSourcePtrOutput) Elem() SubscriberSourceOutput { }).(SubscriberSourceOutput) } -// Amazon Security Lake supports log and event collection for natively supported AWS services. +// Amazon Security Lake supports log and event collection for natively supported AWS services. See `awsLogSourceResource` Block below. func (o SubscriberSourcePtrOutput) AwsLogSourceResource() SubscriberSourceAwsLogSourceResourcePtrOutput { return o.ApplyT(func(v *SubscriberSource) *SubscriberSourceAwsLogSourceResource { if v == nil { @@ -2583,7 +2583,7 @@ func (o SubscriberSourcePtrOutput) AwsLogSourceResource() SubscriberSourceAwsLog }).(SubscriberSourceAwsLogSourceResourcePtrOutput) } -// Amazon Security Lake supports custom source types. +// Amazon Security Lake supports custom source types. See `customLogSourceResource` Block below. func (o SubscriberSourcePtrOutput) CustomLogSourceResource() SubscriberSourceCustomLogSourceResourcePtrOutput { return o.ApplyT(func(v *SubscriberSource) *SubscriberSourceCustomLogSourceResource { if v == nil { @@ -2594,9 +2594,9 @@ func (o SubscriberSourcePtrOutput) CustomLogSourceResource() SubscriberSourceCus } type SubscriberSourceAwsLogSourceResource struct { - // The name for a third-party custom source. This must be a Regionally unique value. + // Provides data expiration details of Amazon Security Lake object. SourceName string `pulumi:"sourceName"` - // The version for a third-party custom source. This must be a Regionally unique value. + // Provides data storage transition details of Amazon Security Lake object. SourceVersion *string `pulumi:"sourceVersion"` } @@ -2612,9 +2612,9 @@ type SubscriberSourceAwsLogSourceResourceInput interface { } type SubscriberSourceAwsLogSourceResourceArgs struct { - // The name for a third-party custom source. This must be a Regionally unique value. + // Provides data expiration details of Amazon Security Lake object. SourceName pulumi.StringInput `pulumi:"sourceName"` - // The version for a third-party custom source. This must be a Regionally unique value. + // Provides data storage transition details of Amazon Security Lake object. SourceVersion pulumi.StringPtrInput `pulumi:"sourceVersion"` } @@ -2695,12 +2695,12 @@ func (o SubscriberSourceAwsLogSourceResourceOutput) ToSubscriberSourceAwsLogSour }).(SubscriberSourceAwsLogSourceResourcePtrOutput) } -// The name for a third-party custom source. This must be a Regionally unique value. +// Provides data expiration details of Amazon Security Lake object. func (o SubscriberSourceAwsLogSourceResourceOutput) SourceName() pulumi.StringOutput { return o.ApplyT(func(v SubscriberSourceAwsLogSourceResource) string { return v.SourceName }).(pulumi.StringOutput) } -// The version for a third-party custom source. This must be a Regionally unique value. +// Provides data storage transition details of Amazon Security Lake object. func (o SubscriberSourceAwsLogSourceResourceOutput) SourceVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v SubscriberSourceAwsLogSourceResource) *string { return v.SourceVersion }).(pulumi.StringPtrOutput) } @@ -2729,7 +2729,7 @@ func (o SubscriberSourceAwsLogSourceResourcePtrOutput) Elem() SubscriberSourceAw }).(SubscriberSourceAwsLogSourceResourceOutput) } -// The name for a third-party custom source. This must be a Regionally unique value. +// Provides data expiration details of Amazon Security Lake object. func (o SubscriberSourceAwsLogSourceResourcePtrOutput) SourceName() pulumi.StringPtrOutput { return o.ApplyT(func(v *SubscriberSourceAwsLogSourceResource) *string { if v == nil { @@ -2739,7 +2739,7 @@ func (o SubscriberSourceAwsLogSourceResourcePtrOutput) SourceName() pulumi.Strin }).(pulumi.StringPtrOutput) } -// The version for a third-party custom source. This must be a Regionally unique value. +// Provides data storage transition details of Amazon Security Lake object. func (o SubscriberSourceAwsLogSourceResourcePtrOutput) SourceVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *SubscriberSourceAwsLogSourceResource) *string { if v == nil { @@ -2750,9 +2750,10 @@ func (o SubscriberSourceAwsLogSourceResourcePtrOutput) SourceVersion() pulumi.St } type SubscriberSourceCustomLogSourceResource struct { - // The attributes of a third-party custom source. + // The attributes of the third-party custom source. See `attributes` Block below. Attributes []SubscriberSourceCustomLogSourceResourceAttribute `pulumi:"attributes"` - Providers []SubscriberSourceCustomLogSourceResourceProvider `pulumi:"providers"` + // The details of the log provider for the third-party custom source. See `provider` Block below. + Providers []SubscriberSourceCustomLogSourceResourceProvider `pulumi:"providers"` // The name for a third-party custom source. This must be a Regionally unique value. SourceName string `pulumi:"sourceName"` // The version for a third-party custom source. This must be a Regionally unique value. @@ -2771,9 +2772,10 @@ type SubscriberSourceCustomLogSourceResourceInput interface { } type SubscriberSourceCustomLogSourceResourceArgs struct { - // The attributes of a third-party custom source. + // The attributes of the third-party custom source. See `attributes` Block below. Attributes SubscriberSourceCustomLogSourceResourceAttributeArrayInput `pulumi:"attributes"` - Providers SubscriberSourceCustomLogSourceResourceProviderArrayInput `pulumi:"providers"` + // The details of the log provider for the third-party custom source. See `provider` Block below. + Providers SubscriberSourceCustomLogSourceResourceProviderArrayInput `pulumi:"providers"` // The name for a third-party custom source. This must be a Regionally unique value. SourceName pulumi.StringInput `pulumi:"sourceName"` // The version for a third-party custom source. This must be a Regionally unique value. @@ -2857,13 +2859,14 @@ func (o SubscriberSourceCustomLogSourceResourceOutput) ToSubscriberSourceCustomL }).(SubscriberSourceCustomLogSourceResourcePtrOutput) } -// The attributes of a third-party custom source. +// The attributes of the third-party custom source. See `attributes` Block below. func (o SubscriberSourceCustomLogSourceResourceOutput) Attributes() SubscriberSourceCustomLogSourceResourceAttributeArrayOutput { return o.ApplyT(func(v SubscriberSourceCustomLogSourceResource) []SubscriberSourceCustomLogSourceResourceAttribute { return v.Attributes }).(SubscriberSourceCustomLogSourceResourceAttributeArrayOutput) } +// The details of the log provider for the third-party custom source. See `provider` Block below. func (o SubscriberSourceCustomLogSourceResourceOutput) Providers() SubscriberSourceCustomLogSourceResourceProviderArrayOutput { return o.ApplyT(func(v SubscriberSourceCustomLogSourceResource) []SubscriberSourceCustomLogSourceResourceProvider { return v.Providers @@ -2904,7 +2907,7 @@ func (o SubscriberSourceCustomLogSourceResourcePtrOutput) Elem() SubscriberSourc }).(SubscriberSourceCustomLogSourceResourceOutput) } -// The attributes of a third-party custom source. +// The attributes of the third-party custom source. See `attributes` Block below. func (o SubscriberSourceCustomLogSourceResourcePtrOutput) Attributes() SubscriberSourceCustomLogSourceResourceAttributeArrayOutput { return o.ApplyT(func(v *SubscriberSourceCustomLogSourceResource) []SubscriberSourceCustomLogSourceResourceAttribute { if v == nil { @@ -2914,6 +2917,7 @@ func (o SubscriberSourceCustomLogSourceResourcePtrOutput) Attributes() Subscribe }).(SubscriberSourceCustomLogSourceResourceAttributeArrayOutput) } +// The details of the log provider for the third-party custom source. See `provider` Block below. func (o SubscriberSourceCustomLogSourceResourcePtrOutput) Providers() SubscriberSourceCustomLogSourceResourceProviderArrayOutput { return o.ApplyT(func(v *SubscriberSourceCustomLogSourceResource) []SubscriberSourceCustomLogSourceResourceProvider { if v == nil { diff --git a/sdk/go/aws/securitylake/subscriber.go b/sdk/go/aws/securitylake/subscriber.go index 707379d4228..e6dc821a99e 100644 --- a/sdk/go/aws/securitylake/subscriber.go +++ b/sdk/go/aws/securitylake/subscriber.go @@ -64,6 +64,7 @@ import ( type Subscriber struct { pulumi.CustomResourceState + // The Amazon S3 or Lake Formation access type. AccessType pulumi.StringOutput `pulumi:"accessType"` // ARN of the Data Lake. Arn pulumi.StringOutput `pulumi:"arn"` @@ -75,13 +76,13 @@ type Subscriber struct { RoleArn pulumi.StringOutput `pulumi:"roleArn"` // The ARN for the Amazon Security Lake Amazon S3 bucket. S3BucketArn pulumi.StringOutput `pulumi:"s3BucketArn"` - // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. Source SubscriberSourcePtrOutput `pulumi:"source"` // The description for your subscriber account in Security Lake. SubscriberDescription pulumi.StringPtrOutput `pulumi:"subscriberDescription"` // The subscriber endpoint to which exception messages are posted. SubscriberEndpoint pulumi.StringOutput `pulumi:"subscriberEndpoint"` - // The AWS identity used to access your data. + // The AWS identity used to access your data. See `subscriberIdentity` Block below. SubscriberIdentity SubscriberSubscriberIdentityPtrOutput `pulumi:"subscriberIdentity"` // The name of your Security Lake subscriber account. SubscriberName pulumi.StringPtrOutput `pulumi:"subscriberName"` @@ -126,6 +127,7 @@ func GetSubscriber(ctx *pulumi.Context, // Input properties used for looking up and filtering Subscriber resources. type subscriberState struct { + // The Amazon S3 or Lake Formation access type. AccessType *string `pulumi:"accessType"` // ARN of the Data Lake. Arn *string `pulumi:"arn"` @@ -137,13 +139,13 @@ type subscriberState struct { RoleArn *string `pulumi:"roleArn"` // The ARN for the Amazon Security Lake Amazon S3 bucket. S3BucketArn *string `pulumi:"s3BucketArn"` - // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. Source *SubscriberSource `pulumi:"source"` // The description for your subscriber account in Security Lake. SubscriberDescription *string `pulumi:"subscriberDescription"` // The subscriber endpoint to which exception messages are posted. SubscriberEndpoint *string `pulumi:"subscriberEndpoint"` - // The AWS identity used to access your data. + // The AWS identity used to access your data. See `subscriberIdentity` Block below. SubscriberIdentity *SubscriberSubscriberIdentity `pulumi:"subscriberIdentity"` // The name of your Security Lake subscriber account. SubscriberName *string `pulumi:"subscriberName"` @@ -159,6 +161,7 @@ type subscriberState struct { } type SubscriberState struct { + // The Amazon S3 or Lake Formation access type. AccessType pulumi.StringPtrInput // ARN of the Data Lake. Arn pulumi.StringPtrInput @@ -170,13 +173,13 @@ type SubscriberState struct { RoleArn pulumi.StringPtrInput // The ARN for the Amazon Security Lake Amazon S3 bucket. S3BucketArn pulumi.StringPtrInput - // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. Source SubscriberSourcePtrInput // The description for your subscriber account in Security Lake. SubscriberDescription pulumi.StringPtrInput // The subscriber endpoint to which exception messages are posted. SubscriberEndpoint pulumi.StringPtrInput - // The AWS identity used to access your data. + // The AWS identity used to access your data. See `subscriberIdentity` Block below. SubscriberIdentity SubscriberSubscriberIdentityPtrInput // The name of your Security Lake subscriber account. SubscriberName pulumi.StringPtrInput @@ -196,12 +199,13 @@ func (SubscriberState) ElementType() reflect.Type { } type subscriberArgs struct { + // The Amazon S3 or Lake Formation access type. AccessType *string `pulumi:"accessType"` - // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. Source *SubscriberSource `pulumi:"source"` // The description for your subscriber account in Security Lake. SubscriberDescription *string `pulumi:"subscriberDescription"` - // The AWS identity used to access your data. + // The AWS identity used to access your data. See `subscriberIdentity` Block below. SubscriberIdentity *SubscriberSubscriberIdentity `pulumi:"subscriberIdentity"` // The name of your Security Lake subscriber account. SubscriberName *string `pulumi:"subscriberName"` @@ -212,12 +216,13 @@ type subscriberArgs struct { // The set of arguments for constructing a Subscriber resource. type SubscriberArgs struct { + // The Amazon S3 or Lake Formation access type. AccessType pulumi.StringPtrInput - // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + // The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. Source SubscriberSourcePtrInput // The description for your subscriber account in Security Lake. SubscriberDescription pulumi.StringPtrInput - // The AWS identity used to access your data. + // The AWS identity used to access your data. See `subscriberIdentity` Block below. SubscriberIdentity SubscriberSubscriberIdentityPtrInput // The name of your Security Lake subscriber account. SubscriberName pulumi.StringPtrInput @@ -313,6 +318,7 @@ func (o SubscriberOutput) ToSubscriberOutputWithContext(ctx context.Context) Sub return o } +// The Amazon S3 or Lake Formation access type. func (o SubscriberOutput) AccessType() pulumi.StringOutput { return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.AccessType }).(pulumi.StringOutput) } @@ -342,7 +348,7 @@ func (o SubscriberOutput) S3BucketArn() pulumi.StringOutput { return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.S3BucketArn }).(pulumi.StringOutput) } -// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. +// The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. func (o SubscriberOutput) Source() SubscriberSourcePtrOutput { return o.ApplyT(func(v *Subscriber) SubscriberSourcePtrOutput { return v.Source }).(SubscriberSourcePtrOutput) } @@ -357,7 +363,7 @@ func (o SubscriberOutput) SubscriberEndpoint() pulumi.StringOutput { return o.ApplyT(func(v *Subscriber) pulumi.StringOutput { return v.SubscriberEndpoint }).(pulumi.StringOutput) } -// The AWS identity used to access your data. +// The AWS identity used to access your data. See `subscriberIdentity` Block below. func (o SubscriberOutput) SubscriberIdentity() SubscriberSubscriberIdentityPtrOutput { return o.ApplyT(func(v *Subscriber) SubscriberSubscriberIdentityPtrOutput { return v.SubscriberIdentity }).(SubscriberSubscriberIdentityPtrOutput) } diff --git a/sdk/go/aws/sesv2/configurationSetEventDestination.go b/sdk/go/aws/sesv2/configurationSetEventDestination.go index d64bfe19336..d37222b306f 100644 --- a/sdk/go/aws/sesv2/configurationSetEventDestination.go +++ b/sdk/go/aws/sesv2/configurationSetEventDestination.go @@ -16,7 +16,7 @@ import ( // // ## Example Usage // -// ### Cloud Watch Destination +// ### CloudWatch Destination // // ```go // package main @@ -64,6 +64,49 @@ import ( // // ``` // +// ### EventBridge Destination +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _default, err := cloudwatch.LookupEventBus(ctx, &cloudwatch.LookupEventBusArgs{ +// Name: "default", +// }, nil) +// if err != nil { +// return err +// } +// _, err = sesv2.NewConfigurationSetEventDestination(ctx, "example", &sesv2.ConfigurationSetEventDestinationArgs{ +// ConfigurationSetName: pulumi.Any(exampleAwsSesv2ConfigurationSet.ConfigurationSetName), +// EventDestinationName: pulumi.String("example"), +// EventDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationArgs{ +// EventBridgeDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{ +// EventBusArn: pulumi.String(_default.Arn), +// }, +// Enabled: pulumi.Bool(true), +// MatchingEventTypes: pulumi.StringArray{ +// pulumi.String("SEND"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ### Kinesis Firehose Destination // // ```go @@ -205,7 +248,7 @@ type ConfigurationSetEventDestination struct { ConfigurationSetName pulumi.StringOutput `pulumi:"configurationSetName"` // A name that identifies the event destination within the configuration set. EventDestination ConfigurationSetEventDestinationEventDestinationOutput `pulumi:"eventDestination"` - // An object that defines the event destination. See eventDestination below. + // An object that defines the event destination. See `eventDestination` Block for details. EventDestinationName pulumi.StringOutput `pulumi:"eventDestinationName"` } @@ -252,7 +295,7 @@ type configurationSetEventDestinationState struct { ConfigurationSetName *string `pulumi:"configurationSetName"` // A name that identifies the event destination within the configuration set. EventDestination *ConfigurationSetEventDestinationEventDestination `pulumi:"eventDestination"` - // An object that defines the event destination. See eventDestination below. + // An object that defines the event destination. See `eventDestination` Block for details. EventDestinationName *string `pulumi:"eventDestinationName"` } @@ -261,7 +304,7 @@ type ConfigurationSetEventDestinationState struct { ConfigurationSetName pulumi.StringPtrInput // A name that identifies the event destination within the configuration set. EventDestination ConfigurationSetEventDestinationEventDestinationPtrInput - // An object that defines the event destination. See eventDestination below. + // An object that defines the event destination. See `eventDestination` Block for details. EventDestinationName pulumi.StringPtrInput } @@ -274,7 +317,7 @@ type configurationSetEventDestinationArgs struct { ConfigurationSetName string `pulumi:"configurationSetName"` // A name that identifies the event destination within the configuration set. EventDestination ConfigurationSetEventDestinationEventDestination `pulumi:"eventDestination"` - // An object that defines the event destination. See eventDestination below. + // An object that defines the event destination. See `eventDestination` Block for details. EventDestinationName string `pulumi:"eventDestinationName"` } @@ -284,7 +327,7 @@ type ConfigurationSetEventDestinationArgs struct { ConfigurationSetName pulumi.StringInput // A name that identifies the event destination within the configuration set. EventDestination ConfigurationSetEventDestinationEventDestinationInput - // An object that defines the event destination. See eventDestination below. + // An object that defines the event destination. See `eventDestination` Block for details. EventDestinationName pulumi.StringInput } @@ -387,7 +430,7 @@ func (o ConfigurationSetEventDestinationOutput) EventDestination() Configuration }).(ConfigurationSetEventDestinationEventDestinationOutput) } -// An object that defines the event destination. See eventDestination below. +// An object that defines the event destination. See `eventDestination` Block for details. func (o ConfigurationSetEventDestinationOutput) EventDestinationName() pulumi.StringOutput { return o.ApplyT(func(v *ConfigurationSetEventDestination) pulumi.StringOutput { return v.EventDestinationName }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/sesv2/pulumiTypes.go b/sdk/go/aws/sesv2/pulumiTypes.go index 4491586165d..68a4924a393 100644 --- a/sdk/go/aws/sesv2/pulumiTypes.go +++ b/sdk/go/aws/sesv2/pulumiTypes.go @@ -444,19 +444,18 @@ func (o ConfigurationSetDeliveryOptionsPtrOutput) TlsPolicy() pulumi.StringPtrOu } type ConfigurationSetEventDestinationEventDestination struct { - // An object that defines an Amazon CloudWatch destination for email events. See cloudWatchDestination below + // An object that defines an Amazon CloudWatch destination for email events. See `cloudWatchDestination` Block for details. CloudWatchDestination *ConfigurationSetEventDestinationEventDestinationCloudWatchDestination `pulumi:"cloudWatchDestination"` // When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. - Enabled *bool `pulumi:"enabled"` - // An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesisFirehoseDestination below. + Enabled *bool `pulumi:"enabled"` + EventBridgeDestination *ConfigurationSetEventDestinationEventDestinationEventBridgeDestination `pulumi:"eventBridgeDestination"` + // An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesisFirehoseDestination` Block for details. KinesisFirehoseDestination *ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination `pulumi:"kinesisFirehoseDestination"` // An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - // - // The following arguments are optional: MatchingEventTypes []string `pulumi:"matchingEventTypes"` - // An object that defines an Amazon Pinpoint project destination for email events. See pinpointDestination below. + // An object that defines an Amazon Pinpoint project destination for email events. See `pinpointDestination` Block for details. PinpointDestination *ConfigurationSetEventDestinationEventDestinationPinpointDestination `pulumi:"pinpointDestination"` - // An object that defines an Amazon SNS destination for email events. See snsDestination below. + // An object that defines an Amazon SNS destination for email events. See `snsDestination` Block for details. SnsDestination *ConfigurationSetEventDestinationEventDestinationSnsDestination `pulumi:"snsDestination"` } @@ -472,19 +471,18 @@ type ConfigurationSetEventDestinationEventDestinationInput interface { } type ConfigurationSetEventDestinationEventDestinationArgs struct { - // An object that defines an Amazon CloudWatch destination for email events. See cloudWatchDestination below + // An object that defines an Amazon CloudWatch destination for email events. See `cloudWatchDestination` Block for details. CloudWatchDestination ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtrInput `pulumi:"cloudWatchDestination"` // When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - // An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesisFirehoseDestination below. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + EventBridgeDestination ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrInput `pulumi:"eventBridgeDestination"` + // An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesisFirehoseDestination` Block for details. KinesisFirehoseDestination ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationPtrInput `pulumi:"kinesisFirehoseDestination"` // An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - // - // The following arguments are optional: MatchingEventTypes pulumi.StringArrayInput `pulumi:"matchingEventTypes"` - // An object that defines an Amazon Pinpoint project destination for email events. See pinpointDestination below. + // An object that defines an Amazon Pinpoint project destination for email events. See `pinpointDestination` Block for details. PinpointDestination ConfigurationSetEventDestinationEventDestinationPinpointDestinationPtrInput `pulumi:"pinpointDestination"` - // An object that defines an Amazon SNS destination for email events. See snsDestination below. + // An object that defines an Amazon SNS destination for email events. See `snsDestination` Block for details. SnsDestination ConfigurationSetEventDestinationEventDestinationSnsDestinationPtrInput `pulumi:"snsDestination"` } @@ -565,7 +563,7 @@ func (o ConfigurationSetEventDestinationEventDestinationOutput) ToConfigurationS }).(ConfigurationSetEventDestinationEventDestinationPtrOutput) } -// An object that defines an Amazon CloudWatch destination for email events. See cloudWatchDestination below +// An object that defines an Amazon CloudWatch destination for email events. See `cloudWatchDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationOutput) CloudWatchDestination() ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtrOutput { return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationCloudWatchDestination { return v.CloudWatchDestination @@ -577,7 +575,13 @@ func (o ConfigurationSetEventDestinationEventDestinationOutput) Enabled() pulumi return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestination) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -// An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesisFirehoseDestination below. +func (o ConfigurationSetEventDestinationEventDestinationOutput) EventBridgeDestination() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationEventBridgeDestination { + return v.EventBridgeDestination + }).(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) +} + +// An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesisFirehoseDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationOutput) KinesisFirehoseDestination() ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationPtrOutput { return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination { return v.KinesisFirehoseDestination @@ -585,20 +589,18 @@ func (o ConfigurationSetEventDestinationEventDestinationOutput) KinesisFirehoseD } // An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. -// -// The following arguments are optional: func (o ConfigurationSetEventDestinationEventDestinationOutput) MatchingEventTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestination) []string { return v.MatchingEventTypes }).(pulumi.StringArrayOutput) } -// An object that defines an Amazon Pinpoint project destination for email events. See pinpointDestination below. +// An object that defines an Amazon Pinpoint project destination for email events. See `pinpointDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationOutput) PinpointDestination() ConfigurationSetEventDestinationEventDestinationPinpointDestinationPtrOutput { return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationPinpointDestination { return v.PinpointDestination }).(ConfigurationSetEventDestinationEventDestinationPinpointDestinationPtrOutput) } -// An object that defines an Amazon SNS destination for email events. See snsDestination below. +// An object that defines an Amazon SNS destination for email events. See `snsDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationOutput) SnsDestination() ConfigurationSetEventDestinationEventDestinationSnsDestinationPtrOutput { return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationSnsDestination { return v.SnsDestination @@ -629,7 +631,7 @@ func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) Elem() Config }).(ConfigurationSetEventDestinationEventDestinationOutput) } -// An object that defines an Amazon CloudWatch destination for email events. See cloudWatchDestination below +// An object that defines an Amazon CloudWatch destination for email events. See `cloudWatchDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) CloudWatchDestination() ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtrOutput { return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationCloudWatchDestination { if v == nil { @@ -649,7 +651,16 @@ func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) Enabled() pul }).(pulumi.BoolPtrOutput) } -// An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesisFirehoseDestination below. +func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) EventBridgeDestination() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationEventBridgeDestination { + if v == nil { + return nil + } + return v.EventBridgeDestination + }).(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) +} + +// An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesisFirehoseDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) KinesisFirehoseDestination() ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationPtrOutput { return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination { if v == nil { @@ -660,8 +671,6 @@ func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) KinesisFireho } // An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. -// -// The following arguments are optional: func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) MatchingEventTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestination) []string { if v == nil { @@ -671,7 +680,7 @@ func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) MatchingEvent }).(pulumi.StringArrayOutput) } -// An object that defines an Amazon Pinpoint project destination for email events. See pinpointDestination below. +// An object that defines an Amazon Pinpoint project destination for email events. See `pinpointDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) PinpointDestination() ConfigurationSetEventDestinationEventDestinationPinpointDestinationPtrOutput { return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationPinpointDestination { if v == nil { @@ -681,7 +690,7 @@ func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) PinpointDesti }).(ConfigurationSetEventDestinationEventDestinationPinpointDestinationPtrOutput) } -// An object that defines an Amazon SNS destination for email events. See snsDestination below. +// An object that defines an Amazon SNS destination for email events. See `snsDestination` Block for details. func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) SnsDestination() ConfigurationSetEventDestinationEventDestinationSnsDestinationPtrOutput { return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestination) *ConfigurationSetEventDestinationEventDestinationSnsDestination { if v == nil { @@ -692,7 +701,7 @@ func (o ConfigurationSetEventDestinationEventDestinationPtrOutput) SnsDestinatio } type ConfigurationSetEventDestinationEventDestinationCloudWatchDestination struct { - // An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimensionConfiguration below. + // An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimensionConfiguration` Block for details. DimensionConfigurations []ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration `pulumi:"dimensionConfigurations"` } @@ -708,7 +717,7 @@ type ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationInput } type ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs struct { - // An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimensionConfiguration below. + // An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimensionConfiguration` Block for details. DimensionConfigurations ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArrayInput `pulumi:"dimensionConfigurations"` } @@ -789,7 +798,7 @@ func (o ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOut }).(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtrOutput) } -// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimensionConfiguration below. +// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimensionConfiguration` Block for details. func (o ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutput) DimensionConfigurations() ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArrayOutput { return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestinationCloudWatchDestination) []ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration { return v.DimensionConfigurations @@ -820,7 +829,7 @@ func (o ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtr }).(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutput) } -// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimensionConfiguration below. +// An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimensionConfiguration` Block for details. func (o ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtrOutput) DimensionConfigurations() ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArrayOutput { return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestinationCloudWatchDestination) []ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration { if v == nil { @@ -951,6 +960,145 @@ func (o ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDim }).(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutput) } +type ConfigurationSetEventDestinationEventDestinationEventBridgeDestination struct { + // The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + EventBusArn string `pulumi:"eventBusArn"` +} + +// ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationInput is an input type that accepts ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs and ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput values. +// You can construct a concrete instance of `ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationInput` via: +// +// ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{...} +type ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationInput interface { + pulumi.Input + + ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput + ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputWithContext(context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput +} + +type ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs struct { + // The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + EventBusArn pulumi.StringInput `pulumi:"eventBusArn"` +} + +func (ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationEventBridgeDestination)(nil)).Elem() +} + +func (i ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput { + return i.ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputWithContext(context.Background()) +} + +func (i ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputWithContext(ctx context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) +} + +func (i ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return i.ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(context.Background()) +} + +func (i ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(ctx context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput).ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(ctx) +} + +// ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrInput is an input type that accepts ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs, ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtr and ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput values. +// You can construct a concrete instance of `ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrInput` via: +// +// ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{...} +// +// or: +// +// nil +type ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrInput interface { + pulumi.Input + + ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput + ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput +} + +type configurationSetEventDestinationEventDestinationEventBridgeDestinationPtrType ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs + +func ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtr(v *ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrInput { + return (*configurationSetEventDestinationEventDestinationEventBridgeDestinationPtrType)(v) +} + +func (*configurationSetEventDestinationEventDestinationEventBridgeDestinationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetEventDestinationEventDestinationEventBridgeDestination)(nil)).Elem() +} + +func (i *configurationSetEventDestinationEventDestinationEventBridgeDestinationPtrType) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return i.ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(context.Background()) +} + +func (i *configurationSetEventDestinationEventDestinationEventBridgeDestinationPtrType) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(ctx context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) +} + +type ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationEventBridgeDestination)(nil)).Elem() +} + +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput { + return o +} + +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputWithContext(ctx context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput { + return o +} + +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return o.ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(context.Background()) +} + +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(ctx context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationSetEventDestinationEventDestinationEventBridgeDestination) *ConfigurationSetEventDestinationEventDestinationEventBridgeDestination { + return &v + }).(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) +} + +// The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) EventBusArn() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationSetEventDestinationEventDestinationEventBridgeDestination) string { + return v.EventBusArn + }).(pulumi.StringOutput) +} + +type ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationSetEventDestinationEventDestinationEventBridgeDestination)(nil)).Elem() +} + +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return o +} + +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) ToConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutputWithContext(ctx context.Context) ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput { + return o +} + +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) Elem() ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput { + return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestinationEventBridgeDestination) ConfigurationSetEventDestinationEventDestinationEventBridgeDestination { + if v != nil { + return *v + } + var ret ConfigurationSetEventDestinationEventDestinationEventBridgeDestination + return ret + }).(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput) +} + +// The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. +func (o ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput) EventBusArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetEventDestinationEventDestinationEventBridgeDestination) *string { + if v == nil { + return nil + } + return &v.EventBusArn + }).(pulumi.StringPtrOutput) +} + type ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination struct { // The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that the Amazon SES API v2 sends email events to. DeliveryStreamArn string `pulumi:"deliveryStreamArn"` @@ -3881,6 +4029,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtrInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArrayInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationPtrInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationSetEventDestinationEventDestinationPinpointDestinationInput)(nil)).Elem(), ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs{}) @@ -3937,6 +4087,8 @@ func init() { pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationPtrOutput{}) pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutput{}) pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArrayOutput{}) + pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutput{}) + pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationPtrOutput{}) pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutput{}) pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationPtrOutput{}) pulumi.RegisterOutputType(ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutput{}) diff --git a/sdk/go/aws/shield/init.go b/sdk/go/aws/shield/init.go index d0212cf70c2..f49f2c67567 100644 --- a/sdk/go/aws/shield/init.go +++ b/sdk/go/aws/shield/init.go @@ -35,6 +35,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ProtectionGroup{} case "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": r = &ProtectionHealthCheckAssociation{} + case "aws:shield/subscription:Subscription": + r = &Subscription{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -83,4 +85,9 @@ func init() { "shield/protectionHealthCheckAssociation", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "shield/subscription", + &module{version}, + ) } diff --git a/sdk/go/aws/shield/subscription.go b/sdk/go/aws/shield/subscription.go new file mode 100644 index 00000000000..d1601e92d5e --- /dev/null +++ b/sdk/go/aws/shield/subscription.go @@ -0,0 +1,270 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package shield + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Shield Subscription. +// +// > This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details. +// +// > Destruction of this resource will set `autoRenew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skipDestroy` to `true` to skip modifying the `autoRenew` argument during destruction. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := shield.NewSubscription(ctx, "example", &shield.SubscriptionArgs{ +// AutoRenew: pulumi.String("ENABLED"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Shield Subscription using the `id`. For example: +// +// ```sh +// $ pulumi import aws:shield/subscription:Subscription example 012345678901 +// ``` +type Subscription struct { + pulumi.CustomResourceState + + // Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + AutoRenew pulumi.StringOutput `pulumi:"autoRenew"` + // Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + SkipDestroy pulumi.BoolPtrOutput `pulumi:"skipDestroy"` +} + +// NewSubscription registers a new resource with the given unique name, arguments, and options. +func NewSubscription(ctx *pulumi.Context, + name string, args *SubscriptionArgs, opts ...pulumi.ResourceOption) (*Subscription, error) { + if args == nil { + args = &SubscriptionArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Subscription + err := ctx.RegisterResource("aws:shield/subscription:Subscription", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSubscription gets an existing Subscription resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetSubscription(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SubscriptionState, opts ...pulumi.ResourceOption) (*Subscription, error) { + var resource Subscription + err := ctx.ReadResource("aws:shield/subscription:Subscription", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Subscription resources. +type subscriptionState struct { + // Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + AutoRenew *string `pulumi:"autoRenew"` + // Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + SkipDestroy *bool `pulumi:"skipDestroy"` +} + +type SubscriptionState struct { + // Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + AutoRenew pulumi.StringPtrInput + // Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + SkipDestroy pulumi.BoolPtrInput +} + +func (SubscriptionState) ElementType() reflect.Type { + return reflect.TypeOf((*subscriptionState)(nil)).Elem() +} + +type subscriptionArgs struct { + // Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + AutoRenew *string `pulumi:"autoRenew"` + // Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + SkipDestroy *bool `pulumi:"skipDestroy"` +} + +// The set of arguments for constructing a Subscription resource. +type SubscriptionArgs struct { + // Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + AutoRenew pulumi.StringPtrInput + // Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + SkipDestroy pulumi.BoolPtrInput +} + +func (SubscriptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*subscriptionArgs)(nil)).Elem() +} + +type SubscriptionInput interface { + pulumi.Input + + ToSubscriptionOutput() SubscriptionOutput + ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput +} + +func (*Subscription) ElementType() reflect.Type { + return reflect.TypeOf((**Subscription)(nil)).Elem() +} + +func (i *Subscription) ToSubscriptionOutput() SubscriptionOutput { + return i.ToSubscriptionOutputWithContext(context.Background()) +} + +func (i *Subscription) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubscriptionOutput) +} + +// SubscriptionArrayInput is an input type that accepts SubscriptionArray and SubscriptionArrayOutput values. +// You can construct a concrete instance of `SubscriptionArrayInput` via: +// +// SubscriptionArray{ SubscriptionArgs{...} } +type SubscriptionArrayInput interface { + pulumi.Input + + ToSubscriptionArrayOutput() SubscriptionArrayOutput + ToSubscriptionArrayOutputWithContext(context.Context) SubscriptionArrayOutput +} + +type SubscriptionArray []SubscriptionInput + +func (SubscriptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Subscription)(nil)).Elem() +} + +func (i SubscriptionArray) ToSubscriptionArrayOutput() SubscriptionArrayOutput { + return i.ToSubscriptionArrayOutputWithContext(context.Background()) +} + +func (i SubscriptionArray) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubscriptionArrayOutput) +} + +// SubscriptionMapInput is an input type that accepts SubscriptionMap and SubscriptionMapOutput values. +// You can construct a concrete instance of `SubscriptionMapInput` via: +// +// SubscriptionMap{ "key": SubscriptionArgs{...} } +type SubscriptionMapInput interface { + pulumi.Input + + ToSubscriptionMapOutput() SubscriptionMapOutput + ToSubscriptionMapOutputWithContext(context.Context) SubscriptionMapOutput +} + +type SubscriptionMap map[string]SubscriptionInput + +func (SubscriptionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Subscription)(nil)).Elem() +} + +func (i SubscriptionMap) ToSubscriptionMapOutput() SubscriptionMapOutput { + return i.ToSubscriptionMapOutputWithContext(context.Background()) +} + +func (i SubscriptionMap) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubscriptionMapOutput) +} + +type SubscriptionOutput struct{ *pulumi.OutputState } + +func (SubscriptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Subscription)(nil)).Elem() +} + +func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput { + return o +} + +func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput { + return o +} + +// Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. +func (o SubscriptionOutput) AutoRenew() pulumi.StringOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringOutput { return v.AutoRenew }).(pulumi.StringOutput) +} + +// Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. +func (o SubscriptionOutput) SkipDestroy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Subscription) pulumi.BoolPtrOutput { return v.SkipDestroy }).(pulumi.BoolPtrOutput) +} + +type SubscriptionArrayOutput struct{ *pulumi.OutputState } + +func (SubscriptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Subscription)(nil)).Elem() +} + +func (o SubscriptionArrayOutput) ToSubscriptionArrayOutput() SubscriptionArrayOutput { + return o +} + +func (o SubscriptionArrayOutput) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput { + return o +} + +func (o SubscriptionArrayOutput) Index(i pulumi.IntInput) SubscriptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Subscription { + return vs[0].([]*Subscription)[vs[1].(int)] + }).(SubscriptionOutput) +} + +type SubscriptionMapOutput struct{ *pulumi.OutputState } + +func (SubscriptionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Subscription)(nil)).Elem() +} + +func (o SubscriptionMapOutput) ToSubscriptionMapOutput() SubscriptionMapOutput { + return o +} + +func (o SubscriptionMapOutput) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput { + return o +} + +func (o SubscriptionMapOutput) MapIndex(k pulumi.StringInput) SubscriptionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Subscription { + return vs[0].(map[string]*Subscription)[vs[1].(string)] + }).(SubscriptionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SubscriptionInput)(nil)).Elem(), &Subscription{}) + pulumi.RegisterInputType(reflect.TypeOf((*SubscriptionArrayInput)(nil)).Elem(), SubscriptionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SubscriptionMapInput)(nil)).Elem(), SubscriptionMap{}) + pulumi.RegisterOutputType(SubscriptionOutput{}) + pulumi.RegisterOutputType(SubscriptionArrayOutput{}) + pulumi.RegisterOutputType(SubscriptionMapOutput{}) +} diff --git a/sdk/go/aws/sns/topic.go b/sdk/go/aws/sns/topic.go index 246a7d1605d..53ea314017d 100644 --- a/sdk/go/aws/sns/topic.go +++ b/sdk/go/aws/sns/topic.go @@ -172,7 +172,7 @@ type Topic struct { DeliveryPolicy pulumi.StringPtrOutput `pulumi:"deliveryPolicy"` // The display name for the topic DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` - // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. FifoTopic pulumi.BoolPtrOutput `pulumi:"fifoTopic"` // IAM role for failure feedback FirehoseFailureFeedbackRoleArn pulumi.StringPtrOutput `pulumi:"firehoseFailureFeedbackRoleArn"` @@ -268,7 +268,7 @@ type topicState struct { DeliveryPolicy *string `pulumi:"deliveryPolicy"` // The display name for the topic DisplayName *string `pulumi:"displayName"` - // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. FifoTopic *bool `pulumi:"fifoTopic"` // IAM role for failure feedback FirehoseFailureFeedbackRoleArn *string `pulumi:"firehoseFailureFeedbackRoleArn"` @@ -335,7 +335,7 @@ type TopicState struct { DeliveryPolicy pulumi.StringPtrInput // The display name for the topic DisplayName pulumi.StringPtrInput - // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. FifoTopic pulumi.BoolPtrInput // IAM role for failure feedback FirehoseFailureFeedbackRoleArn pulumi.StringPtrInput @@ -402,7 +402,7 @@ type topicArgs struct { DeliveryPolicy *string `pulumi:"deliveryPolicy"` // The display name for the topic DisplayName *string `pulumi:"displayName"` - // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. FifoTopic *bool `pulumi:"fifoTopic"` // IAM role for failure feedback FirehoseFailureFeedbackRoleArn *string `pulumi:"firehoseFailureFeedbackRoleArn"` @@ -460,7 +460,7 @@ type TopicArgs struct { DeliveryPolicy pulumi.StringPtrInput // The display name for the topic DisplayName pulumi.StringPtrInput - // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + // Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. FifoTopic pulumi.BoolPtrInput // IAM role for failure feedback FirehoseFailureFeedbackRoleArn pulumi.StringPtrInput @@ -634,7 +634,7 @@ func (o TopicOutput) DisplayName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Topic) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) } -// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). +// Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. func (o TopicOutput) FifoTopic() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Topic) pulumi.BoolPtrOutput { return v.FifoTopic }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/vpc/securityGroupEgressRule.go b/sdk/go/aws/vpc/securityGroupEgressRule.go index fd8efc345a8..e509718d064 100644 --- a/sdk/go/aws/vpc/securityGroupEgressRule.go +++ b/sdk/go/aws/vpc/securityGroupEgressRule.go @@ -16,10 +16,9 @@ import ( // // When specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic. // -// > **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 `vpc.SecurityGroupEgressRule` resource has been added to address these limitations and should be used for all new security group rules. -// You should not use the `vpc.SecurityGroupEgressRule` resource in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. +// > **NOTE:** Using `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. +// +// !> **WARNING:** You should not use the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. // // ## Example Usage // diff --git a/sdk/go/aws/vpc/securityGroupIngressRule.go b/sdk/go/aws/vpc/securityGroupIngressRule.go index 1d80253830b..5d171969199 100644 --- a/sdk/go/aws/vpc/securityGroupIngressRule.go +++ b/sdk/go/aws/vpc/securityGroupIngressRule.go @@ -16,10 +16,9 @@ import ( // // When specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic. // -// > **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 `vpc.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules. -// You should not use the `vpc.SecurityGroupIngressRule` resource in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. +// > **NOTE:** Using `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. +// +// !> **WARNING:** You should not use the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. // // ## Example Usage // diff --git a/sdk/go/aws/wafv2/pulumiTypes.go b/sdk/go/aws/wafv2/pulumiTypes.go index 1c019459a27..dfdc1c08fa6 100644 --- a/sdk/go/aws/wafv2/pulumiTypes.go +++ b/sdk/go/aws/wafv2/pulumiTypes.go @@ -23202,8 +23202,9 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraint type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement struct { // The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. - FieldToMatch *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` - SensitivityLevel *string `pulumi:"sensitivityLevel"` + FieldToMatch *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel *string `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. // At least one required. // See Text Transformation below for details. @@ -23223,8 +23224,9 @@ type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen type RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs struct { // The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. - FieldToMatch RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` - SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` + FieldToMatch RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. // At least one required. // See Text Transformation below for details. @@ -23315,6 +23317,7 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement) *string { return v.SensitivityLevel @@ -23364,6 +23367,7 @@ func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState }).(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementPtrOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement) *string { if v == nil { @@ -38103,8 +38107,9 @@ func (o RuleGroupRuleStatementSizeConstraintStatementTextTransformationArrayOutp type RuleGroupRuleStatementSqliMatchStatement struct { // The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. - FieldToMatch *RuleGroupRuleStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` - SensitivityLevel *string `pulumi:"sensitivityLevel"` + FieldToMatch *RuleGroupRuleStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel *string `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. // At least one required. // See Text Transformation below for details. @@ -38124,8 +38129,9 @@ type RuleGroupRuleStatementSqliMatchStatementInput interface { type RuleGroupRuleStatementSqliMatchStatementArgs struct { // The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. - FieldToMatch RuleGroupRuleStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` - SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` + FieldToMatch RuleGroupRuleStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. // At least one required. // See Text Transformation below for details. @@ -38216,6 +38222,7 @@ func (o RuleGroupRuleStatementSqliMatchStatementOutput) FieldToMatch() RuleGroup }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o RuleGroupRuleStatementSqliMatchStatementOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v RuleGroupRuleStatementSqliMatchStatement) *string { return v.SensitivityLevel }).(pulumi.StringPtrOutput) } @@ -38263,6 +38270,7 @@ func (o RuleGroupRuleStatementSqliMatchStatementPtrOutput) FieldToMatch() RuleGr }).(RuleGroupRuleStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o RuleGroupRuleStatementSqliMatchStatementPtrOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *RuleGroupRuleStatementSqliMatchStatement) *string { if v == nil { diff --git a/sdk/go/aws/wafv2/pulumiTypes1.go b/sdk/go/aws/wafv2/pulumiTypes1.go index 19a190bb251..65eef6a9313 100644 --- a/sdk/go/aws/wafv2/pulumiTypes1.go +++ b/sdk/go/aws/wafv2/pulumiTypes1.go @@ -3771,8 +3771,9 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSizeConstr type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement struct { // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` - SensitivityLevel *string `pulumi:"sensitivityLevel"` + FieldToMatch *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel *string `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. TextTransformations []WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformation `pulumi:"textTransformations"` } @@ -3790,8 +3791,9 @@ type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStat type WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs struct { // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` - SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` + FieldToMatch WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. TextTransformations WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArrayInput `pulumi:"textTransformations"` } @@ -3880,6 +3882,7 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchS }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *string { return v.SensitivityLevel @@ -3927,6 +3930,7 @@ func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchS }).(WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementPtrOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement) *string { if v == nil { @@ -25998,8 +26002,9 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSizeConstraintSta type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement struct { // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` - SensitivityLevel *string `pulumi:"sensitivityLevel"` + FieldToMatch *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel *string `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. TextTransformations []WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementTextTransformation `pulumi:"textTransformations"` } @@ -26017,8 +26022,9 @@ type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementIn type WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs struct { // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` - SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` + FieldToMatch WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. TextTransformations WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementTextTransformationArrayInput `pulumi:"textTransformations"` } @@ -26107,6 +26113,7 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement) *string { return v.SensitivityLevel @@ -26154,6 +26161,7 @@ func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen }).(WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementPtrOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement) *string { if v == nil { @@ -43246,8 +43254,9 @@ func (o WebAclRuleStatementSizeConstraintStatementTextTransformationArrayOutput) type WebAclRuleStatementSqliMatchStatement struct { // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch *WebAclRuleStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` - SensitivityLevel *string `pulumi:"sensitivityLevel"` + FieldToMatch *WebAclRuleStatementSqliMatchStatementFieldToMatch `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel *string `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. TextTransformations []WebAclRuleStatementSqliMatchStatementTextTransformation `pulumi:"textTransformations"` } @@ -43265,8 +43274,9 @@ type WebAclRuleStatementSqliMatchStatementInput interface { type WebAclRuleStatementSqliMatchStatementArgs struct { // Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. - FieldToMatch WebAclRuleStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` - SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` + FieldToMatch WebAclRuleStatementSqliMatchStatementFieldToMatchPtrInput `pulumi:"fieldToMatch"` + // Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + SensitivityLevel pulumi.StringPtrInput `pulumi:"sensitivityLevel"` // Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. TextTransformations WebAclRuleStatementSqliMatchStatementTextTransformationArrayInput `pulumi:"textTransformations"` } @@ -43355,6 +43365,7 @@ func (o WebAclRuleStatementSqliMatchStatementOutput) FieldToMatch() WebAclRuleSt }).(WebAclRuleStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o WebAclRuleStatementSqliMatchStatementOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v WebAclRuleStatementSqliMatchStatement) *string { return v.SensitivityLevel }).(pulumi.StringPtrOutput) } @@ -43400,6 +43411,7 @@ func (o WebAclRuleStatementSqliMatchStatementPtrOutput) FieldToMatch() WebAclRul }).(WebAclRuleStatementSqliMatchStatementFieldToMatchPtrOutput) } +// Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. func (o WebAclRuleStatementSqliMatchStatementPtrOutput) SensitivityLevel() pulumi.StringPtrOutput { return o.ApplyT(func(v *WebAclRuleStatementSqliMatchStatement) *string { if v == nil { 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 fa0925a12d9..ff6c5de30c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java @@ -26,6 +26,8 @@ import com.pulumi.aws.inputs.GetRegionsPlainArgs; import com.pulumi.aws.inputs.GetServiceArgs; import com.pulumi.aws.inputs.GetServicePlainArgs; +import com.pulumi.aws.inputs.GetServicePrincipalArgs; +import com.pulumi.aws.inputs.GetServicePrincipalPlainArgs; import com.pulumi.aws.outputs.GetArnResult; import com.pulumi.aws.outputs.GetAvailabilityZoneResult; import com.pulumi.aws.outputs.GetAvailabilityZonesResult; @@ -36,6 +38,7 @@ import com.pulumi.aws.outputs.GetPartitionResult; import com.pulumi.aws.outputs.GetRegionResult; import com.pulumi.aws.outputs.GetRegionsResult; +import com.pulumi.aws.outputs.GetServicePrincipalResult; import com.pulumi.aws.outputs.GetServiceResult; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; @@ -4874,4 +4877,192 @@ public static Output getService(GetServiceArgs args, InvokeOpt public static CompletableFuture getServicePlain(GetServicePlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:index/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + * + * ## 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.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetServicePrincipalArgs;
+     * 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.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .build());
+     * 
+     *         final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .region("us-iso-east-1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServicePrincipal(GetServicePrincipalArgs args) { + return getServicePrincipal(args, InvokeOptions.Empty); + } + /** + * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + * + * ## 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.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetServicePrincipalArgs;
+     * 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.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .build());
+     * 
+     *         final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .region("us-iso-east-1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getServicePrincipalPlain(GetServicePrincipalPlainArgs args) { + return getServicePrincipalPlain(args, InvokeOptions.Empty); + } + /** + * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + * + * ## 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.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetServicePrincipalArgs;
+     * 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.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .build());
+     * 
+     *         final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .region("us-iso-east-1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServicePrincipal(GetServicePrincipalArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:index/getServicePrincipal:getServicePrincipal", TypeShape.of(GetServicePrincipalResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + * + * ## 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.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetServicePrincipalArgs;
+     * 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.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .build());
+     * 
+     *         final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .region("us-iso-east-1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getServicePrincipalPlain(GetServicePrincipalPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:index/getServicePrincipal:getServicePrincipal", TypeShape.of(GetServicePrincipalResult.class), args, Utilities.withVersion(options)); + } } 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 c73e9419ef4..a3be090f66d 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 @@ -7,6 +7,7 @@ import com.pulumi.aws.appflow.FlowArgs; import com.pulumi.aws.appflow.inputs.FlowState; import com.pulumi.aws.appflow.outputs.FlowDestinationFlowConfig; +import com.pulumi.aws.appflow.outputs.FlowMetadataCatalogConfig; import com.pulumi.aws.appflow.outputs.FlowSourceFlowConfig; import com.pulumi.aws.appflow.outputs.FlowTask; import com.pulumi.aws.appflow.outputs.FlowTriggerConfig; @@ -253,6 +254,20 @@ public Output flowStatus() { public Output kmsArn() { return this.kmsArn; } + /** + * A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + */ + @Export(name="metadataCatalogConfig", refs={FlowMetadataCatalogConfig.class}, tree="[0]") + private Output metadataCatalogConfig; + + /** + * @return A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + */ + public Output metadataCatalogConfig() { + return this.metadataCatalogConfig; + } /** * Name of the flow. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/FlowArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/FlowArgs.java index e06b44c32a3..d34e2ac4feb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/FlowArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/FlowArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.appflow; import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigArgs; +import com.pulumi.aws.appflow.inputs.FlowMetadataCatalogConfigArgs; import com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigArgs; import com.pulumi.aws.appflow.inputs.FlowTaskArgs; import com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs; @@ -67,6 +68,21 @@ public Optional> kmsArn() { return Optional.ofNullable(this.kmsArn); } + /** + * A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + */ + @Import(name="metadataCatalogConfig") + private @Nullable Output metadataCatalogConfig; + + /** + * @return A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + */ + public Optional> metadataCatalogConfig() { + return Optional.ofNullable(this.metadataCatalogConfig); + } + /** * Name of the flow. * @@ -148,6 +164,7 @@ private FlowArgs(FlowArgs $) { this.description = $.description; this.destinationFlowConfigs = $.destinationFlowConfigs; this.kmsArn = $.kmsArn; + this.metadataCatalogConfig = $.metadataCatalogConfig; this.name = $.name; this.sourceFlowConfig = $.sourceFlowConfig; this.tags = $.tags; @@ -246,6 +263,27 @@ public Builder kmsArn(String kmsArn) { return kmsArn(Output.of(kmsArn)); } + /** + * @param metadataCatalogConfig A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + * @return builder + * + */ + public Builder metadataCatalogConfig(@Nullable Output metadataCatalogConfig) { + $.metadataCatalogConfig = metadataCatalogConfig; + return this; + } + + /** + * @param metadataCatalogConfig A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + * @return builder + * + */ + public Builder metadataCatalogConfig(FlowMetadataCatalogConfigArgs metadataCatalogConfig) { + return metadataCatalogConfig(Output.of(metadataCatalogConfig)); + } + /** * @param name Name of the flow. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.java index 7ba7cc8e460..556b2fab91a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -30,6 +31,21 @@ public Optional> prefixFormat() { return Optional.ofNullable(this.prefixFormat); } + /** + * Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + @Import(name="prefixHierarchies") + private @Nullable Output> prefixHierarchies; + + /** + * @return Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + public Optional>> prefixHierarchies() { + return Optional.ofNullable(this.prefixHierarchies); + } + /** * Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * @@ -49,6 +65,7 @@ private FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatC private FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs $) { this.prefixFormat = $.prefixFormat; + this.prefixHierarchies = $.prefixHierarchies; this.prefixType = $.prefixType; } @@ -91,6 +108,37 @@ public Builder prefixFormat(String prefixFormat) { return prefixFormat(Output.of(prefixFormat)); } + /** + * @param prefixHierarchies Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + * @return builder + * + */ + public Builder prefixHierarchies(@Nullable Output> prefixHierarchies) { + $.prefixHierarchies = prefixHierarchies; + return this; + } + + /** + * @param prefixHierarchies Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + * @return builder + * + */ + public Builder prefixHierarchies(List prefixHierarchies) { + return prefixHierarchies(Output.of(prefixHierarchies)); + } + + /** + * @param prefixHierarchies Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + * @return builder + * + */ + public Builder prefixHierarchies(String... prefixHierarchies) { + return prefixHierarchies(List.of(prefixHierarchies)); + } + /** * @param prefixType Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.java index b74192c2da5..ff9bdfa7d09 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs.java @@ -7,6 +7,7 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -31,6 +32,21 @@ public Optional> prefixFormat() { return Optional.ofNullable(this.prefixFormat); } + /** + * Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + @Import(name="prefixHierarchies") + private @Nullable Output> prefixHierarchies; + + /** + * @return Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + public Optional>> prefixHierarchies() { + return Optional.ofNullable(this.prefixHierarchies); + } + /** * Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * @@ -50,6 +66,7 @@ private FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputF private FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs(FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs $) { this.prefixFormat = $.prefixFormat; + this.prefixHierarchies = $.prefixHierarchies; this.prefixType = $.prefixType; } @@ -92,6 +109,37 @@ public Builder prefixFormat(String prefixFormat) { return prefixFormat(Output.of(prefixFormat)); } + /** + * @param prefixHierarchies Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + * @return builder + * + */ + public Builder prefixHierarchies(@Nullable Output> prefixHierarchies) { + $.prefixHierarchies = prefixHierarchies; + return this; + } + + /** + * @param prefixHierarchies Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + * @return builder + * + */ + public Builder prefixHierarchies(List prefixHierarchies) { + return prefixHierarchies(Output.of(prefixHierarchies)); + } + + /** + * @param prefixHierarchies Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + * @return builder + * + */ + public Builder prefixHierarchies(String... prefixHierarchies) { + return prefixHierarchies(List.of(prefixHierarchies)); + } + /** * @param prefixType Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigArgs.java new file mode 100644 index 00000000000..e3dcb797232 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appflow.inputs; + +import com.pulumi.aws.appflow.inputs.FlowMetadataCatalogConfigGlueDataCatalogArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FlowMetadataCatalogConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final FlowMetadataCatalogConfigArgs Empty = new FlowMetadataCatalogConfigArgs(); + + @Import(name="glueDataCatalog") + private @Nullable Output glueDataCatalog; + + public Optional> glueDataCatalog() { + return Optional.ofNullable(this.glueDataCatalog); + } + + private FlowMetadataCatalogConfigArgs() {} + + private FlowMetadataCatalogConfigArgs(FlowMetadataCatalogConfigArgs $) { + this.glueDataCatalog = $.glueDataCatalog; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FlowMetadataCatalogConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FlowMetadataCatalogConfigArgs $; + + public Builder() { + $ = new FlowMetadataCatalogConfigArgs(); + } + + public Builder(FlowMetadataCatalogConfigArgs defaults) { + $ = new FlowMetadataCatalogConfigArgs(Objects.requireNonNull(defaults)); + } + + public Builder glueDataCatalog(@Nullable Output glueDataCatalog) { + $.glueDataCatalog = glueDataCatalog; + return this; + } + + public Builder glueDataCatalog(FlowMetadataCatalogConfigGlueDataCatalogArgs glueDataCatalog) { + return glueDataCatalog(Output.of(glueDataCatalog)); + } + + public FlowMetadataCatalogConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.java new file mode 100644 index 00000000000..58350393173 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowMetadataCatalogConfigGlueDataCatalogArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appflow.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class FlowMetadataCatalogConfigGlueDataCatalogArgs extends com.pulumi.resources.ResourceArgs { + + public static final FlowMetadataCatalogConfigGlueDataCatalogArgs Empty = new FlowMetadataCatalogConfigGlueDataCatalogArgs(); + + /** + * The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + * + */ + @Import(name="databaseName", required=true) + private Output databaseName; + + /** + * @return The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + * + */ + public Output databaseName() { + return this.databaseName; + } + + /** + * The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + * + */ + @Import(name="roleArn", required=true) + private Output roleArn; + + /** + * @return The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + * + */ + public Output roleArn() { + return this.roleArn; + } + + /** + * A naming prefix for each Data Catalog table that Amazon AppFlow creates + * + */ + @Import(name="tablePrefix", required=true) + private Output tablePrefix; + + /** + * @return A naming prefix for each Data Catalog table that Amazon AppFlow creates + * + */ + public Output tablePrefix() { + return this.tablePrefix; + } + + private FlowMetadataCatalogConfigGlueDataCatalogArgs() {} + + private FlowMetadataCatalogConfigGlueDataCatalogArgs(FlowMetadataCatalogConfigGlueDataCatalogArgs $) { + this.databaseName = $.databaseName; + this.roleArn = $.roleArn; + this.tablePrefix = $.tablePrefix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FlowMetadataCatalogConfigGlueDataCatalogArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FlowMetadataCatalogConfigGlueDataCatalogArgs $; + + public Builder() { + $ = new FlowMetadataCatalogConfigGlueDataCatalogArgs(); + } + + public Builder(FlowMetadataCatalogConfigGlueDataCatalogArgs defaults) { + $ = new FlowMetadataCatalogConfigGlueDataCatalogArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param databaseName The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + * + * @return builder + * + */ + public Builder databaseName(Output databaseName) { + $.databaseName = databaseName; + return this; + } + + /** + * @param databaseName The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + * + * @return builder + * + */ + public Builder databaseName(String databaseName) { + return databaseName(Output.of(databaseName)); + } + + /** + * @param roleArn The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + * + * @return builder + * + */ + public Builder roleArn(Output roleArn) { + $.roleArn = roleArn; + return this; + } + + /** + * @param roleArn The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + * + * @return builder + * + */ + public Builder roleArn(String roleArn) { + return roleArn(Output.of(roleArn)); + } + + /** + * @param tablePrefix A naming prefix for each Data Catalog table that Amazon AppFlow creates + * + * @return builder + * + */ + public Builder tablePrefix(Output tablePrefix) { + $.tablePrefix = tablePrefix; + return this; + } + + /** + * @param tablePrefix A naming prefix for each Data Catalog table that Amazon AppFlow creates + * + * @return builder + * + */ + public Builder tablePrefix(String tablePrefix) { + return tablePrefix(Output.of(tablePrefix)); + } + + public FlowMetadataCatalogConfigGlueDataCatalogArgs build() { + if ($.databaseName == null) { + throw new MissingRequiredPropertyException("FlowMetadataCatalogConfigGlueDataCatalogArgs", "databaseName"); + } + if ($.roleArn == null) { + throw new MissingRequiredPropertyException("FlowMetadataCatalogConfigGlueDataCatalogArgs", "roleArn"); + } + if ($.tablePrefix == null) { + throw new MissingRequiredPropertyException("FlowMetadataCatalogConfigGlueDataCatalogArgs", "tablePrefix"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowState.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowState.java index 5ba17d2ed5a..78d7a52308e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/inputs/FlowState.java @@ -4,6 +4,7 @@ package com.pulumi.aws.appflow.inputs; import com.pulumi.aws.appflow.inputs.FlowDestinationFlowConfigArgs; +import com.pulumi.aws.appflow.inputs.FlowMetadataCatalogConfigArgs; import com.pulumi.aws.appflow.inputs.FlowSourceFlowConfigArgs; import com.pulumi.aws.appflow.inputs.FlowTaskArgs; import com.pulumi.aws.appflow.inputs.FlowTriggerConfigArgs; @@ -96,6 +97,21 @@ public Optional> kmsArn() { return Optional.ofNullable(this.kmsArn); } + /** + * A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + */ + @Import(name="metadataCatalogConfig") + private @Nullable Output metadataCatalogConfig; + + /** + * @return A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + */ + public Optional> metadataCatalogConfig() { + return Optional.ofNullable(this.metadataCatalogConfig); + } + /** * Name of the flow. * @@ -202,6 +218,7 @@ private FlowState(FlowState $) { this.destinationFlowConfigs = $.destinationFlowConfigs; this.flowStatus = $.flowStatus; this.kmsArn = $.kmsArn; + this.metadataCatalogConfig = $.metadataCatalogConfig; this.name = $.name; this.sourceFlowConfig = $.sourceFlowConfig; this.tags = $.tags; @@ -343,6 +360,27 @@ public Builder kmsArn(String kmsArn) { return kmsArn(Output.of(kmsArn)); } + /** + * @param metadataCatalogConfig A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + * @return builder + * + */ + public Builder metadataCatalogConfig(@Nullable Output metadataCatalogConfig) { + $.metadataCatalogConfig = metadataCatalogConfig; + return this; + } + + /** + * @param metadataCatalogConfig A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + * + * @return builder + * + */ + public Builder metadataCatalogConfig(FlowMetadataCatalogConfigArgs metadataCatalogConfig) { + return metadataCatalogConfig(Output.of(metadataCatalogConfig)); + } + /** * @param name Name of the flow. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.java index 2cd21a904ba..4796d72013e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -16,6 +17,11 @@ public final class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3Ou * */ private @Nullable String prefixFormat; + /** + * @return Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + private @Nullable List prefixHierarchies; /** * @return Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * @@ -30,6 +36,13 @@ private FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatC public Optional prefixFormat() { return Optional.ofNullable(this.prefixFormat); } + /** + * @return Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + public List prefixHierarchies() { + return this.prefixHierarchies == null ? List.of() : this.prefixHierarchies; + } /** * @return Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * @@ -48,11 +61,13 @@ public static Builder builder(FlowDestinationFlowConfigDestinationConnectorPrope @CustomType.Builder public static final class Builder { private @Nullable String prefixFormat; + private @Nullable List prefixHierarchies; private @Nullable String prefixType; public Builder() {} public Builder(FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig defaults) { Objects.requireNonNull(defaults); this.prefixFormat = defaults.prefixFormat; + this.prefixHierarchies = defaults.prefixHierarchies; this.prefixType = defaults.prefixType; } @@ -63,6 +78,15 @@ public Builder prefixFormat(@Nullable String prefixFormat) { return this; } @CustomType.Setter + public Builder prefixHierarchies(@Nullable List prefixHierarchies) { + + this.prefixHierarchies = prefixHierarchies; + return this; + } + public Builder prefixHierarchies(String... prefixHierarchies) { + return prefixHierarchies(List.of(prefixHierarchies)); + } + @CustomType.Setter public Builder prefixType(@Nullable String prefixType) { this.prefixType = prefixType; @@ -71,6 +95,7 @@ public Builder prefixType(@Nullable String prefixType) { public FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig build() { final var _resultValue = new FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfig(); _resultValue.prefixFormat = prefixFormat; + _resultValue.prefixHierarchies = prefixHierarchies; _resultValue.prefixType = prefixType; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.java index f515da9c50a..ce047daed30 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig.java @@ -6,6 +6,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -17,6 +18,11 @@ public final class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolv * */ private @Nullable String prefixFormat; + /** + * @return Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + private @Nullable List prefixHierarchies; /** * @return Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * @@ -31,6 +37,13 @@ private FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputF public Optional prefixFormat() { return Optional.ofNullable(this.prefixFormat); } + /** + * @return Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + * + */ + public List prefixHierarchies() { + return this.prefixHierarchies == null ? List.of() : this.prefixHierarchies; + } /** * @return Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. * @@ -49,11 +62,13 @@ public static Builder builder(FlowDestinationFlowConfigDestinationConnectorPrope @CustomType.Builder public static final class Builder { private @Nullable String prefixFormat; + private @Nullable List prefixHierarchies; private String prefixType; public Builder() {} public Builder(FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig defaults) { Objects.requireNonNull(defaults); this.prefixFormat = defaults.prefixFormat; + this.prefixHierarchies = defaults.prefixHierarchies; this.prefixType = defaults.prefixType; } @@ -64,6 +79,15 @@ public Builder prefixFormat(@Nullable String prefixFormat) { return this; } @CustomType.Setter + public Builder prefixHierarchies(@Nullable List prefixHierarchies) { + + this.prefixHierarchies = prefixHierarchies; + return this; + } + public Builder prefixHierarchies(String... prefixHierarchies) { + return prefixHierarchies(List.of(prefixHierarchies)); + } + @CustomType.Setter public Builder prefixType(String prefixType) { if (prefixType == null) { throw new MissingRequiredPropertyException("FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig", "prefixType"); @@ -74,6 +98,7 @@ public Builder prefixType(String prefixType) { public FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig build() { final var _resultValue = new FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig(); _resultValue.prefixFormat = prefixFormat; + _resultValue.prefixHierarchies = prefixHierarchies; _resultValue.prefixType = prefixType; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfig.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfig.java new file mode 100644 index 00000000000..cc1d198b892 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfig.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appflow.outputs; + +import com.pulumi.aws.appflow.outputs.FlowMetadataCatalogConfigGlueDataCatalog; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FlowMetadataCatalogConfig { + private @Nullable FlowMetadataCatalogConfigGlueDataCatalog glueDataCatalog; + + private FlowMetadataCatalogConfig() {} + public Optional glueDataCatalog() { + return Optional.ofNullable(this.glueDataCatalog); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FlowMetadataCatalogConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable FlowMetadataCatalogConfigGlueDataCatalog glueDataCatalog; + public Builder() {} + public Builder(FlowMetadataCatalogConfig defaults) { + Objects.requireNonNull(defaults); + this.glueDataCatalog = defaults.glueDataCatalog; + } + + @CustomType.Setter + public Builder glueDataCatalog(@Nullable FlowMetadataCatalogConfigGlueDataCatalog glueDataCatalog) { + + this.glueDataCatalog = glueDataCatalog; + return this; + } + public FlowMetadataCatalogConfig build() { + final var _resultValue = new FlowMetadataCatalogConfig(); + _resultValue.glueDataCatalog = glueDataCatalog; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfigGlueDataCatalog.java b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfigGlueDataCatalog.java new file mode 100644 index 00000000000..c49d7a51529 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appflow/outputs/FlowMetadataCatalogConfigGlueDataCatalog.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appflow.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class FlowMetadataCatalogConfigGlueDataCatalog { + /** + * @return The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + * + */ + private String databaseName; + /** + * @return The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + * + */ + private String roleArn; + /** + * @return A naming prefix for each Data Catalog table that Amazon AppFlow creates + * + */ + private String tablePrefix; + + private FlowMetadataCatalogConfigGlueDataCatalog() {} + /** + * @return The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + * + */ + public String databaseName() { + return this.databaseName; + } + /** + * @return The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + * + */ + public String roleArn() { + return this.roleArn; + } + /** + * @return A naming prefix for each Data Catalog table that Amazon AppFlow creates + * + */ + public String tablePrefix() { + return this.tablePrefix; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FlowMetadataCatalogConfigGlueDataCatalog defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String databaseName; + private String roleArn; + private String tablePrefix; + public Builder() {} + public Builder(FlowMetadataCatalogConfigGlueDataCatalog defaults) { + Objects.requireNonNull(defaults); + this.databaseName = defaults.databaseName; + this.roleArn = defaults.roleArn; + this.tablePrefix = defaults.tablePrefix; + } + + @CustomType.Setter + public Builder databaseName(String databaseName) { + if (databaseName == null) { + throw new MissingRequiredPropertyException("FlowMetadataCatalogConfigGlueDataCatalog", "databaseName"); + } + this.databaseName = databaseName; + return this; + } + @CustomType.Setter + public Builder roleArn(String roleArn) { + if (roleArn == null) { + throw new MissingRequiredPropertyException("FlowMetadataCatalogConfigGlueDataCatalog", "roleArn"); + } + this.roleArn = roleArn; + return this; + } + @CustomType.Setter + public Builder tablePrefix(String tablePrefix) { + if (tablePrefix == null) { + throw new MissingRequiredPropertyException("FlowMetadataCatalogConfigGlueDataCatalog", "tablePrefix"); + } + this.tablePrefix = tablePrefix; + return this; + } + public FlowMetadataCatalogConfigGlueDataCatalog build() { + final var _resultValue = new FlowMetadataCatalogConfigGlueDataCatalog(); + _resultValue.databaseName = databaseName; + _resultValue.roleArn = roleArn; + _resultValue.tablePrefix = tablePrefix; + return _resultValue; + } + } +} 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 9001f7a810d..ae9413adf38 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 @@ -329,42 +329,42 @@ @ResourceType(type="aws:batch/jobDefinition:JobDefinition") public class JobDefinition extends com.pulumi.resources.CustomResource { /** - * The Amazon Resource Name of the job definition, includes revision (`:#`). + * ARN of the job definition, includes revision (`:#`). * */ @Export(name="arn", refs={String.class}, tree="[0]") private Output arn; /** - * @return The Amazon Resource Name of the job definition, includes revision (`:#`). + * @return ARN of the job definition, includes revision (`:#`). * */ public Output arn() { return this.arn; } /** - * The ARN without the revision number. + * ARN without the revision number. * */ @Export(name="arnPrefix", refs={String.class}, tree="[0]") private Output arnPrefix; /** - * @return The ARN without the revision number. + * @return ARN without the revision number. * */ public Output arnPrefix() { return this.arnPrefix; } /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ @Export(name="containerProperties", refs={String.class}, tree="[0]") private Output containerProperties; /** - * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @return Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ public Output> containerProperties() { @@ -385,126 +385,126 @@ public Output> deregisterOnNewRevision() { return Codegen.optional(this.deregisterOnNewRevision); } /** - * A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * */ @Export(name="eksProperties", refs={JobDefinitionEksProperties.class}, tree="[0]") private Output eksProperties; /** - * @return A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * @return Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * */ public Output> eksProperties() { return Codegen.optional(this.eksProperties); } /** - * Specifies the name of the job definition. + * Name of the job definition. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public Output name() { return this.name; } /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ @Export(name="nodeProperties", refs={String.class}, tree="[0]") private Output nodeProperties; /** - * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @return Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ public Output> nodeProperties() { return Codegen.optional(this.nodeProperties); } /** - * Specifies the parameter substitution placeholders to set in the job definition. + * Parameter substitution placeholders to set in the job definition. * */ @Export(name="parameters", refs={Map.class,String.class}, tree="[0,1,1]") private Output> parameters; /** - * @return Specifies the parameter substitution placeholders to set in the job definition. + * @return Parameter substitution placeholders to set in the job definition. * */ public Output>> parameters() { return Codegen.optional(this.parameters); } /** - * The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * */ @Export(name="platformCapabilities", refs={List.class,String.class}, tree="[0,1]") private Output> platformCapabilities; /** - * @return The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @return Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * */ public Output>> platformCapabilities() { return Codegen.optional(this.platformCapabilities); } /** - * Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * */ @Export(name="propagateTags", refs={Boolean.class}, tree="[0]") private Output propagateTags; /** - * @return Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * @return Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * */ public Output> propagateTags() { return Codegen.optional(this.propagateTags); } /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ @Export(name="retryStrategy", refs={JobDefinitionRetryStrategy.class}, tree="[0]") private Output retryStrategy; /** - * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * @return Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ public Output> retryStrategy() { return Codegen.optional(this.retryStrategy); } /** - * The revision of the job definition. + * Revision of the job definition. * */ @Export(name="revision", refs={Integer.class}, tree="[0]") private Output revision; /** - * @return The revision of the job definition. + * @return Revision of the job definition. * */ public Output revision() { return this.revision; } /** - * The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * */ @Export(name="schedulingPriority", refs={Integer.class}, tree="[0]") private Output schedulingPriority; /** - * @return The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * @return Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * */ public Output> schedulingPriority() { @@ -525,7 +525,7 @@ public Output>> tags() { return Codegen.optional(this.tags); } /** - * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @deprecated * Please use `tags` instead. @@ -536,28 +536,28 @@ public Output>> tags() { private Output> tagsAll; /** - * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * */ public Output> tagsAll() { return this.tagsAll; } /** - * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * */ @Export(name="timeout", refs={JobDefinitionTimeout.class}, tree="[0]") private Output timeout; /** - * @return Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * @return Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * */ public Output> timeout() { return Codegen.optional(this.timeout); } /** - * The type of job definition. Must be `container` or `multinode`. + * Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * @@ -566,7 +566,7 @@ public Output> timeout() { private Output type; /** - * @return The type of job definition. Must be `container` or `multinode`. + * @return Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java index 000f712057b..2a5f129cb69 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java @@ -24,14 +24,14 @@ public final class JobDefinitionArgs extends com.pulumi.resources.ResourceArgs { public static final JobDefinitionArgs Empty = new JobDefinitionArgs(); /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ @Import(name="containerProperties") private @Nullable Output containerProperties; /** - * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @return Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ public Optional> containerProperties() { @@ -54,14 +54,14 @@ public Optional> deregisterOnNewRevision() { } /** - * A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * */ @Import(name="eksProperties") private @Nullable Output eksProperties; /** - * @return A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * @return Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * */ public Optional> eksProperties() { @@ -69,14 +69,14 @@ public Optional> eksProperties() { } /** - * Specifies the name of the job definition. + * Name of the job definition. * */ @Import(name="name") private @Nullable Output name; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public Optional> name() { @@ -84,14 +84,14 @@ public Optional> name() { } /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ @Import(name="nodeProperties") private @Nullable Output nodeProperties; /** - * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @return Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ public Optional> nodeProperties() { @@ -99,14 +99,14 @@ public Optional> nodeProperties() { } /** - * Specifies the parameter substitution placeholders to set in the job definition. + * Parameter substitution placeholders to set in the job definition. * */ @Import(name="parameters") private @Nullable Output> parameters; /** - * @return Specifies the parameter substitution placeholders to set in the job definition. + * @return Parameter substitution placeholders to set in the job definition. * */ public Optional>> parameters() { @@ -114,14 +114,14 @@ public Optional>> parameters() { } /** - * The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * */ @Import(name="platformCapabilities") private @Nullable Output> platformCapabilities; /** - * @return The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @return Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * */ public Optional>> platformCapabilities() { @@ -129,14 +129,14 @@ public Optional>> platformCapabilities() { } /** - * Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * */ @Import(name="propagateTags") private @Nullable Output propagateTags; /** - * @return Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * @return Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * */ public Optional> propagateTags() { @@ -144,14 +144,14 @@ public Optional> propagateTags() { } /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ @Import(name="retryStrategy") private @Nullable Output retryStrategy; /** - * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * @return Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ public Optional> retryStrategy() { @@ -159,14 +159,14 @@ public Optional> retryStrategy() { } /** - * The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * */ @Import(name="schedulingPriority") private @Nullable Output schedulingPriority; /** - * @return The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * @return Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * */ public Optional> schedulingPriority() { @@ -189,14 +189,14 @@ public Optional>> tags() { } /** - * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * */ @Import(name="timeout") private @Nullable Output timeout; /** - * @return Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * @return Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * */ public Optional> timeout() { @@ -204,7 +204,7 @@ public Optional> timeout() { } /** - * The type of job definition. Must be `container` or `multinode`. + * Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * @@ -213,7 +213,7 @@ public Optional> timeout() { private Output type; /** - * @return The type of job definition. Must be `container` or `multinode`. + * @return Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * @@ -259,7 +259,7 @@ public Builder(JobDefinitionArgs defaults) { } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -270,7 +270,7 @@ public Builder containerProperties(@Nullable Output containerProperties) } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -301,7 +301,7 @@ public Builder deregisterOnNewRevision(Boolean deregisterOnNewRevision) { } /** - * @param eksProperties A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * @param eksProperties Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -312,7 +312,7 @@ public Builder eksProperties(@Nullable Output ek } /** - * @param eksProperties A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * @param eksProperties Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -322,7 +322,7 @@ public Builder eksProperties(JobDefinitionEksPropertiesArgs eksProperties) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -333,7 +333,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -343,7 +343,7 @@ public Builder name(String name) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -354,7 +354,7 @@ public Builder nodeProperties(@Nullable Output nodeProperties) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -364,7 +364,7 @@ public Builder nodeProperties(String nodeProperties) { } /** - * @param parameters Specifies the parameter substitution placeholders to set in the job definition. + * @param parameters Parameter substitution placeholders to set in the job definition. * * @return builder * @@ -375,7 +375,7 @@ public Builder parameters(@Nullable Output> parameters) { } /** - * @param parameters Specifies the parameter substitution placeholders to set in the job definition. + * @param parameters Parameter substitution placeholders to set in the job definition. * * @return builder * @@ -385,7 +385,7 @@ public Builder parameters(Map parameters) { } /** - * @param platformCapabilities The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @param platformCapabilities Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * * @return builder * @@ -396,7 +396,7 @@ public Builder platformCapabilities(@Nullable Output> platformCapab } /** - * @param platformCapabilities The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @param platformCapabilities Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * * @return builder * @@ -406,7 +406,7 @@ public Builder platformCapabilities(List platformCapabilities) { } /** - * @param platformCapabilities The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @param platformCapabilities Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * * @return builder * @@ -416,7 +416,7 @@ public Builder platformCapabilities(String... platformCapabilities) { } /** - * @param propagateTags Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * @param propagateTags Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * * @return builder * @@ -427,7 +427,7 @@ public Builder propagateTags(@Nullable Output propagateTags) { } /** - * @param propagateTags Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * @param propagateTags Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * * @return builder * @@ -437,7 +437,7 @@ public Builder propagateTags(Boolean propagateTags) { } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * @@ -448,7 +448,7 @@ public Builder retryStrategy(@Nullable Output re } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * @@ -458,7 +458,7 @@ public Builder retryStrategy(JobDefinitionRetryStrategyArgs retryStrategy) { } /** - * @param schedulingPriority The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * @param schedulingPriority Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * * @return builder * @@ -469,7 +469,7 @@ public Builder schedulingPriority(@Nullable Output schedulingPriority) } /** - * @param schedulingPriority The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * @param schedulingPriority Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * * @return builder * @@ -500,7 +500,7 @@ public Builder tags(Map tags) { } /** - * @param timeout Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * @param timeout Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * * @return builder * @@ -511,7 +511,7 @@ public Builder timeout(@Nullable Output timeout) { } /** - * @param timeout Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * @param timeout Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * * @return builder * @@ -521,7 +521,7 @@ public Builder timeout(JobDefinitionTimeoutArgs timeout) { } /** - * @param type The type of job definition. Must be `container` or `multinode`. + * @param type Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * @@ -534,7 +534,7 @@ public Builder type(Output type) { } /** - * @param type The type of job definition. Must be `container` or `multinode`. + * @param type Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesArgs.java index 5a9cebc315e..e6b9ea2a469 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesArgs.java @@ -15,14 +15,14 @@ public final class JobDefinitionEksPropertiesArgs extends com.pulumi.resources.R public static final JobDefinitionEksPropertiesArgs Empty = new JobDefinitionEksPropertiesArgs(); /** - * The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + * Properties for the Kubernetes pod resources of a job. See `pod_properties` below. * */ @Import(name="podProperties", required=true) private Output podProperties; /** - * @return The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + * @return Properties for the Kubernetes pod resources of a job. See `pod_properties` below. * */ public Output podProperties() { @@ -54,7 +54,7 @@ public Builder(JobDefinitionEksPropertiesArgs defaults) { } /** - * @param podProperties The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + * @param podProperties Properties for the Kubernetes pod resources of a job. See `pod_properties` below. * * @return builder * @@ -65,7 +65,7 @@ public Builder podProperties(Output } /** - * @param podProperties The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + * @param podProperties Properties for the Kubernetes pod resources of a job. See `pod_properties` below. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesArgs.java index d53a71b7b9d..9a0f9d0523f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.batch.inputs; import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesContainersArgs; +import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs; import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs; import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesVolumeArgs; import com.pulumi.core.Output; @@ -22,14 +23,14 @@ public final class JobDefinitionEksPropertiesPodPropertiesArgs extends com.pulum public static final JobDefinitionEksPropertiesPodPropertiesArgs Empty = new JobDefinitionEksPropertiesPodPropertiesArgs(); /** - * The properties of the container that's used on the Amazon EKS pod. See containers below. + * Properties of the container that's used on the Amazon EKS pod. See containers below. * */ @Import(name="containers", required=true) private Output containers; /** - * @return The properties of the container that's used on the Amazon EKS pod. See containers below. + * @return Properties of the container that's used on the Amazon EKS pod. See containers below. * */ public Output containers() { @@ -37,14 +38,14 @@ public Output containers( } /** - * The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + * DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. * */ @Import(name="dnsPolicy") private @Nullable Output dnsPolicy; /** - * @return The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + * @return DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. * */ public Optional> dnsPolicy() { @@ -52,20 +53,35 @@ public Optional> dnsPolicy() { } /** - * Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. * */ @Import(name="hostNetwork") private @Nullable Output hostNetwork; /** - * @return Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * @return Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. * */ public Optional> hostNetwork() { return Optional.ofNullable(this.hostNetwork); } + /** + * List of Kubernetes secret resources. See `image_pull_secret` below. + * + */ + @Import(name="imagePullSecrets") + private @Nullable Output> imagePullSecrets; + + /** + * @return List of Kubernetes secret resources. See `image_pull_secret` below. + * + */ + public Optional>> imagePullSecrets() { + return Optional.ofNullable(this.imagePullSecrets); + } + /** * Metadata about the Kubernetes pod. * @@ -82,14 +98,14 @@ public Optional> met } /** - * The name of the service account that's used to run the pod. + * Name of the service account that's used to run the pod. * */ @Import(name="serviceAccountName") private @Nullable Output serviceAccountName; /** - * @return The name of the service account that's used to run the pod. + * @return Name of the service account that's used to run the pod. * */ public Optional> serviceAccountName() { @@ -97,14 +113,14 @@ public Optional> serviceAccountName() { } /** - * Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. * */ @Import(name="volumes") private @Nullable Output> volumes; /** - * @return Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * @return Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. * */ public Optional>> volumes() { @@ -117,6 +133,7 @@ private JobDefinitionEksPropertiesPodPropertiesArgs(JobDefinitionEksPropertiesPo this.containers = $.containers; this.dnsPolicy = $.dnsPolicy; this.hostNetwork = $.hostNetwork; + this.imagePullSecrets = $.imagePullSecrets; this.metadata = $.metadata; this.serviceAccountName = $.serviceAccountName; this.volumes = $.volumes; @@ -141,7 +158,7 @@ public Builder(JobDefinitionEksPropertiesPodPropertiesArgs defaults) { } /** - * @param containers The properties of the container that's used on the Amazon EKS pod. See containers below. + * @param containers Properties of the container that's used on the Amazon EKS pod. See containers below. * * @return builder * @@ -152,7 +169,7 @@ public Builder containers(Output dnsPolicy) { } /** - * @param dnsPolicy The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + * @param dnsPolicy DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. * * @return builder * @@ -183,7 +200,7 @@ public Builder dnsPolicy(String dnsPolicy) { } /** - * @param hostNetwork Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * @param hostNetwork Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. * * @return builder * @@ -194,7 +211,7 @@ public Builder hostNetwork(@Nullable Output hostNetwork) { } /** - * @param hostNetwork Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * @param hostNetwork Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. * * @return builder * @@ -203,6 +220,37 @@ public Builder hostNetwork(Boolean hostNetwork) { return hostNetwork(Output.of(hostNetwork)); } + /** + * @param imagePullSecrets List of Kubernetes secret resources. See `image_pull_secret` below. + * + * @return builder + * + */ + public Builder imagePullSecrets(@Nullable Output> imagePullSecrets) { + $.imagePullSecrets = imagePullSecrets; + return this; + } + + /** + * @param imagePullSecrets List of Kubernetes secret resources. See `image_pull_secret` below. + * + * @return builder + * + */ + public Builder imagePullSecrets(List imagePullSecrets) { + return imagePullSecrets(Output.of(imagePullSecrets)); + } + + /** + * @param imagePullSecrets List of Kubernetes secret resources. See `image_pull_secret` below. + * + * @return builder + * + */ + public Builder imagePullSecrets(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs... imagePullSecrets) { + return imagePullSecrets(List.of(imagePullSecrets)); + } + /** * @param metadata Metadata about the Kubernetes pod. * @@ -225,7 +273,7 @@ public Builder metadata(JobDefinitionEksPropertiesPodPropertiesMetadataArgs meta } /** - * @param serviceAccountName The name of the service account that's used to run the pod. + * @param serviceAccountName Name of the service account that's used to run the pod. * * @return builder * @@ -236,7 +284,7 @@ public Builder serviceAccountName(@Nullable Output serviceAccountName) { } /** - * @param serviceAccountName The name of the service account that's used to run the pod. + * @param serviceAccountName Name of the service account that's used to run the pod. * * @return builder * @@ -246,7 +294,7 @@ public Builder serviceAccountName(String serviceAccountName) { } /** - * @param volumes Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * @param volumes Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. * * @return builder * @@ -257,7 +305,7 @@ public Builder volumes(@Nullable Output v } /** - * @param volumes Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * @param volumes Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.java index 79c1dec52a7..f725827c5ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersArgs.java @@ -22,14 +22,14 @@ public final class JobDefinitionEksPropertiesPodPropertiesContainersArgs extends public static final JobDefinitionEksPropertiesPodPropertiesContainersArgs Empty = new JobDefinitionEksPropertiesPodPropertiesContainersArgs(); /** - * An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. * */ @Import(name="args") private @Nullable Output> args; /** - * @return An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * @return Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. * */ public Optional>> args() { @@ -37,14 +37,14 @@ public Optional>> args() { } /** - * The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. * */ @Import(name="commands") private @Nullable Output> commands; /** - * @return The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * @return Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. * */ public Optional>> commands() { @@ -52,14 +52,14 @@ public Optional>> commands() { } /** - * The environment variables to pass to a container. See EKS Environment below. + * Environment variables to pass to a container. See EKS Environment below. * */ @Import(name="envs") private @Nullable Output> envs; /** - * @return The environment variables to pass to a container. See EKS Environment below. + * @return Environment variables to pass to a container. See EKS Environment below. * */ public Optional>> envs() { @@ -67,14 +67,14 @@ public Optional image; /** - * @return The Docker image used to start the container. + * @return Docker image used to start the container. * */ public Output image() { @@ -82,14 +82,14 @@ public Output image() { } /** - * The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. * */ @Import(name="imagePullPolicy") private @Nullable Output imagePullPolicy; /** - * @return The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * @return Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. * */ public Optional> imagePullPolicy() { @@ -97,14 +97,14 @@ public Optional> imagePullPolicy() { } /** - * The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. * */ @Import(name="name") private @Nullable Output name; /** - * @return The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * @return Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. * */ public Optional> name() { @@ -112,14 +112,14 @@ public Optional> name() { } /** - * The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + * Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. * */ @Import(name="resources") private @Nullable Output resources; /** - * @return The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + * @return Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. * */ public Optional> resources() { @@ -127,14 +127,14 @@ public Optional securityContext; /** - * @return The security context for a job. + * @return Security context for a job. * */ public Optional> securityContext() { @@ -142,14 +142,14 @@ public Optional> volumeMounts; /** - * @return The volume mounts for the container. + * @return Volume mounts for the container. * */ public Optional>> volumeMounts() { @@ -189,7 +189,7 @@ public Builder(JobDefinitionEksPropertiesPodPropertiesContainersArgs defaults) { } /** - * @param args An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * @param args Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. * * @return builder * @@ -200,7 +200,7 @@ public Builder args(@Nullable Output> args) { } /** - * @param args An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * @param args Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. * * @return builder * @@ -210,7 +210,7 @@ public Builder args(List args) { } /** - * @param args An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * @param args Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. * * @return builder * @@ -220,7 +220,7 @@ public Builder args(String... args) { } /** - * @param commands The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * @param commands Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. * * @return builder * @@ -231,7 +231,7 @@ public Builder commands(@Nullable Output> commands) { } /** - * @param commands The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * @param commands Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. * * @return builder * @@ -241,7 +241,7 @@ public Builder commands(List commands) { } /** - * @param commands The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * @param commands Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. * * @return builder * @@ -251,7 +251,7 @@ public Builder commands(String... commands) { } /** - * @param envs The environment variables to pass to a container. See EKS Environment below. + * @param envs Environment variables to pass to a container. See EKS Environment below. * * @return builder * @@ -262,7 +262,7 @@ public Builder envs(@Nullable Output image) { } /** - * @param image The Docker image used to start the container. + * @param image Docker image used to start the container. * * @return builder * @@ -303,7 +303,7 @@ public Builder image(String image) { } /** - * @param imagePullPolicy The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * @param imagePullPolicy Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. * * @return builder * @@ -314,7 +314,7 @@ public Builder imagePullPolicy(@Nullable Output imagePullPolicy) { } /** - * @param imagePullPolicy The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * @param imagePullPolicy Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. * * @return builder * @@ -324,7 +324,7 @@ public Builder imagePullPolicy(String imagePullPolicy) { } /** - * @param name The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * @param name Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. * * @return builder * @@ -335,7 +335,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * @param name Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. * * @return builder * @@ -345,7 +345,7 @@ public Builder name(String name) { } /** - * @param resources The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + * @param resources Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. * * @return builder * @@ -356,7 +356,7 @@ public Builder resources(@Nullable Output name; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public Output name() { @@ -30,14 +30,14 @@ public Output name() { } /** - * The value of the environment variable. + * Value of the environment variable. * */ @Import(name="value", required=true) private Output value; /** - * @return The value of the environment variable. + * @return Value of the environment variable. * */ public Output value() { @@ -70,7 +70,7 @@ public Builder(JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs defaults } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -81,7 +81,7 @@ public Builder name(Output name) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -91,7 +91,7 @@ public Builder name(String name) { } /** - * @param value The value of the environment variable. + * @param value Value of the environment variable. * * @return builder * @@ -102,7 +102,7 @@ public Builder value(Output value) { } /** - * @param value The value of the environment variable. + * @param value Value of the environment variable. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.java index e1e0f371cce..3be837efa97 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.java @@ -25,14 +25,14 @@ public Output mountPath() { } /** - * Specifies the name of the job definition. + * Name of the job definition. * */ @Import(name="name", required=true) private Output name; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public Output name() { @@ -82,7 +82,7 @@ public Builder mountPath(String mountPath) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -93,7 +93,7 @@ public Builder name(Output name) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.java new file mode 100644 index 00000000000..17eb4dfc32f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.batch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs extends com.pulumi.resources.ResourceArgs { + + public static final JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs Empty = new JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs(); + + /** + * Unique identifier. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Unique identifier. + * + */ + public Output name() { + return this.name; + } + + private JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs() {} + + private JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs $) { + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs $; + + public Builder() { + $ = new JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs(); + } + + public Builder(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs defaults) { + $ = new JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Unique identifier. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Unique identifier. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.java index d7a26fd3499..37074d45f5d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeArgs.java @@ -33,14 +33,14 @@ public Optional name; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public Optional> name() { @@ -100,7 +100,7 @@ public Builder hostPath(JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArg } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -111,7 +111,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.java index e74a647b65c..f14b4a6a59b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.java @@ -17,14 +17,14 @@ public final class JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs ext public static final JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs Empty = new JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs(); /** - * The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * Medium to store the volume. The default value is an empty string, which uses the storage of the node. * */ @Import(name="medium") private @Nullable Output medium; /** - * @return The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * @return Medium to store the volume. The default value is an empty string, which uses the storage of the node. * */ public Optional> medium() { @@ -32,14 +32,14 @@ public Optional> medium() { } /** - * The maximum size of the volume. By default, there's no maximum size defined. + * Maximum size of the volume. By default, there's no maximum size defined. * */ @Import(name="sizeLimit", required=true) private Output sizeLimit; /** - * @return The maximum size of the volume. By default, there's no maximum size defined. + * @return Maximum size of the volume. By default, there's no maximum size defined. * */ public Output sizeLimit() { @@ -72,7 +72,7 @@ public Builder(JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs default } /** - * @param medium The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * @param medium Medium to store the volume. The default value is an empty string, which uses the storage of the node. * * @return builder * @@ -83,7 +83,7 @@ public Builder medium(@Nullable Output medium) { } /** - * @param medium The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * @param medium Medium to store the volume. The default value is an empty string, which uses the storage of the node. * * @return builder * @@ -93,7 +93,7 @@ public Builder medium(String medium) { } /** - * @param sizeLimit The maximum size of the volume. By default, there's no maximum size defined. + * @param sizeLimit Maximum size of the volume. By default, there's no maximum size defined. * * @return builder * @@ -104,7 +104,7 @@ public Builder sizeLimit(Output sizeLimit) { } /** - * @param sizeLimit The maximum size of the volume. By default, there's no maximum size defined. + * @param sizeLimit Maximum size of the volume. By default, there's no maximum size defined. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.java index aafff797612..c726c88d17a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.java @@ -15,14 +15,14 @@ public final class JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs ext public static final JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs Empty = new JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs(); /** - * The path of the file or directory on the host to mount into containers on the pod. + * Path of the file or directory on the host to mount into containers on the pod. * */ @Import(name="path", required=true) private Output path; /** - * @return The path of the file or directory on the host to mount into containers on the pod. + * @return Path of the file or directory on the host to mount into containers on the pod. * */ public Output path() { @@ -54,7 +54,7 @@ public Builder(JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs default } /** - * @param path The path of the file or directory on the host to mount into containers on the pod. + * @param path Path of the file or directory on the host to mount into containers on the pod. * * @return builder * @@ -65,7 +65,7 @@ public Builder path(Output path) { } /** - * @param path The path of the file or directory on the host to mount into containers on the pod. + * @param path Path of the file or directory on the host to mount into containers on the pod. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.java index 03d03577c1a..eb40ae1f4fb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.java @@ -18,14 +18,14 @@ public final class JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs exten public static final JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs Empty = new JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs(); /** - * Specifies whether the secret or the secret's keys must be defined. + * Whether the secret or the secret's keys must be defined. * */ @Import(name="optional") private @Nullable Output optional; /** - * @return Specifies whether the secret or the secret's keys must be defined. + * @return Whether the secret or the secret's keys must be defined. * */ public Optional> optional() { @@ -33,14 +33,14 @@ public Optional> optional() { } /** - * The name of the secret. The name must be allowed as a DNS subdomain name. + * Name of the secret. The name must be allowed as a DNS subdomain name. * */ @Import(name="secretName", required=true) private Output secretName; /** - * @return The name of the secret. The name must be allowed as a DNS subdomain name. + * @return Name of the secret. The name must be allowed as a DNS subdomain name. * */ public Output secretName() { @@ -73,7 +73,7 @@ public Builder(JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs defaults) } /** - * @param optional Specifies whether the secret or the secret's keys must be defined. + * @param optional Whether the secret or the secret's keys must be defined. * * @return builder * @@ -84,7 +84,7 @@ public Builder optional(@Nullable Output optional) { } /** - * @param optional Specifies whether the secret or the secret's keys must be defined. + * @param optional Whether the secret or the secret's keys must be defined. * * @return builder * @@ -94,7 +94,7 @@ public Builder optional(Boolean optional) { } /** - * @param secretName The name of the secret. The name must be allowed as a DNS subdomain name. + * @param secretName Name of the secret. The name must be allowed as a DNS subdomain name. * * @return builder * @@ -105,7 +105,7 @@ public Builder secretName(Output secretName) { } /** - * @param secretName The name of the secret. The name must be allowed as a DNS subdomain name. + * @param secretName Name of the secret. The name must be allowed as a DNS subdomain name. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyArgs.java index 55011d6757e..5b569770093 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyArgs.java @@ -18,14 +18,14 @@ public final class JobDefinitionRetryStrategyArgs extends com.pulumi.resources.R public static final JobDefinitionRetryStrategyArgs Empty = new JobDefinitionRetryStrategyArgs(); /** - * The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. * */ @Import(name="attempts") private @Nullable Output attempts; /** - * @return The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * @return Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. * */ public Optional> attempts() { @@ -33,14 +33,14 @@ public Optional> attempts() { } /** - * The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + * Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. * */ @Import(name="evaluateOnExits") private @Nullable Output> evaluateOnExits; /** - * @return The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + * @return Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. * */ public Optional>> evaluateOnExits() { @@ -73,7 +73,7 @@ public Builder(JobDefinitionRetryStrategyArgs defaults) { } /** - * @param attempts The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * @param attempts Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. * * @return builder * @@ -84,7 +84,7 @@ public Builder attempts(@Nullable Output attempts) { } /** - * @param attempts The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * @param attempts Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. * * @return builder * @@ -94,7 +94,7 @@ public Builder attempts(Integer attempts) { } /** - * @param evaluateOnExits The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + * @param evaluateOnExits Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. * * @return builder * @@ -105,7 +105,7 @@ public Builder evaluateOnExits(@Nullable Output action; /** - * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + * @return Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * */ public Output action() { @@ -32,14 +32,14 @@ public Output action() { } /** - * A glob pattern to match against the decimal representation of the exit code returned for a job. + * Glob pattern to match against the decimal representation of the exit code returned for a job. * */ @Import(name="onExitCode") private @Nullable Output onExitCode; /** - * @return A glob pattern to match against the decimal representation of the exit code returned for a job. + * @return Glob pattern to match against the decimal representation of the exit code returned for a job. * */ public Optional> onExitCode() { @@ -47,14 +47,14 @@ public Optional> onExitCode() { } /** - * A glob pattern to match against the reason returned for a job. + * Glob pattern to match against the reason returned for a job. * */ @Import(name="onReason") private @Nullable Output onReason; /** - * @return A glob pattern to match against the reason returned for a job. + * @return Glob pattern to match against the reason returned for a job. * */ public Optional> onReason() { @@ -62,14 +62,14 @@ public Optional> onReason() { } /** - * A glob pattern to match against the status reason returned for a job. + * Glob pattern to match against the status reason returned for a job. * */ @Import(name="onStatusReason") private @Nullable Output onStatusReason; /** - * @return A glob pattern to match against the status reason returned for a job. + * @return Glob pattern to match against the status reason returned for a job. * */ public Optional> onStatusReason() { @@ -104,7 +104,7 @@ public Builder(JobDefinitionRetryStrategyEvaluateOnExitArgs defaults) { } /** - * @param action Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + * @param action Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * * @return builder * @@ -115,7 +115,7 @@ public Builder action(Output action) { } /** - * @param action Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + * @param action Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * * @return builder * @@ -125,7 +125,7 @@ public Builder action(String action) { } /** - * @param onExitCode A glob pattern to match against the decimal representation of the exit code returned for a job. + * @param onExitCode Glob pattern to match against the decimal representation of the exit code returned for a job. * * @return builder * @@ -136,7 +136,7 @@ public Builder onExitCode(@Nullable Output onExitCode) { } /** - * @param onExitCode A glob pattern to match against the decimal representation of the exit code returned for a job. + * @param onExitCode Glob pattern to match against the decimal representation of the exit code returned for a job. * * @return builder * @@ -146,7 +146,7 @@ public Builder onExitCode(String onExitCode) { } /** - * @param onReason A glob pattern to match against the reason returned for a job. + * @param onReason Glob pattern to match against the reason returned for a job. * * @return builder * @@ -157,7 +157,7 @@ public Builder onReason(@Nullable Output onReason) { } /** - * @param onReason A glob pattern to match against the reason returned for a job. + * @param onReason Glob pattern to match against the reason returned for a job. * * @return builder * @@ -167,7 +167,7 @@ public Builder onReason(String onReason) { } /** - * @param onStatusReason A glob pattern to match against the status reason returned for a job. + * @param onStatusReason Glob pattern to match against the status reason returned for a job. * * @return builder * @@ -178,7 +178,7 @@ public Builder onStatusReason(@Nullable Output onStatusReason) { } /** - * @param onStatusReason A glob pattern to match against the status reason returned for a job. + * @param onStatusReason Glob pattern to match against the status reason returned for a job. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java index e416c221f53..5d92cd30340 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java @@ -23,14 +23,14 @@ public final class JobDefinitionState extends com.pulumi.resources.ResourceArgs public static final JobDefinitionState Empty = new JobDefinitionState(); /** - * The Amazon Resource Name of the job definition, includes revision (`:#`). + * ARN of the job definition, includes revision (`:#`). * */ @Import(name="arn") private @Nullable Output arn; /** - * @return The Amazon Resource Name of the job definition, includes revision (`:#`). + * @return ARN of the job definition, includes revision (`:#`). * */ public Optional> arn() { @@ -38,14 +38,14 @@ public Optional> arn() { } /** - * The ARN without the revision number. + * ARN without the revision number. * */ @Import(name="arnPrefix") private @Nullable Output arnPrefix; /** - * @return The ARN without the revision number. + * @return ARN without the revision number. * */ public Optional> arnPrefix() { @@ -53,14 +53,14 @@ public Optional> arnPrefix() { } /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ @Import(name="containerProperties") private @Nullable Output containerProperties; /** - * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @return Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ public Optional> containerProperties() { @@ -83,14 +83,14 @@ public Optional> deregisterOnNewRevision() { } /** - * A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * */ @Import(name="eksProperties") private @Nullable Output eksProperties; /** - * @return A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * @return Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * */ public Optional> eksProperties() { @@ -98,14 +98,14 @@ public Optional> eksProperties() { } /** - * Specifies the name of the job definition. + * Name of the job definition. * */ @Import(name="name") private @Nullable Output name; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public Optional> name() { @@ -113,14 +113,14 @@ public Optional> name() { } /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ @Import(name="nodeProperties") private @Nullable Output nodeProperties; /** - * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @return Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ public Optional> nodeProperties() { @@ -128,14 +128,14 @@ public Optional> nodeProperties() { } /** - * Specifies the parameter substitution placeholders to set in the job definition. + * Parameter substitution placeholders to set in the job definition. * */ @Import(name="parameters") private @Nullable Output> parameters; /** - * @return Specifies the parameter substitution placeholders to set in the job definition. + * @return Parameter substitution placeholders to set in the job definition. * */ public Optional>> parameters() { @@ -143,14 +143,14 @@ public Optional>> parameters() { } /** - * The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * */ @Import(name="platformCapabilities") private @Nullable Output> platformCapabilities; /** - * @return The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @return Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * */ public Optional>> platformCapabilities() { @@ -158,14 +158,14 @@ public Optional>> platformCapabilities() { } /** - * Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * */ @Import(name="propagateTags") private @Nullable Output propagateTags; /** - * @return Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * @return Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * */ public Optional> propagateTags() { @@ -173,14 +173,14 @@ public Optional> propagateTags() { } /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ @Import(name="retryStrategy") private @Nullable Output retryStrategy; /** - * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * @return Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ public Optional> retryStrategy() { @@ -188,14 +188,14 @@ public Optional> retryStrategy() { } /** - * The revision of the job definition. + * Revision of the job definition. * */ @Import(name="revision") private @Nullable Output revision; /** - * @return The revision of the job definition. + * @return Revision of the job definition. * */ public Optional> revision() { @@ -203,14 +203,14 @@ public Optional> revision() { } /** - * The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * */ @Import(name="schedulingPriority") private @Nullable Output schedulingPriority; /** - * @return The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * @return Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * */ public Optional> schedulingPriority() { @@ -233,7 +233,7 @@ public Optional>> tags() { } /** - * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @deprecated * Please use `tags` instead. @@ -244,7 +244,7 @@ public Optional>> tags() { private @Nullable Output> tagsAll; /** - * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @deprecated * Please use `tags` instead. @@ -256,14 +256,14 @@ public Optional>> tagsAll() { } /** - * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * */ @Import(name="timeout") private @Nullable Output timeout; /** - * @return Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * @return Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * */ public Optional> timeout() { @@ -271,7 +271,7 @@ public Optional> timeout() { } /** - * The type of job definition. Must be `container` or `multinode`. + * Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * @@ -280,7 +280,7 @@ public Optional> timeout() { private @Nullable Output type; /** - * @return The type of job definition. Must be `container` or `multinode`. + * @return Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * @@ -330,7 +330,7 @@ public Builder(JobDefinitionState defaults) { } /** - * @param arn The Amazon Resource Name of the job definition, includes revision (`:#`). + * @param arn ARN of the job definition, includes revision (`:#`). * * @return builder * @@ -341,7 +341,7 @@ public Builder arn(@Nullable Output arn) { } /** - * @param arn The Amazon Resource Name of the job definition, includes revision (`:#`). + * @param arn ARN of the job definition, includes revision (`:#`). * * @return builder * @@ -351,7 +351,7 @@ public Builder arn(String arn) { } /** - * @param arnPrefix The ARN without the revision number. + * @param arnPrefix ARN without the revision number. * * @return builder * @@ -362,7 +362,7 @@ public Builder arnPrefix(@Nullable Output arnPrefix) { } /** - * @param arnPrefix The ARN without the revision number. + * @param arnPrefix ARN without the revision number. * * @return builder * @@ -372,7 +372,7 @@ public Builder arnPrefix(String arnPrefix) { } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -383,7 +383,7 @@ public Builder containerProperties(@Nullable Output containerProperties) } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -414,7 +414,7 @@ public Builder deregisterOnNewRevision(Boolean deregisterOnNewRevision) { } /** - * @param eksProperties A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * @param eksProperties Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -425,7 +425,7 @@ public Builder eksProperties(@Nullable Output ek } /** - * @param eksProperties A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * @param eksProperties Valid eks properties. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -435,7 +435,7 @@ public Builder eksProperties(JobDefinitionEksPropertiesArgs eksProperties) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -446,7 +446,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Specifies the name of the job definition. + * @param name Name of the job definition. * * @return builder * @@ -456,7 +456,7 @@ public Builder name(String name) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -467,7 +467,7 @@ public Builder nodeProperties(@Nullable Output nodeProperties) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -477,7 +477,7 @@ public Builder nodeProperties(String nodeProperties) { } /** - * @param parameters Specifies the parameter substitution placeholders to set in the job definition. + * @param parameters Parameter substitution placeholders to set in the job definition. * * @return builder * @@ -488,7 +488,7 @@ public Builder parameters(@Nullable Output> parameters) { } /** - * @param parameters Specifies the parameter substitution placeholders to set in the job definition. + * @param parameters Parameter substitution placeholders to set in the job definition. * * @return builder * @@ -498,7 +498,7 @@ public Builder parameters(Map parameters) { } /** - * @param platformCapabilities The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @param platformCapabilities Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * * @return builder * @@ -509,7 +509,7 @@ public Builder platformCapabilities(@Nullable Output> platformCapab } /** - * @param platformCapabilities The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @param platformCapabilities Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * * @return builder * @@ -519,7 +519,7 @@ public Builder platformCapabilities(List platformCapabilities) { } /** - * @param platformCapabilities The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * @param platformCapabilities Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. * * @return builder * @@ -529,7 +529,7 @@ public Builder platformCapabilities(String... platformCapabilities) { } /** - * @param propagateTags Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * @param propagateTags Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * * @return builder * @@ -540,7 +540,7 @@ public Builder propagateTags(@Nullable Output propagateTags) { } /** - * @param propagateTags Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * @param propagateTags Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. * * @return builder * @@ -550,7 +550,7 @@ public Builder propagateTags(Boolean propagateTags) { } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * @@ -561,7 +561,7 @@ public Builder retryStrategy(@Nullable Output re } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * @@ -571,7 +571,7 @@ public Builder retryStrategy(JobDefinitionRetryStrategyArgs retryStrategy) { } /** - * @param revision The revision of the job definition. + * @param revision Revision of the job definition. * * @return builder * @@ -582,7 +582,7 @@ public Builder revision(@Nullable Output revision) { } /** - * @param revision The revision of the job definition. + * @param revision Revision of the job definition. * * @return builder * @@ -592,7 +592,7 @@ public Builder revision(Integer revision) { } /** - * @param schedulingPriority The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * @param schedulingPriority Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * * @return builder * @@ -603,7 +603,7 @@ public Builder schedulingPriority(@Nullable Output schedulingPriority) } /** - * @param schedulingPriority The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * @param schedulingPriority Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. * * @return builder * @@ -634,7 +634,7 @@ public Builder tags(Map tags) { } /** - * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @return builder * @@ -649,7 +649,7 @@ public Builder tagsAll(@Nullable Output> tagsAll) { } /** - * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @return builder * @@ -663,7 +663,7 @@ public Builder tagsAll(Map tagsAll) { } /** - * @param timeout Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * @param timeout Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * * @return builder * @@ -674,7 +674,7 @@ public Builder timeout(@Nullable Output timeout) { } /** - * @param timeout Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * @param timeout Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. * * @return builder * @@ -684,7 +684,7 @@ public Builder timeout(JobDefinitionTimeoutArgs timeout) { } /** - * @param type The type of job definition. Must be `container` or `multinode`. + * @param type Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * @@ -697,7 +697,7 @@ public Builder type(@Nullable Output type) { } /** - * @param type The type of job definition. Must be `container` or `multinode`. + * @param type Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionTimeoutArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionTimeoutArgs.java index 87ec3334f06..899c522768c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionTimeoutArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionTimeoutArgs.java @@ -16,14 +16,14 @@ public final class JobDefinitionTimeoutArgs extends com.pulumi.resources.Resourc public static final JobDefinitionTimeoutArgs Empty = new JobDefinitionTimeoutArgs(); /** - * The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. * */ @Import(name="attemptDurationSeconds") private @Nullable Output attemptDurationSeconds; /** - * @return The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * @return Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. * */ public Optional> attemptDurationSeconds() { @@ -55,7 +55,7 @@ public Builder(JobDefinitionTimeoutArgs defaults) { } /** - * @param attemptDurationSeconds The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * @param attemptDurationSeconds Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. * * @return builder * @@ -66,7 +66,7 @@ public Builder attemptDurationSeconds(@Nullable Output attemptDurationS } /** - * @param attemptDurationSeconds The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * @param attemptDurationSeconds Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksProperties.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksProperties.java index d595b13a6ca..3bf12da4ee8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksProperties.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksProperties.java @@ -11,14 +11,14 @@ @CustomType public final class JobDefinitionEksProperties { /** - * @return The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + * @return Properties for the Kubernetes pod resources of a job. See `pod_properties` below. * */ private JobDefinitionEksPropertiesPodProperties podProperties; private JobDefinitionEksProperties() {} /** - * @return The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + * @return Properties for the Kubernetes pod resources of a job. See `pod_properties` below. * */ public JobDefinitionEksPropertiesPodProperties podProperties() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodProperties.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodProperties.java index 50025f82a56..c0f09fe5899 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodProperties.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodProperties.java @@ -4,6 +4,7 @@ package com.pulumi.aws.batch.outputs; import com.pulumi.aws.batch.outputs.JobDefinitionEksPropertiesPodPropertiesContainers; +import com.pulumi.aws.batch.outputs.JobDefinitionEksPropertiesPodPropertiesImagePullSecret; import com.pulumi.aws.batch.outputs.JobDefinitionEksPropertiesPodPropertiesMetadata; import com.pulumi.aws.batch.outputs.JobDefinitionEksPropertiesPodPropertiesVolume; import com.pulumi.core.annotations.CustomType; @@ -18,58 +19,70 @@ @CustomType public final class JobDefinitionEksPropertiesPodProperties { /** - * @return The properties of the container that's used on the Amazon EKS pod. See containers below. + * @return Properties of the container that's used on the Amazon EKS pod. See containers below. * */ private JobDefinitionEksPropertiesPodPropertiesContainers containers; /** - * @return The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + * @return DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. * */ private @Nullable String dnsPolicy; /** - * @return Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * @return Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. * */ private @Nullable Boolean hostNetwork; + /** + * @return List of Kubernetes secret resources. See `image_pull_secret` below. + * + */ + private @Nullable List imagePullSecrets; /** * @return Metadata about the Kubernetes pod. * */ private @Nullable JobDefinitionEksPropertiesPodPropertiesMetadata metadata; /** - * @return The name of the service account that's used to run the pod. + * @return Name of the service account that's used to run the pod. * */ private @Nullable String serviceAccountName; /** - * @return Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * @return Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. * */ private @Nullable List volumes; private JobDefinitionEksPropertiesPodProperties() {} /** - * @return The properties of the container that's used on the Amazon EKS pod. See containers below. + * @return Properties of the container that's used on the Amazon EKS pod. See containers below. * */ public JobDefinitionEksPropertiesPodPropertiesContainers containers() { return this.containers; } /** - * @return The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + * @return DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. * */ public Optional dnsPolicy() { return Optional.ofNullable(this.dnsPolicy); } /** - * @return Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * @return Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. * */ public Optional hostNetwork() { return Optional.ofNullable(this.hostNetwork); } + /** + * @return List of Kubernetes secret resources. See `image_pull_secret` below. + * + */ + public List imagePullSecrets() { + return this.imagePullSecrets == null ? List.of() : this.imagePullSecrets; + } /** * @return Metadata about the Kubernetes pod. * @@ -78,14 +91,14 @@ public Optional metadata() { return Optional.ofNullable(this.metadata); } /** - * @return The name of the service account that's used to run the pod. + * @return Name of the service account that's used to run the pod. * */ public Optional serviceAccountName() { return Optional.ofNullable(this.serviceAccountName); } /** - * @return Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * @return Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. * */ public List volumes() { @@ -104,6 +117,7 @@ public static final class Builder { private JobDefinitionEksPropertiesPodPropertiesContainers containers; private @Nullable String dnsPolicy; private @Nullable Boolean hostNetwork; + private @Nullable List imagePullSecrets; private @Nullable JobDefinitionEksPropertiesPodPropertiesMetadata metadata; private @Nullable String serviceAccountName; private @Nullable List volumes; @@ -113,6 +127,7 @@ public Builder(JobDefinitionEksPropertiesPodProperties defaults) { this.containers = defaults.containers; this.dnsPolicy = defaults.dnsPolicy; this.hostNetwork = defaults.hostNetwork; + this.imagePullSecrets = defaults.imagePullSecrets; this.metadata = defaults.metadata; this.serviceAccountName = defaults.serviceAccountName; this.volumes = defaults.volumes; @@ -139,6 +154,15 @@ public Builder hostNetwork(@Nullable Boolean hostNetwork) { return this; } @CustomType.Setter + public Builder imagePullSecrets(@Nullable List imagePullSecrets) { + + this.imagePullSecrets = imagePullSecrets; + return this; + } + public Builder imagePullSecrets(JobDefinitionEksPropertiesPodPropertiesImagePullSecret... imagePullSecrets) { + return imagePullSecrets(List.of(imagePullSecrets)); + } + @CustomType.Setter public Builder metadata(@Nullable JobDefinitionEksPropertiesPodPropertiesMetadata metadata) { this.metadata = metadata; @@ -164,6 +188,7 @@ public JobDefinitionEksPropertiesPodProperties build() { _resultValue.containers = containers; _resultValue.dnsPolicy = dnsPolicy; _resultValue.hostNetwork = hostNetwork; + _resultValue.imagePullSecrets = imagePullSecrets; _resultValue.metadata = metadata; _resultValue.serviceAccountName = serviceAccountName; _resultValue.volumes = volumes; diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainers.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainers.java index 59fac2f7d0a..9a725420d8d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainers.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainers.java @@ -18,110 +18,110 @@ @CustomType public final class JobDefinitionEksPropertiesPodPropertiesContainers { /** - * @return An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * @return Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. * */ private @Nullable List args; /** - * @return The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * @return Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. * */ private @Nullable List commands; /** - * @return The environment variables to pass to a container. See EKS Environment below. + * @return Environment variables to pass to a container. See EKS Environment below. * */ private @Nullable List envs; /** - * @return The Docker image used to start the container. + * @return Docker image used to start the container. * */ private String image; /** - * @return The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * @return Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. * */ private @Nullable String imagePullPolicy; /** - * @return The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * @return Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. * */ private @Nullable String name; /** - * @return The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + * @return Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. * */ private @Nullable JobDefinitionEksPropertiesPodPropertiesContainersResources resources; /** - * @return The security context for a job. + * @return Security context for a job. * */ private @Nullable JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext securityContext; /** - * @return The volume mounts for the container. + * @return Volume mounts for the container. * */ private @Nullable List volumeMounts; private JobDefinitionEksPropertiesPodPropertiesContainers() {} /** - * @return An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * @return Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. * */ public List args() { return this.args == null ? List.of() : this.args; } /** - * @return The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * @return Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. * */ public List commands() { return this.commands == null ? List.of() : this.commands; } /** - * @return The environment variables to pass to a container. See EKS Environment below. + * @return Environment variables to pass to a container. See EKS Environment below. * */ public List envs() { return this.envs == null ? List.of() : this.envs; } /** - * @return The Docker image used to start the container. + * @return Docker image used to start the container. * */ public String image() { return this.image; } /** - * @return The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * @return Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. * */ public Optional imagePullPolicy() { return Optional.ofNullable(this.imagePullPolicy); } /** - * @return The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * @return Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. * */ public Optional name() { return Optional.ofNullable(this.name); } /** - * @return The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + * @return Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. * */ public Optional resources() { return Optional.ofNullable(this.resources); } /** - * @return The security context for a job. + * @return Security context for a job. * */ public Optional securityContext() { return Optional.ofNullable(this.securityContext); } /** - * @return The volume mounts for the container. + * @return Volume mounts for the container. * */ public List volumeMounts() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.java index 2528fd74054..cb252314d17 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersEnv.java @@ -11,26 +11,26 @@ @CustomType public final class JobDefinitionEksPropertiesPodPropertiesContainersEnv { /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ private String name; /** - * @return The value of the environment variable. + * @return Value of the environment variable. * */ private String value; private JobDefinitionEksPropertiesPodPropertiesContainersEnv() {} /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public String name() { return this.name; } /** - * @return The value of the environment variable. + * @return Value of the environment variable. * */ public String value() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.java index e7c84de1fce..fdcfb0041e2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount.java @@ -15,7 +15,7 @@ public final class JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount { private String mountPath; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ private String name; @@ -26,7 +26,7 @@ public String mountPath() { return this.mountPath; } /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public String name() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.java new file mode 100644 index 00000000000..fbb4628794e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesImagePullSecret.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.batch.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class JobDefinitionEksPropertiesPodPropertiesImagePullSecret { + /** + * @return Unique identifier. + * + */ + private String name; + + private JobDefinitionEksPropertiesPodPropertiesImagePullSecret() {} + /** + * @return Unique identifier. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(JobDefinitionEksPropertiesPodPropertiesImagePullSecret defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + public Builder() {} + public Builder(JobDefinitionEksPropertiesPodPropertiesImagePullSecret defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("JobDefinitionEksPropertiesPodPropertiesImagePullSecret", "name"); + } + this.name = name; + return this; + } + public JobDefinitionEksPropertiesPodPropertiesImagePullSecret build() { + final var _resultValue = new JobDefinitionEksPropertiesPodPropertiesImagePullSecret(); + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolume.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolume.java index 112f229299f..ec6e3e5418d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolume.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolume.java @@ -17,7 +17,7 @@ public final class JobDefinitionEksPropertiesPodPropertiesVolume { private @Nullable JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir emptyDir; private @Nullable JobDefinitionEksPropertiesPodPropertiesVolumeHostPath hostPath; /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ private @Nullable String name; @@ -31,7 +31,7 @@ public Optional hostPath( return Optional.ofNullable(this.hostPath); } /** - * @return Specifies the name of the job definition. + * @return Name of the job definition. * */ public Optional name() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.java index 3357e4223c1..4769fc0bad5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir.java @@ -13,26 +13,26 @@ @CustomType public final class JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir { /** - * @return The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * @return Medium to store the volume. The default value is an empty string, which uses the storage of the node. * */ private @Nullable String medium; /** - * @return The maximum size of the volume. By default, there's no maximum size defined. + * @return Maximum size of the volume. By default, there's no maximum size defined. * */ private String sizeLimit; private JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir() {} /** - * @return The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * @return Medium to store the volume. The default value is an empty string, which uses the storage of the node. * */ public Optional medium() { return Optional.ofNullable(this.medium); } /** - * @return The maximum size of the volume. By default, there's no maximum size defined. + * @return Maximum size of the volume. By default, there's no maximum size defined. * */ public String sizeLimit() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.java index ca501b8034d..c931bf3eef3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeHostPath.java @@ -11,14 +11,14 @@ @CustomType public final class JobDefinitionEksPropertiesPodPropertiesVolumeHostPath { /** - * @return The path of the file or directory on the host to mount into containers on the pod. + * @return Path of the file or directory on the host to mount into containers on the pod. * */ private String path; private JobDefinitionEksPropertiesPodPropertiesVolumeHostPath() {} /** - * @return The path of the file or directory on the host to mount into containers on the pod. + * @return Path of the file or directory on the host to mount into containers on the pod. * */ public String path() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.java index fd36d40557d..ba9284b40fb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionEksPropertiesPodPropertiesVolumeSecret.java @@ -14,26 +14,26 @@ @CustomType public final class JobDefinitionEksPropertiesPodPropertiesVolumeSecret { /** - * @return Specifies whether the secret or the secret's keys must be defined. + * @return Whether the secret or the secret's keys must be defined. * */ private @Nullable Boolean optional; /** - * @return The name of the secret. The name must be allowed as a DNS subdomain name. + * @return Name of the secret. The name must be allowed as a DNS subdomain name. * */ private String secretName; private JobDefinitionEksPropertiesPodPropertiesVolumeSecret() {} /** - * @return Specifies whether the secret or the secret's keys must be defined. + * @return Whether the secret or the secret's keys must be defined. * */ public Optional optional() { return Optional.ofNullable(this.optional); } /** - * @return The name of the secret. The name must be allowed as a DNS subdomain name. + * @return Name of the secret. The name must be allowed as a DNS subdomain name. * */ public String secretName() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategy.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategy.java index f5ae17ec35d..51f5604ae23 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategy.java @@ -14,26 +14,26 @@ @CustomType public final class JobDefinitionRetryStrategy { /** - * @return The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * @return Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. * */ private @Nullable Integer attempts; /** - * @return The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + * @return Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. * */ private @Nullable List evaluateOnExits; private JobDefinitionRetryStrategy() {} /** - * @return The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * @return Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. * */ public Optional attempts() { return Optional.ofNullable(this.attempts); } /** - * @return The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + * @return Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. * */ public List evaluateOnExits() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java index 76687280d6e..2657ce37063 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java @@ -13,50 +13,50 @@ @CustomType public final class JobDefinitionRetryStrategyEvaluateOnExit { /** - * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + * @return Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * */ private String action; /** - * @return A glob pattern to match against the decimal representation of the exit code returned for a job. + * @return Glob pattern to match against the decimal representation of the exit code returned for a job. * */ private @Nullable String onExitCode; /** - * @return A glob pattern to match against the reason returned for a job. + * @return Glob pattern to match against the reason returned for a job. * */ private @Nullable String onReason; /** - * @return A glob pattern to match against the status reason returned for a job. + * @return Glob pattern to match against the status reason returned for a job. * */ private @Nullable String onStatusReason; private JobDefinitionRetryStrategyEvaluateOnExit() {} /** - * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + * @return Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * */ public String action() { return this.action; } /** - * @return A glob pattern to match against the decimal representation of the exit code returned for a job. + * @return Glob pattern to match against the decimal representation of the exit code returned for a job. * */ public Optional onExitCode() { return Optional.ofNullable(this.onExitCode); } /** - * @return A glob pattern to match against the reason returned for a job. + * @return Glob pattern to match against the reason returned for a job. * */ public Optional onReason() { return Optional.ofNullable(this.onReason); } /** - * @return A glob pattern to match against the status reason returned for a job. + * @return Glob pattern to match against the status reason returned for a job. * */ public Optional onStatusReason() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionTimeout.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionTimeout.java index a567e27829d..e7a3b73b707 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionTimeout.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionTimeout.java @@ -12,14 +12,14 @@ @CustomType public final class JobDefinitionTimeout { /** - * @return The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * @return Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. * */ private @Nullable Integer attemptDurationSeconds; private JobDefinitionTimeout() {} /** - * @return The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * @return Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. * */ public Optional attemptDurationSeconds() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/inputs/StackSetInstanceOperationPreferencesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/inputs/StackSetInstanceOperationPreferencesArgs.java index 3e7369051dd..39af3fbb6e3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/inputs/StackSetInstanceOperationPreferencesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/inputs/StackSetInstanceOperationPreferencesArgs.java @@ -17,6 +17,21 @@ public final class StackSetInstanceOperationPreferencesArgs extends com.pulumi.r public static final StackSetInstanceOperationPreferencesArgs Empty = new StackSetInstanceOperationPreferencesArgs(); + /** + * Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + * + */ + @Import(name="concurrencyMode") + private @Nullable Output concurrencyMode; + + /** + * @return Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + * + */ + public Optional> concurrencyMode() { + return Optional.ofNullable(this.concurrencyMode); + } + /** * Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. * @@ -110,6 +125,7 @@ public Optional>> regionOrders() { private StackSetInstanceOperationPreferencesArgs() {} private StackSetInstanceOperationPreferencesArgs(StackSetInstanceOperationPreferencesArgs $) { + this.concurrencyMode = $.concurrencyMode; this.failureToleranceCount = $.failureToleranceCount; this.failureTolerancePercentage = $.failureTolerancePercentage; this.maxConcurrentCount = $.maxConcurrentCount; @@ -136,6 +152,27 @@ public Builder(StackSetInstanceOperationPreferencesArgs defaults) { $ = new StackSetInstanceOperationPreferencesArgs(Objects.requireNonNull(defaults)); } + /** + * @param concurrencyMode Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + * + * @return builder + * + */ + public Builder concurrencyMode(@Nullable Output concurrencyMode) { + $.concurrencyMode = concurrencyMode; + return this; + } + + /** + * @param concurrencyMode Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + * + * @return builder + * + */ + public Builder concurrencyMode(String concurrencyMode) { + return concurrencyMode(Output.of(concurrencyMode)); + } + /** * @param failureToleranceCount Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/outputs/StackSetInstanceOperationPreferences.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/outputs/StackSetInstanceOperationPreferences.java index f3005cac7ff..88cd897e8d9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/outputs/StackSetInstanceOperationPreferences.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/outputs/StackSetInstanceOperationPreferences.java @@ -13,6 +13,11 @@ @CustomType public final class StackSetInstanceOperationPreferences { + /** + * @return Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + * + */ + private @Nullable String concurrencyMode; /** * @return Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. * @@ -45,6 +50,13 @@ public final class StackSetInstanceOperationPreferences { private @Nullable List regionOrders; private StackSetInstanceOperationPreferences() {} + /** + * @return Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + * + */ + public Optional concurrencyMode() { + return Optional.ofNullable(this.concurrencyMode); + } /** * @return Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. * @@ -97,6 +109,7 @@ public static Builder builder(StackSetInstanceOperationPreferences defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable String concurrencyMode; private @Nullable Integer failureToleranceCount; private @Nullable Integer failureTolerancePercentage; private @Nullable Integer maxConcurrentCount; @@ -106,6 +119,7 @@ public static final class Builder { public Builder() {} public Builder(StackSetInstanceOperationPreferences defaults) { Objects.requireNonNull(defaults); + this.concurrencyMode = defaults.concurrencyMode; this.failureToleranceCount = defaults.failureToleranceCount; this.failureTolerancePercentage = defaults.failureTolerancePercentage; this.maxConcurrentCount = defaults.maxConcurrentCount; @@ -114,6 +128,12 @@ public Builder(StackSetInstanceOperationPreferences defaults) { this.regionOrders = defaults.regionOrders; } + @CustomType.Setter + public Builder concurrencyMode(@Nullable String concurrencyMode) { + + this.concurrencyMode = concurrencyMode; + return this; + } @CustomType.Setter public Builder failureToleranceCount(@Nullable Integer failureToleranceCount) { @@ -155,6 +175,7 @@ public Builder regionOrders(String... regionOrders) { } public StackSetInstanceOperationPreferences build() { final var _resultValue = new StackSetInstanceOperationPreferences(); + _resultValue.concurrencyMode = concurrencyMode; _resultValue.failureToleranceCount = failureToleranceCount; _resultValue.failureTolerancePercentage = failureTolerancePercentage; _resultValue.maxConcurrentCount = maxConcurrentCount; 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 2fdf29c2332..cb8baad2394 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 @@ -134,6 +134,20 @@ public Output arn() { public Output> eventSourceName() { return Codegen.optional(this.eventSourceName); } + /** + * The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + */ + @Export(name="kmsKeyIdentifier", refs={String.class}, tree="[0]") + private Output kmsKeyIdentifier; + + /** + * @return The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + */ + public Output> kmsKeyIdentifier() { + return Codegen.optional(this.kmsKeyIdentifier); + } /** * The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusArgs.java index a8630dfa69a..6a0443fd1a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/EventBusArgs.java @@ -31,6 +31,21 @@ public Optional> eventSourceName() { return Optional.ofNullable(this.eventSourceName); } + /** + * The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + */ + @Import(name="kmsKeyIdentifier") + private @Nullable Output kmsKeyIdentifier; + + /** + * @return The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + */ + public Optional> kmsKeyIdentifier() { + return Optional.ofNullable(this.kmsKeyIdentifier); + } + /** * The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. * @@ -65,6 +80,7 @@ private EventBusArgs() {} private EventBusArgs(EventBusArgs $) { this.eventSourceName = $.eventSourceName; + this.kmsKeyIdentifier = $.kmsKeyIdentifier; this.name = $.name; this.tags = $.tags; } @@ -108,6 +124,27 @@ public Builder eventSourceName(String eventSourceName) { return eventSourceName(Output.of(eventSourceName)); } + /** + * @param kmsKeyIdentifier The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + * @return builder + * + */ + public Builder kmsKeyIdentifier(@Nullable Output kmsKeyIdentifier) { + $.kmsKeyIdentifier = kmsKeyIdentifier; + return this; + } + + /** + * @param kmsKeyIdentifier The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + * @return builder + * + */ + public Builder kmsKeyIdentifier(String kmsKeyIdentifier) { + return kmsKeyIdentifier(Output.of(kmsKeyIdentifier)); + } + /** * @param name The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/inputs/EventBusState.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/inputs/EventBusState.java index 550832483ff..9e6216f4f19 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/inputs/EventBusState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/inputs/EventBusState.java @@ -46,6 +46,21 @@ public Optional> eventSourceName() { return Optional.ofNullable(this.eventSourceName); } + /** + * The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + */ + @Import(name="kmsKeyIdentifier") + private @Nullable Output kmsKeyIdentifier; + + /** + * @return The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + */ + public Optional> kmsKeyIdentifier() { + return Optional.ofNullable(this.kmsKeyIdentifier); + } + /** * The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. * @@ -104,6 +119,7 @@ private EventBusState() {} private EventBusState(EventBusState $) { this.arn = $.arn; this.eventSourceName = $.eventSourceName; + this.kmsKeyIdentifier = $.kmsKeyIdentifier; this.name = $.name; this.tags = $.tags; this.tagsAll = $.tagsAll; @@ -169,6 +185,27 @@ public Builder eventSourceName(String eventSourceName) { return eventSourceName(Output.of(eventSourceName)); } + /** + * @param kmsKeyIdentifier The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + * @return builder + * + */ + public Builder kmsKeyIdentifier(@Nullable Output kmsKeyIdentifier) { + $.kmsKeyIdentifier = kmsKeyIdentifier; + return this; + } + + /** + * @param kmsKeyIdentifier The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + * + * @return builder + * + */ + public Builder kmsKeyIdentifier(String kmsKeyIdentifier) { + return kmsKeyIdentifier(Output.of(kmsKeyIdentifier)); + } + /** * @param name The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/outputs/GetEventBusResult.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/outputs/GetEventBusResult.java index 7b19a0dc25e..48cdf153d65 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/outputs/GetEventBusResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/outputs/GetEventBusResult.java @@ -20,6 +20,11 @@ public final class GetEventBusResult { * */ private String id; + /** + * @return The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. + * + */ + private String kmsKeyIdentifier; private String name; private GetEventBusResult() {} @@ -37,6 +42,13 @@ public String arn() { public String id() { return this.id; } + /** + * @return The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. + * + */ + public String kmsKeyIdentifier() { + return this.kmsKeyIdentifier; + } public String name() { return this.name; } @@ -52,12 +64,14 @@ public static Builder builder(GetEventBusResult defaults) { public static final class Builder { private String arn; private String id; + private String kmsKeyIdentifier; private String name; public Builder() {} public Builder(GetEventBusResult defaults) { Objects.requireNonNull(defaults); this.arn = defaults.arn; this.id = defaults.id; + this.kmsKeyIdentifier = defaults.kmsKeyIdentifier; this.name = defaults.name; } @@ -78,6 +92,14 @@ public Builder id(String id) { return this; } @CustomType.Setter + public Builder kmsKeyIdentifier(String kmsKeyIdentifier) { + if (kmsKeyIdentifier == null) { + throw new MissingRequiredPropertyException("GetEventBusResult", "kmsKeyIdentifier"); + } + this.kmsKeyIdentifier = kmsKeyIdentifier; + return this; + } + @CustomType.Setter public Builder name(String name) { if (name == null) { throw new MissingRequiredPropertyException("GetEventBusResult", "name"); @@ -89,6 +111,7 @@ public GetEventBusResult build() { final var _resultValue = new GetEventBusResult(); _resultValue.arn = arn; _resultValue.id = id; + _resultValue.kmsKeyIdentifier = kmsKeyIdentifier; _resultValue.name = name; return _resultValue; } 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 315d322c3c3..cce25c1821f 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 @@ -13,6 +13,7 @@ import java.lang.Boolean; import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Optional; import javax.annotation.Nullable; @@ -232,6 +233,38 @@ public Output> s3Prefix() { public Output s3Region() { return this.s3Region; } + /** + * Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } /** * The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinitionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinitionArgs.java index 0d976284a78..9d353fecfbf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinitionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cur/ReportDefinitionArgs.java @@ -9,6 +9,7 @@ import java.lang.Boolean; import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -168,6 +169,21 @@ public Output s3Region() { return this.s3Region; } + /** + * Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + /** * The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. * @@ -196,6 +212,7 @@ private ReportDefinitionArgs(ReportDefinitionArgs $) { this.s3Bucket = $.s3Bucket; this.s3Prefix = $.s3Prefix; this.s3Region = $.s3Region; + this.tags = $.tags; this.timeUnit = $.timeUnit; } @@ -447,6 +464,27 @@ public Builder s3Region(String s3Region) { return s3Region(Output.of(s3Region)); } + /** + * @param tags Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + /** * @param timeUnit The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionArgs.java index 4937146708e..72e3b5c0573 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionArgs.java @@ -7,7 +7,10 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; +import java.util.Map; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetReportDefinitionArgs extends com.pulumi.resources.InvokeArgs { @@ -29,10 +32,26 @@ public Output reportName() { return this.reportName; } + /** + * Map of key-value pairs assigned to the resource. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of key-value pairs assigned to the resource. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + private GetReportDefinitionArgs() {} private GetReportDefinitionArgs(GetReportDefinitionArgs $) { this.reportName = $.reportName; + this.tags = $.tags; } public static Builder builder() { @@ -74,6 +93,27 @@ public Builder reportName(String reportName) { return reportName(Output.of(reportName)); } + /** + * @param tags Map of key-value pairs assigned to the resource. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of key-value pairs assigned to the resource. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + public GetReportDefinitionArgs build() { if ($.reportName == null) { throw new MissingRequiredPropertyException("GetReportDefinitionArgs", "reportName"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionPlainArgs.java index b09b34cc685..39a1d301fa1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/GetReportDefinitionPlainArgs.java @@ -6,7 +6,10 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; +import java.util.Map; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetReportDefinitionPlainArgs extends com.pulumi.resources.InvokeArgs { @@ -28,10 +31,26 @@ public String reportName() { return this.reportName; } + /** + * Map of key-value pairs assigned to the resource. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return Map of key-value pairs assigned to the resource. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + private GetReportDefinitionPlainArgs() {} private GetReportDefinitionPlainArgs(GetReportDefinitionPlainArgs $) { this.reportName = $.reportName; + this.tags = $.tags; } public static Builder builder() { @@ -63,6 +82,17 @@ public Builder reportName(String reportName) { return this; } + /** + * @param tags Map of key-value pairs assigned to the resource. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + public GetReportDefinitionPlainArgs build() { if ($.reportName == null) { throw new MissingRequiredPropertyException("GetReportDefinitionPlainArgs", "reportName"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/ReportDefinitionState.java b/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/ReportDefinitionState.java index 92e24f67b52..21675dd5708 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/ReportDefinitionState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cur/inputs/ReportDefinitionState.java @@ -8,6 +8,7 @@ import java.lang.Boolean; import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -182,6 +183,44 @@ public Optional> s3Region() { return Optional.ofNullable(this.s3Region); } + /** + * Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. * @@ -211,6 +250,8 @@ private ReportDefinitionState(ReportDefinitionState $) { this.s3Bucket = $.s3Bucket; this.s3Prefix = $.s3Prefix; this.s3Region = $.s3Region; + this.tags = $.tags; + this.tagsAll = $.tagsAll; this.timeUnit = $.timeUnit; } @@ -483,6 +524,56 @@ public Builder s3Region(String s3Region) { return s3Region(Output.of(s3Region)); } + /** + * @param tags Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param timeUnit The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cur/outputs/GetReportDefinitionResult.java b/sdk/java/src/main/java/com/pulumi/aws/cur/outputs/GetReportDefinitionResult.java index 4c7adef19cf..5e6e680b469 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cur/outputs/GetReportDefinitionResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cur/outputs/GetReportDefinitionResult.java @@ -8,6 +8,7 @@ import java.lang.Boolean; import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Objects; @CustomType @@ -63,6 +64,11 @@ public final class GetReportDefinitionResult { * */ private String s3Region; + /** + * @return Map of key-value pairs assigned to the resource. + * + */ + private Map tags; /** * @return Frequency on which report data are measured and displayed. * @@ -143,6 +149,13 @@ public String s3Prefix() { public String s3Region() { return this.s3Region; } + /** + * @return Map of key-value pairs assigned to the resource. + * + */ + public Map tags() { + return this.tags; + } /** * @return Frequency on which report data are measured and displayed. * @@ -171,6 +184,7 @@ public static final class Builder { private String s3Bucket; private String s3Prefix; private String s3Region; + private Map tags; private String timeUnit; public Builder() {} public Builder(GetReportDefinitionResult defaults) { @@ -186,6 +200,7 @@ public Builder(GetReportDefinitionResult defaults) { this.s3Bucket = defaults.s3Bucket; this.s3Prefix = defaults.s3Prefix; this.s3Region = defaults.s3Region; + this.tags = defaults.tags; this.timeUnit = defaults.timeUnit; } @@ -284,6 +299,14 @@ public Builder s3Region(String s3Region) { return this; } @CustomType.Setter + public Builder tags(Map tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetReportDefinitionResult", "tags"); + } + this.tags = tags; + return this; + } + @CustomType.Setter public Builder timeUnit(String timeUnit) { if (timeUnit == null) { throw new MissingRequiredPropertyException("GetReportDefinitionResult", "timeUnit"); @@ -304,6 +327,7 @@ public GetReportDefinitionResult build() { _resultValue.s3Bucket = s3Bucket; _resultValue.s3Prefix = s3Prefix; _resultValue.s3Region = s3Region; + _resultValue.tags = tags; _resultValue.timeUnit = timeUnit; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java index e381ef7b0c7..7f5ec50b7f8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplate.java @@ -154,14 +154,14 @@ public Output> description() { return Codegen.optional(this.description); } /** - * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * */ @Export(name="disableApiStop", refs={Boolean.class}, tree="[0]") private Output disableApiStop; /** - * @return If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * @return If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * */ public Output> disableApiStop() { @@ -169,7 +169,7 @@ public Output> disableApiStop() { } /** * If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * */ @Export(name="disableApiTermination", refs={Boolean.class}, tree="[0]") @@ -177,7 +177,7 @@ public Output> disableApiStop() { /** * @return If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * */ public Output> disableApiTermination() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java index f01c930cc12..5e9e2cf247a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/LaunchTemplateArgs.java @@ -133,14 +133,14 @@ public Optional> description() { } /** - * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * */ @Import(name="disableApiStop") private @Nullable Output disableApiStop; /** - * @return If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * @return If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * */ public Optional> disableApiStop() { @@ -149,7 +149,7 @@ public Optional> disableApiStop() { /** * If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * */ @Import(name="disableApiTermination") @@ -157,7 +157,7 @@ public Optional> disableApiStop() { /** * @return If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * */ public Optional> disableApiTermination() { @@ -813,7 +813,7 @@ public Builder description(String description) { } /** - * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * * @return builder * @@ -824,7 +824,7 @@ public Builder disableApiStop(@Nullable Output disableApiStop) { } /** - * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * * @return builder * @@ -835,7 +835,7 @@ public Builder disableApiStop(Boolean disableApiStop) { /** * @param disableApiTermination If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * * @return builder * @@ -847,7 +847,7 @@ public Builder disableApiTermination(@Nullable Output disableApiTermina /** * @param disableApiTermination If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * * @return builder * 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 34bb3d099c5..a0b994f808b 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 @@ -22,7 +22,9 @@ /** * Provides a security group resource. * - * > **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. + * > **NOTE:** Avoid using the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + * + * !> **WARNING:** You should not use the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) in conjunction with the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * > **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). * 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 742b2212279..d64531eac0c 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 @@ -18,13 +18,11 @@ import javax.annotation.Nullable; /** - * Provides a security group rule resource. Represents a single `ingress` or - * `egress` group rule, which can be added to external Security Groups. + * Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups. * - * > **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. + * > **NOTE:** Avoid using the `aws.ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + * + * !> **WARNING:** You should not use the `aws.ec2.SecurityGroupRule` resource in conjunction with `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or with an `aws.ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * > **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. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java index 27802d36f77..f8bf8b58ff8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateState.java @@ -148,14 +148,14 @@ public Optional> description() { } /** - * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * */ @Import(name="disableApiStop") private @Nullable Output disableApiStop; /** - * @return If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * @return If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * */ public Optional> disableApiStop() { @@ -164,7 +164,7 @@ public Optional> disableApiStop() { /** * If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * */ @Import(name="disableApiTermination") @@ -172,7 +172,7 @@ public Optional> disableApiStop() { /** * @return If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * */ public Optional> disableApiTermination() { @@ -890,7 +890,7 @@ public Builder description(String description) { } /** - * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * * @return builder * @@ -901,7 +901,7 @@ public Builder disableApiStop(@Nullable Output disableApiStop) { } /** - * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * @param disableApiStop If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). * * @return builder * @@ -912,7 +912,7 @@ public Builder disableApiStop(Boolean disableApiStop) { /** * @param disableApiTermination If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * * @return builder * @@ -924,7 +924,7 @@ public Builder disableApiTermination(@Nullable Output disableApiTermina /** * @param disableApiTermination If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) * * @return builder * 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 90268bb1a4c..b420ca6b9f3 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 @@ -758,14 +758,14 @@ public Output> taskRoleArn() { return Codegen.optional(this.taskRoleArn); } /** - * Whether should track latest task definition or the one created with the resource. Default is `false`. + * Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * */ @Export(name="trackLatest", refs={Boolean.class}, tree="[0]") private Output trackLatest; /** - * @return Whether should track latest task definition or the one created with the resource. Default is `false`. + * @return Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * */ public Output> trackLatest() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinitionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinitionArgs.java index cc1311f50f0..385326ce731 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinitionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/TaskDefinitionArgs.java @@ -285,14 +285,14 @@ public Optional> taskRoleArn() { } /** - * Whether should track latest task definition or the one created with the resource. Default is `false`. + * Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * */ @Import(name="trackLatest") private @Nullable Output trackLatest; /** - * @return Whether should track latest task definition or the one created with the resource. Default is `false`. + * @return Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * */ public Optional> trackLatest() { @@ -748,7 +748,7 @@ public Builder taskRoleArn(String taskRoleArn) { } /** - * @param trackLatest Whether should track latest task definition or the one created with the resource. Default is `false`. + * @param trackLatest Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * * @return builder * @@ -759,7 +759,7 @@ public Builder trackLatest(@Nullable Output trackLatest) { } /** - * @param trackLatest Whether should track latest task definition or the one created with the resource. Default is `false`. + * @param trackLatest Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/TaskDefinitionState.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/TaskDefinitionState.java index 59f14bb5779..6cb739f9146 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/TaskDefinitionState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/TaskDefinitionState.java @@ -353,14 +353,14 @@ public Optional> taskRoleArn() { } /** - * Whether should track latest task definition or the one created with the resource. Default is `false`. + * Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * */ @Import(name="trackLatest") private @Nullable Output trackLatest; /** - * @return Whether should track latest task definition or the one created with the resource. Default is `false`. + * @return Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * */ public Optional> trackLatest() { @@ -912,7 +912,7 @@ public Builder taskRoleArn(String taskRoleArn) { } /** - * @param trackLatest Whether should track latest task definition or the one created with the resource. Default is `false`. + * @param trackLatest Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * * @return builder * @@ -923,7 +923,7 @@ public Builder trackLatest(@Nullable Output trackLatest) { } /** - * @param trackLatest Whether should track latest task definition or the one created with the resource. Default is `false`. + * @param trackLatest Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. * * @return builder * 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 b877c4458d4..914122e6f73 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 @@ -21,11 +21,11 @@ /** * Provides a Glue Classifier resource. * - * > **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier. + * > **NOTE:** It is only valid to create one type of classifier (CSV, grok, JSON, or XML). Changing classifier types will recreate the classifier. * * ## Example Usage * - * ### Csv Classifier + * ### CSV Classifier * * <!--Start PulumiCodeChooser --> *
@@ -202,14 +202,14 @@
 @ResourceType(type="aws:glue/classifier:Classifier")
 public class Classifier extends com.pulumi.resources.CustomResource {
     /**
-     * A classifier for Csv content. Defined below.
+     * A classifier for CSV content. Defined below.
      * 
      */
     @Export(name="csvClassifier", refs={ClassifierCsvClassifier.class}, tree="[0]")
     private Output csvClassifier;
 
     /**
-     * @return A classifier for Csv content. Defined below.
+     * @return A classifier for CSV content. Defined below.
      * 
      */
     public Output> csvClassifier() {
diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/ClassifierArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/ClassifierArgs.java
index 521050b0241..8a25c1f076b 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/glue/ClassifierArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/glue/ClassifierArgs.java
@@ -20,14 +20,14 @@ public final class ClassifierArgs extends com.pulumi.resources.ResourceArgs {
     public static final ClassifierArgs Empty = new ClassifierArgs();
 
     /**
-     * A classifier for Csv content. Defined below.
+     * A classifier for CSV content. Defined below.
      * 
      */
     @Import(name="csvClassifier")
     private @Nullable Output csvClassifier;
 
     /**
-     * @return A classifier for Csv content. Defined below.
+     * @return A classifier for CSV content. Defined below.
      * 
      */
     public Optional> csvClassifier() {
@@ -123,7 +123,7 @@ public Builder(ClassifierArgs defaults) {
         }
 
         /**
-         * @param csvClassifier A classifier for Csv content. Defined below.
+         * @param csvClassifier A classifier for CSV content. Defined below.
          * 
          * @return builder
          * 
@@ -134,7 +134,7 @@ public Builder csvClassifier(@Nullable Output csvCl
         }
 
         /**
-         * @param csvClassifier A classifier for Csv content. Defined below.
+         * @param csvClassifier A classifier for CSV content. Defined below.
          * 
          * @return builder
          * 
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 68b3eaf9513..982a3d3ef55 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
@@ -48,12 +48,12 @@
  * 
  *     public static void stack(Context ctx) {
  *         var example = new Connection("example", ConnectionArgs.builder()
+ *             .name("example")
  *             .connectionProperties(Map.ofEntries(
  *                 Map.entry("JDBC_CONNECTION_URL", "jdbc:mysql://example.com/exampledatabase"),
  *                 Map.entry("PASSWORD", "examplepassword"),
  *                 Map.entry("USERNAME", "exampleusername")
  *             ))
- *             .name("example")
  *             .build());
  * 
  *     }
@@ -94,11 +94,11 @@
  *             .build());
  * 
  *         var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
+ *             .name("example")
  *             .connectionProperties(Map.ofEntries(
  *                 Map.entry("JDBC_CONNECTION_URL", "jdbc:mysql://example.com/exampledatabase"),
  *                 Map.entry("SECRET_ID", example.applyValue(getSecretResult -> getSecretResult.name()))
  *             ))
- *             .name("example")
  *             .build());
  * 
  *     }
@@ -136,12 +136,12 @@
  * 
  *     public static void stack(Context ctx) {
  *         var example = new Connection("example", ConnectionArgs.builder()
+ *             .name("example")
  *             .connectionProperties(Map.ofEntries(
  *                 Map.entry("JDBC_CONNECTION_URL", String.format("jdbc:mysql://%s/exampledatabase", exampleAwsRdsCluster.endpoint())),
  *                 Map.entry("PASSWORD", "examplepassword"),
  *                 Map.entry("USERNAME", "exampleusername")
  *             ))
- *             .name("example")
  *             .physicalConnectionRequirements(ConnectionPhysicalConnectionRequirementsArgs.builder()
  *                 .availabilityZone(exampleAwsSubnet.availabilityZone())
  *                 .securityGroupIdLists(exampleAwsSecurityGroup.id())
@@ -188,7 +188,8 @@
  *             .name("example-secret")
  *             .build());
  * 
- *         var exampleConnector = new Connection("exampleConnector", ConnectionArgs.builder()
+ *         var example1 = new Connection("example1", ConnectionArgs.builder()
+ *             .name("example1")
  *             .connectionType("CUSTOM")
  *             .connectionProperties(Map.ofEntries(
  *                 Map.entry("CONNECTOR_CLASS_NAME", "net.snowflake.client.jdbc.SnowflakeDriver"),
@@ -196,12 +197,12 @@
  *                 Map.entry("CONNECTOR_URL", "s3://example/snowflake-jdbc.jar"),
  *                 Map.entry("JDBC_CONNECTION_URL", "[[\"default=jdbc:snowflake://example.com/?user=${user}&password=${password}\"],\",\"]")
  *             ))
- *             .name("example_connector")
  *             .matchCriterias("template-connection")
  *             .build());
  * 
  *         // Reference the connector using match_criteria with the connector created above.
- *         var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
+ *         var example2 = new Connection("example2", ConnectionArgs.builder()
+ *             .name("example2")
  *             .connectionType("CUSTOM")
  *             .connectionProperties(Map.ofEntries(
  *                 Map.entry("CONNECTOR_CLASS_NAME", "net.snowflake.client.jdbc.SnowflakeDriver"),
@@ -210,10 +211,333 @@
  *                 Map.entry("JDBC_CONNECTION_URL", "jdbc:snowflake://example.com/?user=${user}&password=${password}"),
  *                 Map.entry("SECRET_ID", example.applyValue(getSecretResult -> getSecretResult.name()))
  *             ))
- *             .name("example")
  *             .matchCriterias(            
  *                 "Connection",
- *                 exampleConnector.name())
+ *                 example1.name())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### Azure Cosmos Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos). + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.secretsmanager.Secret;
+ * import com.pulumi.aws.secretsmanager.SecretArgs;
+ * import com.pulumi.aws.secretsmanager.SecretVersion;
+ * import com.pulumi.aws.secretsmanager.SecretVersionArgs;
+ * import com.pulumi.aws.glue.Connection;
+ * import com.pulumi.aws.glue.ConnectionArgs;
+ * 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 Secret("example", SecretArgs.builder()
+ *             .name("example-secret")
+ *             .build());
+ * 
+ *         var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
+ *             .secretId(example.id())
+ *             .secretString(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("username", "exampleusername"),
+ *                     jsonProperty("password", "examplepassword")
+ *                 )))
+ *             .build());
+ * 
+ *         var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
+ *             .name("example")
+ *             .connectionType("AZURECOSMOS")
+ *             .connectionProperties(Map.of("SparkProperties", example.name().applyValue(name -> serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("secretId", name),
+ *                     jsonProperty("spark.cosmos.accountEndpoint", "https://exampledbaccount.documents.azure.com:443/")
+ *                 )))))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### Azure SQL Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql). + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.secretsmanager.Secret;
+ * import com.pulumi.aws.secretsmanager.SecretArgs;
+ * import com.pulumi.aws.secretsmanager.SecretVersion;
+ * import com.pulumi.aws.secretsmanager.SecretVersionArgs;
+ * import com.pulumi.aws.glue.Connection;
+ * import com.pulumi.aws.glue.ConnectionArgs;
+ * 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 Secret("example", SecretArgs.builder()
+ *             .name("example-secret")
+ *             .build());
+ * 
+ *         var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
+ *             .secretId(example.id())
+ *             .secretString(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("username", "exampleusername"),
+ *                     jsonProperty("password", "examplepassword")
+ *                 )))
+ *             .build());
+ * 
+ *         var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
+ *             .name("example")
+ *             .connectionType("AZURECOSMOS")
+ *             .connectionProperties(Map.of("SparkProperties", example.name().applyValue(name -> serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("secretId", name),
+ *                     jsonProperty("url", "jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase")
+ *                 )))))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### Google BigQuery Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery). + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.secretsmanager.Secret;
+ * import com.pulumi.aws.secretsmanager.SecretArgs;
+ * import com.pulumi.aws.secretsmanager.SecretVersion;
+ * import com.pulumi.aws.secretsmanager.SecretVersionArgs;
+ * import com.pulumi.aws.glue.Connection;
+ * import com.pulumi.aws.glue.ConnectionArgs;
+ * 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 Secret("example", SecretArgs.builder()
+ *             .name("example-secret")
+ *             .build());
+ * 
+ *         var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
+ *             .secretId(example.id())
+ *             .secretString(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("credentials", StdFunctions.base64encode(Base64encodeArgs.builder()
+ *                         .input("""
+ * {
+ *   "type": "service_account",
+ *   "project_id": "example-project",
+ *   "private_key_id": "example-key",
+ *   "private_key": "-----BEGIN RSA PRIVATE KEY-----\nREDACTED\n-----END RSA PRIVATE KEY-----",
+ *   "client_email": "example-project{@literal @}appspot.gserviceaccount.com",
+ *   "client_id": example-client",
+ *   "auth_uri": "https://accounts.google.com/o/oauth2/auth",
+ *   "token_uri": "https://oauth2.googleapis.com/token",
+ *   "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
+ *   "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com",
+ *   "universe_domain": "googleapis.com"
+ * }
+ *                         """)
+ *                         .build()).result())
+ *                 )))
+ *             .build());
+ * 
+ *         var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
+ *             .name("example")
+ *             .connectionType("BIGQUERY")
+ *             .connectionProperties(Map.of("SparkProperties", example.name().applyValue(name -> serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("secretId", name)
+ *                 )))))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### OpenSearch Service Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch). + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.secretsmanager.Secret;
+ * import com.pulumi.aws.secretsmanager.SecretArgs;
+ * import com.pulumi.aws.secretsmanager.SecretVersion;
+ * import com.pulumi.aws.secretsmanager.SecretVersionArgs;
+ * import com.pulumi.aws.glue.Connection;
+ * import com.pulumi.aws.glue.ConnectionArgs;
+ * 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 Secret("example", SecretArgs.builder()
+ *             .name("example-secret")
+ *             .build());
+ * 
+ *         var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
+ *             .secretId(example.id())
+ *             .secretString(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("opensearch.net.http.auth.user", "exampleusername"),
+ *                     jsonProperty("opensearch.net.http.auth.pass", "examplepassword")
+ *                 )))
+ *             .build());
+ * 
+ *         var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
+ *             .name("example")
+ *             .connectionType("OPENSEARCH")
+ *             .connectionProperties(Map.of("SparkProperties", example.name().applyValue(name -> serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("secretId", name),
+ *                     jsonProperty("opensearch.nodes", "https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com"),
+ *                     jsonProperty("opensearch.port", "443"),
+ *                     jsonProperty("opensearch.aws.sigv4.region", "us-east-1"),
+ *                     jsonProperty("opensearch.nodes.wan.only", "true"),
+ *                     jsonProperty("opensearch.aws.sigv4.enabled", "true")
+ *                 )))))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### Snowflake Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake). + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.secretsmanager.Secret;
+ * import com.pulumi.aws.secretsmanager.SecretArgs;
+ * import com.pulumi.aws.secretsmanager.SecretVersion;
+ * import com.pulumi.aws.secretsmanager.SecretVersionArgs;
+ * import com.pulumi.aws.glue.Connection;
+ * import com.pulumi.aws.glue.ConnectionArgs;
+ * 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 Secret("example", SecretArgs.builder()
+ *             .name("example-secret")
+ *             .build());
+ * 
+ *         var exampleSecretVersion = new SecretVersion("exampleSecretVersion", SecretVersionArgs.builder()
+ *             .secretId(example.id())
+ *             .secretString(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("sfUser", "exampleusername"),
+ *                     jsonProperty("sfPassword", "examplepassword")
+ *                 )))
+ *             .build());
+ * 
+ *         var exampleConnection = new Connection("exampleConnection", ConnectionArgs.builder()
+ *             .name("example")
+ *             .connectionType("SNOWFLAKE")
+ *             .connectionProperties(Map.of("SparkProperties", example.name().applyValue(name -> serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("secretId", name),
+ *                     jsonProperty("sfRole", "EXAMPLEETLROLE"),
+ *                     jsonProperty("sfUrl", "exampleorg-exampleconnection.snowflakecomputing.com")
+ *                 )))))
  *             .build());
  * 
  *     }
@@ -234,56 +558,60 @@
 @ResourceType(type="aws:glue/connection:Connection")
 public class Connection extends com.pulumi.resources.CustomResource {
     /**
-     * The ARN of the Glue Connection.
+     * ARN of the Glue Connection.
      * 
      */
     @Export(name="arn", refs={String.class}, tree="[0]")
     private Output arn;
 
     /**
-     * @return The ARN of the Glue Connection.
+     * @return ARN of the Glue Connection.
      * 
      */
     public Output arn() {
         return this.arn;
     }
     /**
-     * The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+     * ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
      * 
      */
     @Export(name="catalogId", refs={String.class}, tree="[0]")
     private Output catalogId;
 
     /**
-     * @return The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+     * @return ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
      * 
      */
     public Output catalogId() {
         return this.catalogId;
     }
     /**
-     * A map of key-value pairs used as parameters for this connection.
+     * Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+     * 
+     * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
      * 
      */
     @Export(name="connectionProperties", refs={Map.class,String.class}, tree="[0,1,1]")
     private Output> connectionProperties;
 
     /**
-     * @return A map of key-value pairs used as parameters for this connection.
+     * @return Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+     * 
+     * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
      * 
      */
     public Output>> connectionProperties() {
         return Codegen.optional(this.connectionProperties);
     }
     /**
-     * The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+     * Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
      * 
      */
     @Export(name="connectionType", refs={String.class}, tree="[0]")
     private Output connectionType;
 
     /**
-     * @return The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+     * @return Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
      * 
      */
     public Output> connectionType() {
@@ -304,42 +632,46 @@ public Output> description() {
         return Codegen.optional(this.description);
     }
     /**
-     * A list of criteria that can be used in selecting this connection.
+     * List of criteria that can be used in selecting this connection.
      * 
      */
     @Export(name="matchCriterias", refs={List.class,String.class}, tree="[0,1]")
     private Output> matchCriterias;
 
     /**
-     * @return A list of criteria that can be used in selecting this connection.
+     * @return List of criteria that can be used in selecting this connection.
      * 
      */
     public Output>> matchCriterias() {
         return Codegen.optional(this.matchCriterias);
     }
     /**
-     * The name of the connection.
+     * Name of the connection.
+     * 
+     * The following arguments are optional:
      * 
      */
     @Export(name="name", refs={String.class}, tree="[0]")
     private Output name;
 
     /**
-     * @return The name of the connection.
+     * @return Name of the connection.
+     * 
+     * The following arguments are optional:
      * 
      */
     public Output name() {
         return this.name;
     }
     /**
-     * A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+     * Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
      * 
      */
     @Export(name="physicalConnectionRequirements", refs={ConnectionPhysicalConnectionRequirements.class}, tree="[0]")
     private Output physicalConnectionRequirements;
 
     /**
-     * @return A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+     * @return Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
      * 
      */
     public Output> physicalConnectionRequirements() {
diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/ConnectionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/ConnectionArgs.java
index 076d55a8b68..de225a4d458 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/glue/ConnectionArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/glue/ConnectionArgs.java
@@ -19,14 +19,14 @@ public final class ConnectionArgs extends com.pulumi.resources.ResourceArgs {
     public static final ConnectionArgs Empty = new ConnectionArgs();
 
     /**
-     * The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+     * ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
      * 
      */
     @Import(name="catalogId")
     private @Nullable Output catalogId;
 
     /**
-     * @return The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+     * @return ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
      * 
      */
     public Optional> catalogId() {
@@ -34,14 +34,18 @@ public Optional> catalogId() {
     }
 
     /**
-     * A map of key-value pairs used as parameters for this connection.
+     * Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+     * 
+     * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
      * 
      */
     @Import(name="connectionProperties")
     private @Nullable Output> connectionProperties;
 
     /**
-     * @return A map of key-value pairs used as parameters for this connection.
+     * @return Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+     * 
+     * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
      * 
      */
     public Optional>> connectionProperties() {
@@ -49,14 +53,14 @@ public Optional>> connectionProperties() {
     }
 
     /**
-     * The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+     * Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
      * 
      */
     @Import(name="connectionType")
     private @Nullable Output connectionType;
 
     /**
-     * @return The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+     * @return Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
      * 
      */
     public Optional> connectionType() {
@@ -79,14 +83,14 @@ public Optional> description() {
     }
 
     /**
-     * A list of criteria that can be used in selecting this connection.
+     * List of criteria that can be used in selecting this connection.
      * 
      */
     @Import(name="matchCriterias")
     private @Nullable Output> matchCriterias;
 
     /**
-     * @return A list of criteria that can be used in selecting this connection.
+     * @return List of criteria that can be used in selecting this connection.
      * 
      */
     public Optional>> matchCriterias() {
@@ -94,14 +98,18 @@ public Optional>> matchCriterias() {
     }
 
     /**
-     * The name of the connection.
+     * Name of the connection.
+     * 
+     * The following arguments are optional:
      * 
      */
     @Import(name="name")
     private @Nullable Output name;
 
     /**
-     * @return The name of the connection.
+     * @return Name of the connection.
+     * 
+     * The following arguments are optional:
      * 
      */
     public Optional> name() {
@@ -109,14 +117,14 @@ public Optional> name() {
     }
 
     /**
-     * A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+     * Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
      * 
      */
     @Import(name="physicalConnectionRequirements")
     private @Nullable Output physicalConnectionRequirements;
 
     /**
-     * @return A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+     * @return Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
      * 
      */
     public Optional> physicalConnectionRequirements() {
@@ -170,7 +178,7 @@ public Builder(ConnectionArgs defaults) {
         }
 
         /**
-         * @param catalogId The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+         * @param catalogId ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
          * 
          * @return builder
          * 
@@ -181,7 +189,7 @@ public Builder catalogId(@Nullable Output catalogId) {
         }
 
         /**
-         * @param catalogId The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+         * @param catalogId ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
          * 
          * @return builder
          * 
@@ -191,7 +199,9 @@ public Builder catalogId(String catalogId) {
         }
 
         /**
-         * @param connectionProperties A map of key-value pairs used as parameters for this connection.
+         * @param connectionProperties Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+         * 
+         * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
          * 
          * @return builder
          * 
@@ -202,7 +212,9 @@ public Builder connectionProperties(@Nullable Output> connect
         }
 
         /**
-         * @param connectionProperties A map of key-value pairs used as parameters for this connection.
+         * @param connectionProperties Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+         * 
+         * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
          * 
          * @return builder
          * 
@@ -212,7 +224,7 @@ public Builder connectionProperties(Map connectionProperties) {
         }
 
         /**
-         * @param connectionType The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+         * @param connectionType Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
          * 
          * @return builder
          * 
@@ -223,7 +235,7 @@ public Builder connectionType(@Nullable Output connectionType) {
         }
 
         /**
-         * @param connectionType The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+         * @param connectionType Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
          * 
          * @return builder
          * 
@@ -254,7 +266,7 @@ public Builder description(String description) {
         }
 
         /**
-         * @param matchCriterias A list of criteria that can be used in selecting this connection.
+         * @param matchCriterias List of criteria that can be used in selecting this connection.
          * 
          * @return builder
          * 
@@ -265,7 +277,7 @@ public Builder matchCriterias(@Nullable Output> matchCriterias) {
         }
 
         /**
-         * @param matchCriterias A list of criteria that can be used in selecting this connection.
+         * @param matchCriterias List of criteria that can be used in selecting this connection.
          * 
          * @return builder
          * 
@@ -275,7 +287,7 @@ public Builder matchCriterias(List matchCriterias) {
         }
 
         /**
-         * @param matchCriterias A list of criteria that can be used in selecting this connection.
+         * @param matchCriterias List of criteria that can be used in selecting this connection.
          * 
          * @return builder
          * 
@@ -285,7 +297,9 @@ public Builder matchCriterias(String... matchCriterias) {
         }
 
         /**
-         * @param name The name of the connection.
+         * @param name Name of the connection.
+         * 
+         * The following arguments are optional:
          * 
          * @return builder
          * 
@@ -296,7 +310,9 @@ public Builder name(@Nullable Output name) {
         }
 
         /**
-         * @param name The name of the connection.
+         * @param name Name of the connection.
+         * 
+         * The following arguments are optional:
          * 
          * @return builder
          * 
@@ -306,7 +322,7 @@ public Builder name(String name) {
         }
 
         /**
-         * @param physicalConnectionRequirements A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+         * @param physicalConnectionRequirements Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
          * 
          * @return builder
          * 
@@ -317,7 +333,7 @@ public Builder physicalConnectionRequirements(@Nullable Output>> customDatatypes() {
     }
 
     /**
-     * The delimiter used in the Csv to separate columns.
+     * The delimiter used in the CSV to separate columns.
      * 
      */
     @Import(name="delimiter")
     private @Nullable Output delimiter;
 
     /**
-     * @return The delimiter used in the Csv to separate columns.
+     * @return The delimiter used in the CSV to separate columns.
      * 
      */
     public Optional> delimiter() {
@@ -137,9 +137,17 @@ public Optional> quoteSymbol() {
         return Optional.ofNullable(this.quoteSymbol);
     }
 
+    /**
+     * The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`.
+     * 
+     */
     @Import(name="serde")
     private @Nullable Output serde;
 
+    /**
+     * @return The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`.
+     * 
+     */
     public Optional> serde() {
         return Optional.ofNullable(this.serde);
     }
@@ -271,7 +279,7 @@ public Builder customDatatypes(String... customDatatypes) {
         }
 
         /**
-         * @param delimiter The delimiter used in the Csv to separate columns.
+         * @param delimiter The delimiter used in the CSV to separate columns.
          * 
          * @return builder
          * 
@@ -282,7 +290,7 @@ public Builder delimiter(@Nullable Output delimiter) {
         }
 
         /**
-         * @param delimiter The delimiter used in the Csv to separate columns.
+         * @param delimiter The delimiter used in the CSV to separate columns.
          * 
          * @return builder
          * 
@@ -364,11 +372,23 @@ public Builder quoteSymbol(String quoteSymbol) {
             return quoteSymbol(Output.of(quoteSymbol));
         }
 
+        /**
+         * @param serde The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`.
+         * 
+         * @return builder
+         * 
+         */
         public Builder serde(@Nullable Output serde) {
             $.serde = serde;
             return this;
         }
 
+        /**
+         * @param serde The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`.
+         * 
+         * @return builder
+         * 
+         */
         public Builder serde(String serde) {
             return serde(Output.of(serde));
         }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ClassifierState.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ClassifierState.java
index 0e053375322..81eaf536375 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ClassifierState.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ClassifierState.java
@@ -20,14 +20,14 @@ public final class ClassifierState extends com.pulumi.resources.ResourceArgs {
     public static final ClassifierState Empty = new ClassifierState();
 
     /**
-     * A classifier for Csv content. Defined below.
+     * A classifier for CSV content. Defined below.
      * 
      */
     @Import(name="csvClassifier")
     private @Nullable Output csvClassifier;
 
     /**
-     * @return A classifier for Csv content. Defined below.
+     * @return A classifier for CSV content. Defined below.
      * 
      */
     public Optional> csvClassifier() {
@@ -123,7 +123,7 @@ public Builder(ClassifierState defaults) {
         }
 
         /**
-         * @param csvClassifier A classifier for Csv content. Defined below.
+         * @param csvClassifier A classifier for CSV content. Defined below.
          * 
          * @return builder
          * 
@@ -134,7 +134,7 @@ public Builder csvClassifier(@Nullable Output csvCl
         }
 
         /**
-         * @param csvClassifier A classifier for Csv content. Defined below.
+         * @param csvClassifier A classifier for CSV content. Defined below.
          * 
          * @return builder
          * 
diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ConnectionState.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ConnectionState.java
index 79d84e1506c..9a5b71bc5d3 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ConnectionState.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/ConnectionState.java
@@ -19,14 +19,14 @@ public final class ConnectionState extends com.pulumi.resources.ResourceArgs {
     public static final ConnectionState Empty = new ConnectionState();
 
     /**
-     * The ARN of the Glue Connection.
+     * ARN of the Glue Connection.
      * 
      */
     @Import(name="arn")
     private @Nullable Output arn;
 
     /**
-     * @return The ARN of the Glue Connection.
+     * @return ARN of the Glue Connection.
      * 
      */
     public Optional> arn() {
@@ -34,14 +34,14 @@ public Optional> arn() {
     }
 
     /**
-     * The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+     * ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
      * 
      */
     @Import(name="catalogId")
     private @Nullable Output catalogId;
 
     /**
-     * @return The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+     * @return ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
      * 
      */
     public Optional> catalogId() {
@@ -49,14 +49,18 @@ public Optional> catalogId() {
     }
 
     /**
-     * A map of key-value pairs used as parameters for this connection.
+     * Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+     * 
+     * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
      * 
      */
     @Import(name="connectionProperties")
     private @Nullable Output> connectionProperties;
 
     /**
-     * @return A map of key-value pairs used as parameters for this connection.
+     * @return Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+     * 
+     * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
      * 
      */
     public Optional>> connectionProperties() {
@@ -64,14 +68,14 @@ public Optional>> connectionProperties() {
     }
 
     /**
-     * The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+     * Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
      * 
      */
     @Import(name="connectionType")
     private @Nullable Output connectionType;
 
     /**
-     * @return The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+     * @return Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
      * 
      */
     public Optional> connectionType() {
@@ -94,14 +98,14 @@ public Optional> description() {
     }
 
     /**
-     * A list of criteria that can be used in selecting this connection.
+     * List of criteria that can be used in selecting this connection.
      * 
      */
     @Import(name="matchCriterias")
     private @Nullable Output> matchCriterias;
 
     /**
-     * @return A list of criteria that can be used in selecting this connection.
+     * @return List of criteria that can be used in selecting this connection.
      * 
      */
     public Optional>> matchCriterias() {
@@ -109,14 +113,18 @@ public Optional>> matchCriterias() {
     }
 
     /**
-     * The name of the connection.
+     * Name of the connection.
+     * 
+     * The following arguments are optional:
      * 
      */
     @Import(name="name")
     private @Nullable Output name;
 
     /**
-     * @return The name of the connection.
+     * @return Name of the connection.
+     * 
+     * The following arguments are optional:
      * 
      */
     public Optional> name() {
@@ -124,14 +132,14 @@ public Optional> name() {
     }
 
     /**
-     * A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+     * Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
      * 
      */
     @Import(name="physicalConnectionRequirements")
     private @Nullable Output physicalConnectionRequirements;
 
     /**
-     * @return A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+     * @return Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
      * 
      */
     public Optional> physicalConnectionRequirements() {
@@ -210,7 +218,7 @@ public Builder(ConnectionState defaults) {
         }
 
         /**
-         * @param arn The ARN of the Glue Connection.
+         * @param arn ARN of the Glue Connection.
          * 
          * @return builder
          * 
@@ -221,7 +229,7 @@ public Builder arn(@Nullable Output arn) {
         }
 
         /**
-         * @param arn The ARN of the Glue Connection.
+         * @param arn ARN of the Glue Connection.
          * 
          * @return builder
          * 
@@ -231,7 +239,7 @@ public Builder arn(String arn) {
         }
 
         /**
-         * @param catalogId The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+         * @param catalogId ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
          * 
          * @return builder
          * 
@@ -242,7 +250,7 @@ public Builder catalogId(@Nullable Output catalogId) {
         }
 
         /**
-         * @param catalogId The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
+         * @param catalogId ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.
          * 
          * @return builder
          * 
@@ -252,7 +260,9 @@ public Builder catalogId(String catalogId) {
         }
 
         /**
-         * @param connectionProperties A map of key-value pairs used as parameters for this connection.
+         * @param connectionProperties Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+         * 
+         * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
          * 
          * @return builder
          * 
@@ -263,7 +273,9 @@ public Builder connectionProperties(@Nullable Output> connect
         }
 
         /**
-         * @param connectionProperties A map of key-value pairs used as parameters for this connection.
+         * @param connectionProperties Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html).
+         * 
+         * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage.
          * 
          * @return builder
          * 
@@ -273,7 +285,7 @@ public Builder connectionProperties(Map connectionProperties) {
         }
 
         /**
-         * @param connectionType The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+         * @param connectionType Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
          * 
          * @return builder
          * 
@@ -284,7 +296,7 @@ public Builder connectionType(@Nullable Output connectionType) {
         }
 
         /**
-         * @param connectionType The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`.
+         * @param connectionType Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`.
          * 
          * @return builder
          * 
@@ -315,7 +327,7 @@ public Builder description(String description) {
         }
 
         /**
-         * @param matchCriterias A list of criteria that can be used in selecting this connection.
+         * @param matchCriterias List of criteria that can be used in selecting this connection.
          * 
          * @return builder
          * 
@@ -326,7 +338,7 @@ public Builder matchCriterias(@Nullable Output> matchCriterias) {
         }
 
         /**
-         * @param matchCriterias A list of criteria that can be used in selecting this connection.
+         * @param matchCriterias List of criteria that can be used in selecting this connection.
          * 
          * @return builder
          * 
@@ -336,7 +348,7 @@ public Builder matchCriterias(List matchCriterias) {
         }
 
         /**
-         * @param matchCriterias A list of criteria that can be used in selecting this connection.
+         * @param matchCriterias List of criteria that can be used in selecting this connection.
          * 
          * @return builder
          * 
@@ -346,7 +358,9 @@ public Builder matchCriterias(String... matchCriterias) {
         }
 
         /**
-         * @param name The name of the connection.
+         * @param name Name of the connection.
+         * 
+         * The following arguments are optional:
          * 
          * @return builder
          * 
@@ -357,7 +371,9 @@ public Builder name(@Nullable Output name) {
         }
 
         /**
-         * @param name The name of the connection.
+         * @param name Name of the connection.
+         * 
+         * The following arguments are optional:
          * 
          * @return builder
          * 
@@ -367,7 +383,7 @@ public Builder name(String name) {
         }
 
         /**
-         * @param physicalConnectionRequirements A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.
+         * @param physicalConnectionRequirements Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details.
          * 
          * @return builder
          * 
@@ -378,7 +394,7 @@ public Builder physicalConnectionRequirements(@Nullable Output customDatatypes;
     /**
-     * @return The delimiter used in the Csv to separate columns.
+     * @return The delimiter used in the CSV to separate columns.
      * 
      */
     private @Nullable String delimiter;
@@ -53,6 +53,10 @@ public final class ClassifierCsvClassifier {
      * 
      */
     private @Nullable String quoteSymbol;
+    /**
+     * @return The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`.
+     * 
+     */
     private @Nullable String serde;
 
     private ClassifierCsvClassifier() {}
@@ -85,7 +89,7 @@ public List customDatatypes() {
         return this.customDatatypes == null ? List.of() : this.customDatatypes;
     }
     /**
-     * @return The delimiter used in the Csv to separate columns.
+     * @return The delimiter used in the CSV to separate columns.
      * 
      */
     public Optional delimiter() {
@@ -112,6 +116,10 @@ public List headers() {
     public Optional quoteSymbol() {
         return Optional.ofNullable(this.quoteSymbol);
     }
+    /**
+     * @return The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`.
+     * 
+     */
     public Optional serde() {
         return Optional.ofNullable(this.serde);
     }
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 5fa69731b83..67cda65ff21 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
@@ -263,7 +263,7 @@ public static CompletableFuture getAccessKeysPlain(GetAcces
      *     public static void stack(Context ctx) {
      *         final var current = IamFunctions.getAccountAlias();
      * 
-     *         ctx.export("accountId", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
+     *         ctx.export("accountAlias", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
      *     }
      * }
      * }
@@ -304,7 +304,7 @@ public static Output getAccountAlias() {
      *     public static void stack(Context ctx) {
      *         final var current = IamFunctions.getAccountAlias();
      * 
-     *         ctx.export("accountId", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
+     *         ctx.export("accountAlias", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
      *     }
      * }
      * }
@@ -345,7 +345,7 @@ public static CompletableFuture getAccountAliasPlain() {
      *     public static void stack(Context ctx) {
      *         final var current = IamFunctions.getAccountAlias();
      * 
-     *         ctx.export("accountId", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
+     *         ctx.export("accountAlias", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
      *     }
      * }
      * }
@@ -386,7 +386,7 @@ public static Output getAccountAlias(InvokeArgs args) {
      *     public static void stack(Context ctx) {
      *         final var current = IamFunctions.getAccountAlias();
      * 
-     *         ctx.export("accountId", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
+     *         ctx.export("accountAlias", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
      *     }
      * }
      * }
@@ -427,7 +427,7 @@ public static CompletableFuture getAccountAliasPlain(Invo
      *     public static void stack(Context ctx) {
      *         final var current = IamFunctions.getAccountAlias();
      * 
-     *         ctx.export("accountId", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
+     *         ctx.export("accountAlias", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
      *     }
      * }
      * }
@@ -468,7 +468,7 @@ public static Output getAccountAlias(InvokeArgs args, Inv
      *     public static void stack(Context ctx) {
      *         final var current = IamFunctions.getAccountAlias();
      * 
-     *         ctx.export("accountId", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
+     *         ctx.export("accountAlias", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
      *     }
      * }
      * }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalArgs.java
new file mode 100644
index 00000000000..33cdbdcb2e9
--- /dev/null
+++ b/sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalArgs.java
@@ -0,0 +1,124 @@
+// *** WARNING: this file was generated by pulumi-java-gen. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+package com.pulumi.aws.inputs;
+
+import com.pulumi.core.Output;
+import com.pulumi.core.annotations.Import;
+import com.pulumi.exceptions.MissingRequiredPropertyException;
+import java.lang.String;
+import java.util.Objects;
+import java.util.Optional;
+import javax.annotation.Nullable;
+
+
+public final class GetServicePrincipalArgs extends com.pulumi.resources.InvokeArgs {
+
+    public static final GetServicePrincipalArgs Empty = new GetServicePrincipalArgs();
+
+    /**
+     * Region you'd like the SPN for. By default, uses the current region.
+     * 
+     */
+    @Import(name="region")
+    private @Nullable Output region;
+
+    /**
+     * @return Region you'd like the SPN for. By default, uses the current region.
+     * 
+     */
+    public Optional> region() {
+        return Optional.ofNullable(this.region);
+    }
+
+    /**
+     * Name of the service you want to generate a Service Principal Name for.
+     * 
+     */
+    @Import(name="serviceName", required=true)
+    private Output serviceName;
+
+    /**
+     * @return Name of the service you want to generate a Service Principal Name for.
+     * 
+     */
+    public Output serviceName() {
+        return this.serviceName;
+    }
+
+    private GetServicePrincipalArgs() {}
+
+    private GetServicePrincipalArgs(GetServicePrincipalArgs $) {
+        this.region = $.region;
+        this.serviceName = $.serviceName;
+    }
+
+    public static Builder builder() {
+        return new Builder();
+    }
+    public static Builder builder(GetServicePrincipalArgs defaults) {
+        return new Builder(defaults);
+    }
+
+    public static final class Builder {
+        private GetServicePrincipalArgs $;
+
+        public Builder() {
+            $ = new GetServicePrincipalArgs();
+        }
+
+        public Builder(GetServicePrincipalArgs defaults) {
+            $ = new GetServicePrincipalArgs(Objects.requireNonNull(defaults));
+        }
+
+        /**
+         * @param region Region you'd like the SPN for. By default, uses the current region.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder region(@Nullable Output region) {
+            $.region = region;
+            return this;
+        }
+
+        /**
+         * @param region Region you'd like the SPN for. By default, uses the current region.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder region(String region) {
+            return region(Output.of(region));
+        }
+
+        /**
+         * @param serviceName Name of the service you want to generate a Service Principal Name for.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder serviceName(Output serviceName) {
+            $.serviceName = serviceName;
+            return this;
+        }
+
+        /**
+         * @param serviceName Name of the service you want to generate a Service Principal Name for.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder serviceName(String serviceName) {
+            return serviceName(Output.of(serviceName));
+        }
+
+        public GetServicePrincipalArgs build() {
+            if ($.serviceName == null) {
+                throw new MissingRequiredPropertyException("GetServicePrincipalArgs", "serviceName");
+            }
+            return $;
+        }
+    }
+
+}
diff --git a/sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalPlainArgs.java
new file mode 100644
index 00000000000..a932c0d37d2
--- /dev/null
+++ b/sdk/java/src/main/java/com/pulumi/aws/inputs/GetServicePrincipalPlainArgs.java
@@ -0,0 +1,103 @@
+// *** WARNING: this file was generated by pulumi-java-gen. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+package com.pulumi.aws.inputs;
+
+import com.pulumi.core.annotations.Import;
+import com.pulumi.exceptions.MissingRequiredPropertyException;
+import java.lang.String;
+import java.util.Objects;
+import java.util.Optional;
+import javax.annotation.Nullable;
+
+
+public final class GetServicePrincipalPlainArgs extends com.pulumi.resources.InvokeArgs {
+
+    public static final GetServicePrincipalPlainArgs Empty = new GetServicePrincipalPlainArgs();
+
+    /**
+     * Region you'd like the SPN for. By default, uses the current region.
+     * 
+     */
+    @Import(name="region")
+    private @Nullable String region;
+
+    /**
+     * @return Region you'd like the SPN for. By default, uses the current region.
+     * 
+     */
+    public Optional region() {
+        return Optional.ofNullable(this.region);
+    }
+
+    /**
+     * Name of the service you want to generate a Service Principal Name for.
+     * 
+     */
+    @Import(name="serviceName", required=true)
+    private String serviceName;
+
+    /**
+     * @return Name of the service you want to generate a Service Principal Name for.
+     * 
+     */
+    public String serviceName() {
+        return this.serviceName;
+    }
+
+    private GetServicePrincipalPlainArgs() {}
+
+    private GetServicePrincipalPlainArgs(GetServicePrincipalPlainArgs $) {
+        this.region = $.region;
+        this.serviceName = $.serviceName;
+    }
+
+    public static Builder builder() {
+        return new Builder();
+    }
+    public static Builder builder(GetServicePrincipalPlainArgs defaults) {
+        return new Builder(defaults);
+    }
+
+    public static final class Builder {
+        private GetServicePrincipalPlainArgs $;
+
+        public Builder() {
+            $ = new GetServicePrincipalPlainArgs();
+        }
+
+        public Builder(GetServicePrincipalPlainArgs defaults) {
+            $ = new GetServicePrincipalPlainArgs(Objects.requireNonNull(defaults));
+        }
+
+        /**
+         * @param region Region you'd like the SPN for. By default, uses the current region.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder region(@Nullable String region) {
+            $.region = region;
+            return this;
+        }
+
+        /**
+         * @param serviceName Name of the service you want to generate a Service Principal Name for.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder serviceName(String serviceName) {
+            $.serviceName = serviceName;
+            return this;
+        }
+
+        public GetServicePrincipalPlainArgs build() {
+            if ($.serviceName == null) {
+                throw new MissingRequiredPropertyException("GetServicePrincipalPlainArgs", "serviceName");
+            }
+            return $;
+        }
+    }
+
+}
diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/RuntimeManagementConfig.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/RuntimeManagementConfig.java
index d03f14e748e..4e84f5c7dc7 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/lambda/RuntimeManagementConfig.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/RuntimeManagementConfig.java
@@ -20,7 +20,7 @@
  * Refer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes.
  * 
  * > Deletion of this resource returns the runtime update mode to `Auto` (the default behavior).
- * To leave the configured runtime management options in-place, use a `removed` block withe destroy lifecycle set to `false`.
+ * To leave the configured runtime management options in-place, use a `removed` block with the destroy lifecycle set to `false`.
  * 
  * ## Example Usage
  * 
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 2d35e937247..0739612157b 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
@@ -397,22 +397,30 @@ public Output> lastUpdateds() {
         return this.lastUpdateds;
     }
     /**
-     * The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+     * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
      * 
      */
     @Export(name="loggingConfiguration", refs={EnvironmentLoggingConfiguration.class}, tree="[0]")
     private Output loggingConfiguration;
 
     /**
-     * @return The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+     * @return The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
      * 
      */
     public Output loggingConfiguration() {
         return this.loggingConfiguration;
     }
+    /**
+     * The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     @Export(name="maxWebservers", refs={Integer.class}, tree="[0]")
     private Output maxWebservers;
 
+    /**
+     * @return The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     public Output maxWebservers() {
         return this.maxWebservers;
     }
@@ -430,9 +438,17 @@ public Output maxWebservers() {
     public Output maxWorkers() {
         return this.maxWorkers;
     }
+    /**
+     * The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     @Export(name="minWebservers", refs={Integer.class}, tree="[0]")
     private Output minWebservers;
 
+    /**
+     * @return The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     public Output minWebservers() {
         return this.minWebservers;
     }
@@ -465,14 +481,14 @@ public Output name() {
         return this.name;
     }
     /**
-     * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+     * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
      * 
      */
     @Export(name="networkConfiguration", refs={EnvironmentNetworkConfiguration.class}, tree="[0]")
     private Output networkConfiguration;
 
     /**
-     * @return Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+     * @return Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
      * 
      */
     public Output networkConfiguration() {
diff --git a/sdk/java/src/main/java/com/pulumi/aws/mwaa/EnvironmentArgs.java b/sdk/java/src/main/java/com/pulumi/aws/mwaa/EnvironmentArgs.java
index a713c7e085f..f7ccf377063 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/mwaa/EnvironmentArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/mwaa/EnvironmentArgs.java
@@ -126,23 +126,31 @@ public Optional> kmsKey() {
     }
 
     /**
-     * The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+     * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
      * 
      */
     @Import(name="loggingConfiguration")
     private @Nullable Output loggingConfiguration;
 
     /**
-     * @return The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+     * @return The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
      * 
      */
     public Optional> loggingConfiguration() {
         return Optional.ofNullable(this.loggingConfiguration);
     }
 
+    /**
+     * The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     @Import(name="maxWebservers")
     private @Nullable Output maxWebservers;
 
+    /**
+     * @return The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     public Optional> maxWebservers() {
         return Optional.ofNullable(this.maxWebservers);
     }
@@ -162,9 +170,17 @@ public Optional> maxWorkers() {
         return Optional.ofNullable(this.maxWorkers);
     }
 
+    /**
+     * The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     @Import(name="minWebservers")
     private @Nullable Output minWebservers;
 
+    /**
+     * @return The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     public Optional> minWebservers() {
         return Optional.ofNullable(this.minWebservers);
     }
@@ -200,14 +216,14 @@ public Optional> name() {
     }
 
     /**
-     * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+     * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
      * 
      */
     @Import(name="networkConfiguration", required=true)
     private Output networkConfiguration;
 
     /**
-     * @return Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+     * @return Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
      * 
      */
     public Output networkConfiguration() {
@@ -575,7 +591,7 @@ public Builder kmsKey(String kmsKey) {
         }
 
         /**
-         * @param loggingConfiguration The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+         * @param loggingConfiguration The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
          * 
          * @return builder
          * 
@@ -586,7 +602,7 @@ public Builder loggingConfiguration(@Nullable Output maxWebservers) {
             $.maxWebservers = maxWebservers;
             return this;
         }
 
+        /**
+         * @param maxWebservers The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+         * 
+         * @return builder
+         * 
+         */
         public Builder maxWebservers(Integer maxWebservers) {
             return maxWebservers(Output.of(maxWebservers));
         }
@@ -625,11 +653,23 @@ public Builder maxWorkers(Integer maxWorkers) {
             return maxWorkers(Output.of(maxWorkers));
         }
 
+        /**
+         * @param minWebservers The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+         * 
+         * @return builder
+         * 
+         */
         public Builder minWebservers(@Nullable Output minWebservers) {
             $.minWebservers = minWebservers;
             return this;
         }
 
+        /**
+         * @param minWebservers The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+         * 
+         * @return builder
+         * 
+         */
         public Builder minWebservers(Integer minWebservers) {
             return minWebservers(Output.of(minWebservers));
         }
@@ -677,7 +717,7 @@ public Builder name(String name) {
         }
 
         /**
-         * @param networkConfiguration Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+         * @param networkConfiguration Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
          * 
          * @return builder
          * 
@@ -688,7 +728,7 @@ public Builder networkConfiguration(Output
         }
 
         /**
-         * @param networkConfiguration Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+         * @param networkConfiguration Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
          * 
          * @return builder
          * 
diff --git a/sdk/java/src/main/java/com/pulumi/aws/mwaa/inputs/EnvironmentState.java b/sdk/java/src/main/java/com/pulumi/aws/mwaa/inputs/EnvironmentState.java
index b9cf511dea9..88f31891dbc 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/mwaa/inputs/EnvironmentState.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/mwaa/inputs/EnvironmentState.java
@@ -181,23 +181,31 @@ public Optional>> lastUpdateds() {
     }
 
     /**
-     * The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+     * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
      * 
      */
     @Import(name="loggingConfiguration")
     private @Nullable Output loggingConfiguration;
 
     /**
-     * @return The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+     * @return The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
      * 
      */
     public Optional> loggingConfiguration() {
         return Optional.ofNullable(this.loggingConfiguration);
     }
 
+    /**
+     * The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     @Import(name="maxWebservers")
     private @Nullable Output maxWebservers;
 
+    /**
+     * @return The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     public Optional> maxWebservers() {
         return Optional.ofNullable(this.maxWebservers);
     }
@@ -217,9 +225,17 @@ public Optional> maxWorkers() {
         return Optional.ofNullable(this.maxWorkers);
     }
 
+    /**
+     * The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     @Import(name="minWebservers")
     private @Nullable Output minWebservers;
 
+    /**
+     * @return The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+     * 
+     */
     public Optional> minWebservers() {
         return Optional.ofNullable(this.minWebservers);
     }
@@ -255,14 +271,14 @@ public Optional> name() {
     }
 
     /**
-     * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+     * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
      * 
      */
     @Import(name="networkConfiguration")
     private @Nullable Output networkConfiguration;
 
     /**
-     * @return Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+     * @return Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
      * 
      */
     public Optional> networkConfiguration() {
@@ -800,7 +816,7 @@ public Builder lastUpdateds(EnvironmentLastUpdatedArgs... lastUpdateds) {
         }
 
         /**
-         * @param loggingConfiguration The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
+         * @param loggingConfiguration The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details.
          * 
          * @return builder
          * 
@@ -811,7 +827,7 @@ public Builder loggingConfiguration(@Nullable Output maxWebservers) {
             $.maxWebservers = maxWebservers;
             return this;
         }
 
+        /**
+         * @param maxWebservers The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+         * 
+         * @return builder
+         * 
+         */
         public Builder maxWebservers(Integer maxWebservers) {
             return maxWebservers(Output.of(maxWebservers));
         }
@@ -850,11 +878,23 @@ public Builder maxWorkers(Integer maxWorkers) {
             return maxWorkers(Output.of(maxWorkers));
         }
 
+        /**
+         * @param minWebservers The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+         * 
+         * @return builder
+         * 
+         */
         public Builder minWebservers(@Nullable Output minWebservers) {
             $.minWebservers = minWebservers;
             return this;
         }
 
+        /**
+         * @param minWebservers The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default.
+         * 
+         * @return builder
+         * 
+         */
         public Builder minWebservers(Integer minWebservers) {
             return minWebservers(Output.of(minWebservers));
         }
@@ -902,7 +942,7 @@ public Builder name(String name) {
         }
 
         /**
-         * @param networkConfiguration Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details.
+         * @param networkConfiguration Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details.
          * 
          * @return builder
          * 
@@ -913,7 +953,7 @@ public Builder networkConfiguration(@Nullable Output backupRetentionPeriod() {
      * 
      */
     @Export(name="caCertificateIdentifier", refs={String.class}, tree="[0]")
-    private Output caCertificateIdentifier;
+    private Output caCertificateIdentifier;
 
     /**
      * @return The CA certificate identifier to use for the DB cluster's server certificate.
      * 
      */
-    public Output> caCertificateIdentifier() {
-        return Codegen.optional(this.caCertificateIdentifier);
+    public Output caCertificateIdentifier() {
+        return this.caCertificateIdentifier;
     }
     /**
      * Expiration date of the DB instance’s server certificate
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 ccd6138db22..988b3e08a48 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
@@ -208,6 +208,20 @@ public Output licenseModel() {
     public Output port() {
         return this.port;
     }
+    /**
+     * List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    @Export(name="sharedAccounts", refs={List.class,String.class}, tree="[0,1]")
+    private Output> sharedAccounts;
+
+    /**
+     * @return List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    public Output>> sharedAccounts() {
+        return Codegen.optional(this.sharedAccounts);
+    }
     @Export(name="snapshotType", refs={String.class}, tree="[0]")
     private Output snapshotType;
 
diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshotArgs.java
index b8a0d18ddd0..5185200e24a 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshotArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterSnapshotArgs.java
@@ -7,6 +7,7 @@
 import com.pulumi.core.annotations.Import;
 import com.pulumi.exceptions.MissingRequiredPropertyException;
 import java.lang.String;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
@@ -47,6 +48,21 @@ public Output dbClusterSnapshotIdentifier() {
         return this.dbClusterSnapshotIdentifier;
     }
 
+    /**
+     * List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    @Import(name="sharedAccounts")
+    private @Nullable Output> sharedAccounts;
+
+    /**
+     * @return List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    public Optional>> sharedAccounts() {
+        return Optional.ofNullable(this.sharedAccounts);
+    }
+
     /**
      * A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      * 
@@ -67,6 +83,7 @@ private ClusterSnapshotArgs() {}
     private ClusterSnapshotArgs(ClusterSnapshotArgs $) {
         this.dbClusterIdentifier = $.dbClusterIdentifier;
         this.dbClusterSnapshotIdentifier = $.dbClusterSnapshotIdentifier;
+        this.sharedAccounts = $.sharedAccounts;
         this.tags = $.tags;
     }
 
@@ -130,6 +147,37 @@ public Builder dbClusterSnapshotIdentifier(String dbClusterSnapshotIdentifier) {
             return dbClusterSnapshotIdentifier(Output.of(dbClusterSnapshotIdentifier));
         }
 
+        /**
+         * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(@Nullable Output> sharedAccounts) {
+            $.sharedAccounts = sharedAccounts;
+            return this;
+        }
+
+        /**
+         * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(List sharedAccounts) {
+            return sharedAccounts(Output.of(sharedAccounts));
+        }
+
+        /**
+         * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(String... sharedAccounts) {
+            return sharedAccounts(List.of(sharedAccounts));
+        }
+
         /**
          * @param tags A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
          * 
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 9089288292d..be144d3f4eb 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
@@ -13,6 +13,7 @@
 import java.lang.Boolean;
 import java.lang.Integer;
 import java.lang.String;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import javax.annotation.Nullable;
@@ -277,6 +278,20 @@ public Output port() {
     public Output> presignedUrl() {
         return Codegen.optional(this.presignedUrl);
     }
+    /**
+     * (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    @Export(name="sharedAccounts", refs={List.class,String.class}, tree="[0,1]")
+    private Output> sharedAccounts;
+
+    /**
+     * @return (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    public Output>> sharedAccounts() {
+        return Codegen.optional(this.sharedAccounts);
+    }
     @Export(name="snapshotType", refs={String.class}, tree="[0]")
     private Output snapshotType;
 
diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopyArgs.java
index c74e2dc2d0b..ec0277d57b3 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopyArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/rds/SnapshotCopyArgs.java
@@ -8,6 +8,7 @@
 import com.pulumi.exceptions.MissingRequiredPropertyException;
 import java.lang.Boolean;
 import java.lang.String;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
@@ -93,6 +94,21 @@ public Optional> presignedUrl() {
         return Optional.ofNullable(this.presignedUrl);
     }
 
+    /**
+     * (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    @Import(name="sharedAccounts")
+    private @Nullable Output> sharedAccounts;
+
+    /**
+     * @return (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    public Optional>> sharedAccounts() {
+        return Optional.ofNullable(this.sharedAccounts);
+    }
+
     /**
      * Snapshot identifier of the source snapshot.
      * 
@@ -161,6 +177,7 @@ private SnapshotCopyArgs(SnapshotCopyArgs $) {
         this.kmsKeyId = $.kmsKeyId;
         this.optionGroupName = $.optionGroupName;
         this.presignedUrl = $.presignedUrl;
+        this.sharedAccounts = $.sharedAccounts;
         this.sourceDbSnapshotIdentifier = $.sourceDbSnapshotIdentifier;
         this.tags = $.tags;
         this.targetCustomAvailabilityZone = $.targetCustomAvailabilityZone;
@@ -290,6 +307,37 @@ public Builder presignedUrl(String presignedUrl) {
             return presignedUrl(Output.of(presignedUrl));
         }
 
+        /**
+         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(@Nullable Output> sharedAccounts) {
+            $.sharedAccounts = sharedAccounts;
+            return this;
+        }
+
+        /**
+         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(List sharedAccounts) {
+            return sharedAccounts(Output.of(sharedAccounts));
+        }
+
+        /**
+         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(String... sharedAccounts) {
+            return sharedAccounts(List.of(sharedAccounts));
+        }
+
         /**
          * @param sourceDbSnapshotIdentifier Snapshot identifier of the source snapshot.
          * 
diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterScalingConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterScalingConfigurationArgs.java
index 62569ef216b..64f85a35c15 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterScalingConfigurationArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterScalingConfigurationArgs.java
@@ -62,6 +62,21 @@ public Optional> minCapacity() {
         return Optional.ofNullable(this.minCapacity);
     }
 
+    /**
+     * Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`.
+     * 
+     */
+    @Import(name="secondsBeforeTimeout")
+    private @Nullable Output secondsBeforeTimeout;
+
+    /**
+     * @return Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`.
+     * 
+     */
+    public Optional> secondsBeforeTimeout() {
+        return Optional.ofNullable(this.secondsBeforeTimeout);
+    }
+
     /**
      * Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.
      * 
@@ -98,6 +113,7 @@ private ClusterScalingConfigurationArgs(ClusterScalingConfigurationArgs $) {
         this.autoPause = $.autoPause;
         this.maxCapacity = $.maxCapacity;
         this.minCapacity = $.minCapacity;
+        this.secondsBeforeTimeout = $.secondsBeforeTimeout;
         this.secondsUntilAutoPause = $.secondsUntilAutoPause;
         this.timeoutAction = $.timeoutAction;
     }
@@ -183,6 +199,27 @@ public Builder minCapacity(Integer minCapacity) {
             return minCapacity(Output.of(minCapacity));
         }
 
+        /**
+         * @param secondsBeforeTimeout Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder secondsBeforeTimeout(@Nullable Output secondsBeforeTimeout) {
+            $.secondsBeforeTimeout = secondsBeforeTimeout;
+            return this;
+        }
+
+        /**
+         * @param secondsBeforeTimeout Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder secondsBeforeTimeout(Integer secondsBeforeTimeout) {
+            return secondsBeforeTimeout(Output.of(secondsBeforeTimeout));
+        }
+
         /**
          * @param secondsUntilAutoPause Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.
          * 
diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterSnapshotState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterSnapshotState.java
index f8ec0fc970e..eb5620c6870 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterSnapshotState.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterSnapshotState.java
@@ -169,6 +169,21 @@ public Optional> port() {
         return Optional.ofNullable(this.port);
     }
 
+    /**
+     * List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    @Import(name="sharedAccounts")
+    private @Nullable Output> sharedAccounts;
+
+    /**
+     * @return List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    public Optional>> sharedAccounts() {
+        return Optional.ofNullable(this.sharedAccounts);
+    }
+
     @Import(name="snapshotType")
     private @Nullable Output snapshotType;
 
@@ -279,6 +294,7 @@ private ClusterSnapshotState(ClusterSnapshotState $) {
         this.kmsKeyId = $.kmsKeyId;
         this.licenseModel = $.licenseModel;
         this.port = $.port;
+        this.sharedAccounts = $.sharedAccounts;
         this.snapshotType = $.snapshotType;
         this.sourceDbClusterSnapshotArn = $.sourceDbClusterSnapshotArn;
         this.status = $.status;
@@ -526,6 +542,37 @@ public Builder port(Integer port) {
             return port(Output.of(port));
         }
 
+        /**
+         * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(@Nullable Output> sharedAccounts) {
+            $.sharedAccounts = sharedAccounts;
+            return this;
+        }
+
+        /**
+         * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(List sharedAccounts) {
+            return sharedAccounts(Output.of(sharedAccounts));
+        }
+
+        /**
+         * @param sharedAccounts List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(String... sharedAccounts) {
+            return sharedAccounts(List.of(sharedAccounts));
+        }
+
         public Builder snapshotType(@Nullable Output snapshotType) {
             $.snapshotType = snapshotType;
             return this;
diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotCopyState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotCopyState.java
index 92991209c19..090ef8a07d1 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotCopyState.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/SnapshotCopyState.java
@@ -8,6 +8,7 @@
 import java.lang.Boolean;
 import java.lang.Integer;
 import java.lang.String;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
@@ -220,6 +221,21 @@ public Optional> presignedUrl() {
         return Optional.ofNullable(this.presignedUrl);
     }
 
+    /**
+     * (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    @Import(name="sharedAccounts")
+    private @Nullable Output> sharedAccounts;
+
+    /**
+     * @return (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+     * 
+     */
+    public Optional>> sharedAccounts() {
+        return Optional.ofNullable(this.sharedAccounts);
+    }
+
     @Import(name="snapshotType")
     private @Nullable Output snapshotType;
 
@@ -372,6 +388,7 @@ private SnapshotCopyState(SnapshotCopyState $) {
         this.optionGroupName = $.optionGroupName;
         this.port = $.port;
         this.presignedUrl = $.presignedUrl;
+        this.sharedAccounts = $.sharedAccounts;
         this.snapshotType = $.snapshotType;
         this.sourceDbSnapshotIdentifier = $.sourceDbSnapshotIdentifier;
         this.sourceRegion = $.sourceRegion;
@@ -683,6 +700,37 @@ public Builder presignedUrl(String presignedUrl) {
             return presignedUrl(Output.of(presignedUrl));
         }
 
+        /**
+         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(@Nullable Output> sharedAccounts) {
+            $.sharedAccounts = sharedAccounts;
+            return this;
+        }
+
+        /**
+         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(List sharedAccounts) {
+            return sharedAccounts(Output.of(sharedAccounts));
+        }
+
+        /**
+         * @param sharedAccounts (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public.
+         * 
+         * @return builder
+         * 
+         */
+        public Builder sharedAccounts(String... sharedAccounts) {
+            return sharedAccounts(List.of(sharedAccounts));
+        }
+
         public Builder snapshotType(@Nullable Output snapshotType) {
             $.snapshotType = snapshotType;
             return this;
diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterScalingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterScalingConfiguration.java
index 65bdbe05874..0bf52259a46 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterScalingConfiguration.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterScalingConfiguration.java
@@ -28,6 +28,11 @@ public final class ClusterScalingConfiguration {
      * 
      */
     private @Nullable Integer minCapacity;
+    /**
+     * @return Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`.
+     * 
+     */
+    private @Nullable Integer secondsBeforeTimeout;
     /**
      * @return Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.
      * 
@@ -61,6 +66,13 @@ public Optional maxCapacity() {
     public Optional minCapacity() {
         return Optional.ofNullable(this.minCapacity);
     }
+    /**
+     * @return Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`.
+     * 
+     */
+    public Optional secondsBeforeTimeout() {
+        return Optional.ofNullable(this.secondsBeforeTimeout);
+    }
     /**
      * @return Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`.
      * 
@@ -88,6 +100,7 @@ public static final class Builder {
         private @Nullable Boolean autoPause;
         private @Nullable Integer maxCapacity;
         private @Nullable Integer minCapacity;
+        private @Nullable Integer secondsBeforeTimeout;
         private @Nullable Integer secondsUntilAutoPause;
         private @Nullable String timeoutAction;
         public Builder() {}
@@ -96,6 +109,7 @@ public Builder(ClusterScalingConfiguration defaults) {
     	      this.autoPause = defaults.autoPause;
     	      this.maxCapacity = defaults.maxCapacity;
     	      this.minCapacity = defaults.minCapacity;
+    	      this.secondsBeforeTimeout = defaults.secondsBeforeTimeout;
     	      this.secondsUntilAutoPause = defaults.secondsUntilAutoPause;
     	      this.timeoutAction = defaults.timeoutAction;
         }
@@ -119,6 +133,12 @@ public Builder minCapacity(@Nullable Integer minCapacity) {
             return this;
         }
         @CustomType.Setter
+        public Builder secondsBeforeTimeout(@Nullable Integer secondsBeforeTimeout) {
+
+            this.secondsBeforeTimeout = secondsBeforeTimeout;
+            return this;
+        }
+        @CustomType.Setter
         public Builder secondsUntilAutoPause(@Nullable Integer secondsUntilAutoPause) {
 
             this.secondsUntilAutoPause = secondsUntilAutoPause;
@@ -135,6 +155,7 @@ public ClusterScalingConfiguration build() {
             _resultValue.autoPause = autoPause;
             _resultValue.maxCapacity = maxCapacity;
             _resultValue.minCapacity = minCapacity;
+            _resultValue.secondsBeforeTimeout = secondsBeforeTimeout;
             _resultValue.secondsUntilAutoPause = secondsUntilAutoPause;
             _resultValue.timeoutAction = timeoutAction;
             return _resultValue;
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 bebdb7316f3..03b5d618b72 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
@@ -113,14 +113,14 @@ public Output homeEfsFileSystemUid() {
         return this.homeEfsFileSystemUid;
     }
     /**
-     * A collection of ownership settings. See `ownership_settings` Block below.
+     * A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
      * 
      */
     @Export(name="ownershipSettings", refs={SpaceOwnershipSettings.class}, tree="[0]")
     private Output ownershipSettings;
 
     /**
-     * @return A collection of ownership settings. See `ownership_settings` Block below.
+     * @return A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
      * 
      */
     public Output> ownershipSettings() {
@@ -169,14 +169,14 @@ public Output> spaceSettings() {
         return Codegen.optional(this.spaceSettings);
     }
     /**
-     * A collection of space sharing settings. See `space_sharing_settings` Block below.
+     * A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
      * 
      */
     @Export(name="spaceSharingSettings", refs={SpaceSpaceSharingSettings.class}, tree="[0]")
     private Output spaceSharingSettings;
 
     /**
-     * @return A collection of space sharing settings. See `space_sharing_settings` Block below.
+     * @return A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
      * 
      */
     public Output> spaceSharingSettings() {
diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SpaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SpaceArgs.java
index 697a62cc7f1..b4b25b67ebb 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SpaceArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SpaceArgs.java
@@ -36,14 +36,14 @@ public Output domainId() {
     }
 
     /**
-     * A collection of ownership settings. See `ownership_settings` Block below.
+     * A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
      * 
      */
     @Import(name="ownershipSettings")
     private @Nullable Output ownershipSettings;
 
     /**
-     * @return A collection of ownership settings. See `ownership_settings` Block below.
+     * @return A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
      * 
      */
     public Optional> ownershipSettings() {
@@ -96,14 +96,14 @@ public Optional> spaceSettings() {
     }
 
     /**
-     * A collection of space sharing settings. See `space_sharing_settings` Block below.
+     * A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
      * 
      */
     @Import(name="spaceSharingSettings")
     private @Nullable Output spaceSharingSettings;
 
     /**
-     * @return A collection of space sharing settings. See `space_sharing_settings` Block below.
+     * @return A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
      * 
      */
     public Optional> spaceSharingSettings() {
@@ -177,7 +177,7 @@ public Builder domainId(String domainId) {
         }
 
         /**
-         * @param ownershipSettings A collection of ownership settings. See `ownership_settings` Block below.
+         * @param ownershipSettings A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
          * 
          * @return builder
          * 
@@ -188,7 +188,7 @@ public Builder ownershipSettings(@Nullable Output ow
         }
 
         /**
-         * @param ownershipSettings A collection of ownership settings. See `ownership_settings` Block below.
+         * @param ownershipSettings A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
          * 
          * @return builder
          * 
@@ -261,7 +261,7 @@ public Builder spaceSettings(SpaceSpaceSettingsArgs spaceSettings) {
         }
 
         /**
-         * @param spaceSharingSettings A collection of space sharing settings. See `space_sharing_settings` Block below.
+         * @param spaceSharingSettings A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
          * 
          * @return builder
          * 
@@ -272,7 +272,7 @@ public Builder spaceSharingSettings(@Nullable Output> kernelGa
         return Optional.ofNullable(this.kernelGatewayAppSettings);
     }
 
+    /**
+     * The storage settings. See `space_storage_settings` Block below.
+     * 
+     */
     @Import(name="spaceStorageSettings")
     private @Nullable Output spaceStorageSettings;
 
+    /**
+     * @return The storage settings. See `space_storage_settings` Block below.
+     * 
+     */
     public Optional> spaceStorageSettings() {
         return Optional.ofNullable(this.spaceStorageSettings);
     }
@@ -285,11 +293,23 @@ public Builder kernelGatewayAppSettings(SpaceSpaceSettingsKernelGatewayAppSettin
             return kernelGatewayAppSettings(Output.of(kernelGatewayAppSettings));
         }
 
+        /**
+         * @param spaceStorageSettings The storage settings. See `space_storage_settings` Block below.
+         * 
+         * @return builder
+         * 
+         */
         public Builder spaceStorageSettings(@Nullable Output spaceStorageSettings) {
             $.spaceStorageSettings = spaceStorageSettings;
             return this;
         }
 
+        /**
+         * @param spaceStorageSettings The storage settings. See `space_storage_settings` Block below.
+         * 
+         * @return builder
+         * 
+         */
         public Builder spaceStorageSettings(SpaceSpaceSettingsSpaceStorageSettingsArgs spaceStorageSettings) {
             return spaceStorageSettings(Output.of(spaceStorageSettings));
         }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.java
index 517640c6221..e0914a292e7 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsArgs.java
@@ -14,9 +14,17 @@ public final class SpaceSpaceSettingsSpaceStorageSettingsArgs extends com.pulumi
 
     public static final SpaceSpaceSettingsSpaceStorageSettingsArgs Empty = new SpaceSpaceSettingsSpaceStorageSettingsArgs();
 
+    /**
+     * A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below.
+     * 
+     */
     @Import(name="ebsStorageSettings", required=true)
     private Output ebsStorageSettings;
 
+    /**
+     * @return A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below.
+     * 
+     */
     public Output ebsStorageSettings() {
         return this.ebsStorageSettings;
     }
@@ -45,11 +53,23 @@ public Builder(SpaceSpaceSettingsSpaceStorageSettingsArgs defaults) {
             $ = new SpaceSpaceSettingsSpaceStorageSettingsArgs(Objects.requireNonNull(defaults));
         }
 
+        /**
+         * @param ebsStorageSettings A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below.
+         * 
+         * @return builder
+         * 
+         */
         public Builder ebsStorageSettings(Output ebsStorageSettings) {
             $.ebsStorageSettings = ebsStorageSettings;
             return this;
         }
 
+        /**
+         * @param ebsStorageSettings A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below.
+         * 
+         * @return builder
+         * 
+         */
         public Builder ebsStorageSettings(SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs ebsStorageSettings) {
             return ebsStorageSettings(Output.of(ebsStorageSettings));
         }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.java
index c7a23b6067a..596726708bb 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs.java
@@ -14,9 +14,17 @@ public final class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs
 
     public static final SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs Empty = new SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs();
 
+    /**
+     * The size of an EBS storage volume for a space.
+     * 
+     */
     @Import(name="ebsVolumeSizeInGb", required=true)
     private Output ebsVolumeSizeInGb;
 
+    /**
+     * @return The size of an EBS storage volume for a space.
+     * 
+     */
     public Output ebsVolumeSizeInGb() {
         return this.ebsVolumeSizeInGb;
     }
@@ -45,11 +53,23 @@ public Builder(SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs defa
             $ = new SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs(Objects.requireNonNull(defaults));
         }
 
+        /**
+         * @param ebsVolumeSizeInGb The size of an EBS storage volume for a space.
+         * 
+         * @return builder
+         * 
+         */
         public Builder ebsVolumeSizeInGb(Output ebsVolumeSizeInGb) {
             $.ebsVolumeSizeInGb = ebsVolumeSizeInGb;
             return this;
         }
 
+        /**
+         * @param ebsVolumeSizeInGb The size of an EBS storage volume for a space.
+         * 
+         * @return builder
+         * 
+         */
         public Builder ebsVolumeSizeInGb(Integer ebsVolumeSizeInGb) {
             return ebsVolumeSizeInGb(Output.of(ebsVolumeSizeInGb));
         }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceState.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceState.java
index 395b57e288e..9f45fc4b6cd 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceState.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/SpaceState.java
@@ -65,14 +65,14 @@ public Optional> homeEfsFileSystemUid() {
     }
 
     /**
-     * A collection of ownership settings. See `ownership_settings` Block below.
+     * A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
      * 
      */
     @Import(name="ownershipSettings")
     private @Nullable Output ownershipSettings;
 
     /**
-     * @return A collection of ownership settings. See `ownership_settings` Block below.
+     * @return A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
      * 
      */
     public Optional> ownershipSettings() {
@@ -125,14 +125,14 @@ public Optional> spaceSettings() {
     }
 
     /**
-     * A collection of space sharing settings. See `space_sharing_settings` Block below.
+     * A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
      * 
      */
     @Import(name="spaceSharingSettings")
     private @Nullable Output spaceSharingSettings;
 
     /**
-     * @return A collection of space sharing settings. See `space_sharing_settings` Block below.
+     * @return A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
      * 
      */
     public Optional> spaceSharingSettings() {
@@ -290,7 +290,7 @@ public Builder homeEfsFileSystemUid(String homeEfsFileSystemUid) {
         }
 
         /**
-         * @param ownershipSettings A collection of ownership settings. See `ownership_settings` Block below.
+         * @param ownershipSettings A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
          * 
          * @return builder
          * 
@@ -301,7 +301,7 @@ public Builder ownershipSettings(@Nullable Output ow
         }
 
         /**
-         * @param ownershipSettings A collection of ownership settings. See `ownership_settings` Block below.
+         * @param ownershipSettings A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below.
          * 
          * @return builder
          * 
@@ -374,7 +374,7 @@ public Builder spaceSettings(SpaceSpaceSettingsArgs spaceSettings) {
         }
 
         /**
-         * @param spaceSharingSettings A collection of space sharing settings. See `space_sharing_settings` Block below.
+         * @param spaceSharingSettings A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below.
          * 
          * @return builder
          * 
@@ -385,7 +385,7 @@ public Builder spaceSharingSettings(@Nullable Output jupyterServerAppSett
     public Optional kernelGatewayAppSettings() {
         return Optional.ofNullable(this.kernelGatewayAppSettings);
     }
+    /**
+     * @return The storage settings. See `space_storage_settings` Block below.
+     * 
+     */
     public Optional spaceStorageSettings() {
         return Optional.ofNullable(this.spaceStorageSettings);
     }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettings.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettings.java
index 360c55ea8f4..fd2c18ecc65 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettings.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettings.java
@@ -10,9 +10,17 @@
 
 @CustomType
 public final class SpaceSpaceSettingsSpaceStorageSettings {
+    /**
+     * @return A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below.
+     * 
+     */
     private SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings ebsStorageSettings;
 
     private SpaceSpaceSettingsSpaceStorageSettings() {}
+    /**
+     * @return A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below.
+     * 
+     */
     public SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings ebsStorageSettings() {
         return this.ebsStorageSettings;
     }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.java
index a5efe707c7a..d1afdc5ac66 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings.java
@@ -10,9 +10,17 @@
 
 @CustomType
 public final class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings {
+    /**
+     * @return The size of an EBS storage volume for a space.
+     * 
+     */
     private Integer ebsVolumeSizeInGb;
 
     private SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings() {}
+    /**
+     * @return The size of an EBS storage volume for a space.
+     * 
+     */
     public Integer ebsVolumeSizeInGb() {
         return this.ebsVolumeSizeInGb;
     }
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 48cfd58db79..221688339b3 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
@@ -86,9 +86,17 @@
  */
 @ResourceType(type="aws:securitylake/subscriber:Subscriber")
 public class Subscriber extends com.pulumi.resources.CustomResource {
+    /**
+     * The Amazon S3 or Lake Formation access type.
+     * 
+     */
     @Export(name="accessType", refs={String.class}, tree="[0]")
     private Output accessType;
 
+    /**
+     * @return The Amazon S3 or Lake Formation access type.
+     * 
+     */
     public Output accessType() {
         return this.accessType;
     }
@@ -163,14 +171,14 @@ public Output s3BucketArn() {
         return this.s3BucketArn;
     }
     /**
-     * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+     * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
      * 
      */
     @Export(name="source", refs={SubscriberSource.class}, tree="[0]")
     private Output source;
 
     /**
-     * @return The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+     * @return The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
      * 
      */
     public Output> source() {
@@ -205,14 +213,14 @@ public Output subscriberEndpoint() {
         return this.subscriberEndpoint;
     }
     /**
-     * The AWS identity used to access your data.
+     * The AWS identity used to access your data. See `subscriber_identity` Block below.
      * 
      */
     @Export(name="subscriberIdentity", refs={SubscriberSubscriberIdentity.class}, tree="[0]")
     private Output subscriberIdentity;
 
     /**
-     * @return The AWS identity used to access your data.
+     * @return The AWS identity used to access your data. See `subscriber_identity` Block below.
      * 
      */
     public Output> subscriberIdentity() {
diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberArgs.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberArgs.java
index 9de09192edd..cc039f9002b 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/SubscriberArgs.java
@@ -19,22 +19,30 @@ public final class SubscriberArgs extends com.pulumi.resources.ResourceArgs {
 
     public static final SubscriberArgs Empty = new SubscriberArgs();
 
+    /**
+     * The Amazon S3 or Lake Formation access type.
+     * 
+     */
     @Import(name="accessType")
     private @Nullable Output accessType;
 
+    /**
+     * @return The Amazon S3 or Lake Formation access type.
+     * 
+     */
     public Optional> accessType() {
         return Optional.ofNullable(this.accessType);
     }
 
     /**
-     * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+     * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
      * 
      */
     @Import(name="source")
     private @Nullable Output source;
 
     /**
-     * @return The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+     * @return The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
      * 
      */
     public Optional> source() {
@@ -57,14 +65,14 @@ public Optional> subscriberDescription() {
     }
 
     /**
-     * The AWS identity used to access your data.
+     * The AWS identity used to access your data. See `subscriber_identity` Block below.
      * 
      */
     @Import(name="subscriberIdentity")
     private @Nullable Output subscriberIdentity;
 
     /**
-     * @return The AWS identity used to access your data.
+     * @return The AWS identity used to access your data. See `subscriber_identity` Block below.
      * 
      */
     public Optional> subscriberIdentity() {
@@ -138,17 +146,29 @@ public Builder(SubscriberArgs defaults) {
             $ = new SubscriberArgs(Objects.requireNonNull(defaults));
         }
 
+        /**
+         * @param accessType The Amazon S3 or Lake Formation access type.
+         * 
+         * @return builder
+         * 
+         */
         public Builder accessType(@Nullable Output accessType) {
             $.accessType = accessType;
             return this;
         }
 
+        /**
+         * @param accessType The Amazon S3 or Lake Formation access type.
+         * 
+         * @return builder
+         * 
+         */
         public Builder accessType(String accessType) {
             return accessType(Output.of(accessType));
         }
 
         /**
-         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
          * 
          * @return builder
          * 
@@ -159,7 +179,7 @@ public Builder source(@Nullable Output source) {
         }
 
         /**
-         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
          * 
          * @return builder
          * 
@@ -190,7 +210,7 @@ public Builder subscriberDescription(String subscriberDescription) {
         }
 
         /**
-         * @param subscriberIdentity The AWS identity used to access your data.
+         * @param subscriberIdentity The AWS identity used to access your data. See `subscriber_identity` Block below.
          * 
          * @return builder
          * 
@@ -201,7 +221,7 @@ public Builder subscriberIdentity(@Nullable Output awsLogSourceResource;
 
     /**
-     * @return Amazon Security Lake supports log and event collection for natively supported AWS services.
+     * @return Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below.
      * 
      */
     public Optional> awsLogSourceResource() {
@@ -32,14 +32,14 @@ public Optional> awsLogSourceRe
     }
 
     /**
-     * Amazon Security Lake supports custom source types.
+     * Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below.
      * 
      */
     @Import(name="customLogSourceResource")
     private @Nullable Output customLogSourceResource;
 
     /**
-     * @return Amazon Security Lake supports custom source types.
+     * @return Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below.
      * 
      */
     public Optional> customLogSourceResource() {
@@ -72,7 +72,7 @@ public Builder(SubscriberSourceArgs defaults) {
         }
 
         /**
-         * @param awsLogSourceResource Amazon Security Lake supports log and event collection for natively supported AWS services.
+         * @param awsLogSourceResource Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below.
          * 
          * @return builder
          * 
@@ -83,7 +83,7 @@ public Builder awsLogSourceResource(@Nullable Output sourceName;
 
     /**
-     * @return The name for a third-party custom source. This must be a Regionally unique value.
+     * @return Provides data expiration details of Amazon Security Lake object.
      * 
      */
     public Output sourceName() {
@@ -32,14 +32,14 @@ public Output sourceName() {
     }
 
     /**
-     * The version for a third-party custom source. This must be a Regionally unique value.
+     * Provides data storage transition details of Amazon Security Lake object.
      * 
      */
     @Import(name="sourceVersion")
     private @Nullable Output sourceVersion;
 
     /**
-     * @return The version for a third-party custom source. This must be a Regionally unique value.
+     * @return Provides data storage transition details of Amazon Security Lake object.
      * 
      */
     public Optional> sourceVersion() {
@@ -72,7 +72,7 @@ public Builder(SubscriberSourceAwsLogSourceResourceArgs defaults) {
         }
 
         /**
-         * @param sourceName The name for a third-party custom source. This must be a Regionally unique value.
+         * @param sourceName Provides data expiration details of Amazon Security Lake object.
          * 
          * @return builder
          * 
@@ -83,7 +83,7 @@ public Builder sourceName(Output sourceName) {
         }
 
         /**
-         * @param sourceName The name for a third-party custom source. This must be a Regionally unique value.
+         * @param sourceName Provides data expiration details of Amazon Security Lake object.
          * 
          * @return builder
          * 
@@ -93,7 +93,7 @@ public Builder sourceName(String sourceName) {
         }
 
         /**
-         * @param sourceVersion The version for a third-party custom source. This must be a Regionally unique value.
+         * @param sourceVersion Provides data storage transition details of Amazon Security Lake object.
          * 
          * @return builder
          * 
@@ -104,7 +104,7 @@ public Builder sourceVersion(@Nullable Output sourceVersion) {
         }
 
         /**
-         * @param sourceVersion The version for a third-party custom source. This must be a Regionally unique value.
+         * @param sourceVersion Provides data storage transition details of Amazon Security Lake object.
          * 
          * @return builder
          * 
diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberSourceCustomLogSourceResourceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberSourceCustomLogSourceResourceArgs.java
index faedf4c17e5..354b6aebd0c 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberSourceCustomLogSourceResourceArgs.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberSourceCustomLogSourceResourceArgs.java
@@ -20,23 +20,31 @@ public final class SubscriberSourceCustomLogSourceResourceArgs extends com.pulum
     public static final SubscriberSourceCustomLogSourceResourceArgs Empty = new SubscriberSourceCustomLogSourceResourceArgs();
 
     /**
-     * The attributes of a third-party custom source.
+     * The attributes of the third-party custom source. See `attributes` Block below.
      * 
      */
     @Import(name="attributes")
     private @Nullable Output> attributes;
 
     /**
-     * @return The attributes of a third-party custom source.
+     * @return The attributes of the third-party custom source. See `attributes` Block below.
      * 
      */
     public Optional>> attributes() {
         return Optional.ofNullable(this.attributes);
     }
 
+    /**
+     * The details of the log provider for the third-party custom source. See `provider` Block below.
+     * 
+     */
     @Import(name="providers")
     private @Nullable Output> providers;
 
+    /**
+     * @return The details of the log provider for the third-party custom source. See `provider` Block below.
+     * 
+     */
     public Optional>> providers() {
         return Optional.ofNullable(this.providers);
     }
@@ -99,7 +107,7 @@ public Builder(SubscriberSourceCustomLogSourceResourceArgs defaults) {
         }
 
         /**
-         * @param attributes The attributes of a third-party custom source.
+         * @param attributes The attributes of the third-party custom source. See `attributes` Block below.
          * 
          * @return builder
          * 
@@ -110,7 +118,7 @@ public Builder attributes(@Nullable Output> providers) {
             $.providers = providers;
             return this;
         }
 
+        /**
+         * @param providers The details of the log provider for the third-party custom source. See `provider` Block below.
+         * 
+         * @return builder
+         * 
+         */
         public Builder providers(List providers) {
             return providers(Output.of(providers));
         }
 
+        /**
+         * @param providers The details of the log provider for the third-party custom source. See `provider` Block below.
+         * 
+         * @return builder
+         * 
+         */
         public Builder providers(SubscriberSourceCustomLogSourceResourceProviderArgs... providers) {
             return providers(List.of(providers));
         }
diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberState.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberState.java
index 71679ea0f08..f4c971f5f15 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberState.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/inputs/SubscriberState.java
@@ -19,9 +19,17 @@ public final class SubscriberState extends com.pulumi.resources.ResourceArgs {
 
     public static final SubscriberState Empty = new SubscriberState();
 
+    /**
+     * The Amazon S3 or Lake Formation access type.
+     * 
+     */
     @Import(name="accessType")
     private @Nullable Output accessType;
 
+    /**
+     * @return The Amazon S3 or Lake Formation access type.
+     * 
+     */
     public Optional> accessType() {
         return Optional.ofNullable(this.accessType);
     }
@@ -102,14 +110,14 @@ public Optional> s3BucketArn() {
     }
 
     /**
-     * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+     * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
      * 
      */
     @Import(name="source")
     private @Nullable Output source;
 
     /**
-     * @return The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+     * @return The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
      * 
      */
     public Optional> source() {
@@ -147,14 +155,14 @@ public Optional> subscriberEndpoint() {
     }
 
     /**
-     * The AWS identity used to access your data.
+     * The AWS identity used to access your data. See `subscriber_identity` Block below.
      * 
      */
     @Import(name="subscriberIdentity")
     private @Nullable Output subscriberIdentity;
 
     /**
-     * @return The AWS identity used to access your data.
+     * @return The AWS identity used to access your data. See `subscriber_identity` Block below.
      * 
      */
     public Optional> subscriberIdentity() {
@@ -274,11 +282,23 @@ public Builder(SubscriberState defaults) {
             $ = new SubscriberState(Objects.requireNonNull(defaults));
         }
 
+        /**
+         * @param accessType The Amazon S3 or Lake Formation access type.
+         * 
+         * @return builder
+         * 
+         */
         public Builder accessType(@Nullable Output accessType) {
             $.accessType = accessType;
             return this;
         }
 
+        /**
+         * @param accessType The Amazon S3 or Lake Formation access type.
+         * 
+         * @return builder
+         * 
+         */
         public Builder accessType(String accessType) {
             return accessType(Output.of(accessType));
         }
@@ -389,7 +409,7 @@ public Builder s3BucketArn(String s3BucketArn) {
         }
 
         /**
-         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
          * 
          * @return builder
          * 
@@ -400,7 +420,7 @@ public Builder source(@Nullable Output source) {
         }
 
         /**
-         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services.
+         * @param source The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below.
          * 
          * @return builder
          * 
@@ -452,7 +472,7 @@ public Builder subscriberEndpoint(String subscriberEndpoint) {
         }
 
         /**
-         * @param subscriberIdentity The AWS identity used to access your data.
+         * @param subscriberIdentity The AWS identity used to access your data. See `subscriber_identity` Block below.
          * 
          * @return builder
          * 
@@ -463,7 +483,7 @@ public Builder subscriberIdentity(@Nullable Output awsLogSourceResource() {
         return Optional.ofNullable(this.awsLogSourceResource);
     }
     /**
-     * @return Amazon Security Lake supports custom source types.
+     * @return Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below.
      * 
      */
     public Optional customLogSourceResource() {
diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceAwsLogSourceResource.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceAwsLogSourceResource.java
index 56a83349c2f..3b5b989e282 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceAwsLogSourceResource.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceAwsLogSourceResource.java
@@ -13,26 +13,26 @@
 @CustomType
 public final class SubscriberSourceAwsLogSourceResource {
     /**
-     * @return The name for a third-party custom source. This must be a Regionally unique value.
+     * @return Provides data expiration details of Amazon Security Lake object.
      * 
      */
     private String sourceName;
     /**
-     * @return The version for a third-party custom source. This must be a Regionally unique value.
+     * @return Provides data storage transition details of Amazon Security Lake object.
      * 
      */
     private @Nullable String sourceVersion;
 
     private SubscriberSourceAwsLogSourceResource() {}
     /**
-     * @return The name for a third-party custom source. This must be a Regionally unique value.
+     * @return Provides data expiration details of Amazon Security Lake object.
      * 
      */
     public String sourceName() {
         return this.sourceName;
     }
     /**
-     * @return The version for a third-party custom source. This must be a Regionally unique value.
+     * @return Provides data storage transition details of Amazon Security Lake object.
      * 
      */
     public Optional sourceVersion() {
diff --git a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceCustomLogSourceResource.java b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceCustomLogSourceResource.java
index 0cd0d998112..3f3bb04cc5f 100644
--- a/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceCustomLogSourceResource.java
+++ b/sdk/java/src/main/java/com/pulumi/aws/securitylake/outputs/SubscriberSourceCustomLogSourceResource.java
@@ -16,10 +16,14 @@
 @CustomType
 public final class SubscriberSourceCustomLogSourceResource {
     /**
-     * @return The attributes of a third-party custom source.
+     * @return The attributes of the third-party custom source. See `attributes` Block below.
      * 
      */
     private @Nullable List attributes;
+    /**
+     * @return The details of the log provider for the third-party custom source. See `provider` Block below.
+     * 
+     */
     private @Nullable List providers;
     /**
      * @return The name for a third-party custom source. This must be a Regionally unique value.
@@ -34,12 +38,16 @@ public final class SubscriberSourceCustomLogSourceResource {
 
     private SubscriberSourceCustomLogSourceResource() {}
     /**
-     * @return The attributes of a third-party custom source.
+     * @return The attributes of the third-party custom source. See `attributes` Block below.
      * 
      */
     public List attributes() {
         return this.attributes == null ? List.of() : this.attributes;
     }
+    /**
+     * @return The details of the log provider for the third-party custom source. See `provider` Block below.
+     * 
+     */
     public List providers() {
         return this.providers == null ? List.of() : this.providers;
     }
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 450d80b8a11..c10c6bf39d7 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
@@ -19,7 +19,7 @@
  * 
  * ## Example Usage
  * 
- * ### Cloud Watch Destination
+ * ### CloudWatch Destination
  * 
  * <!--Start PulumiCodeChooser -->
  * 
@@ -74,6 +74,57 @@
  * 
* <!--End PulumiCodeChooser --> * + * ### EventBridge Destination + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.cloudwatch.CloudwatchFunctions;
+ * import com.pulumi.aws.cloudwatch.inputs.GetEventBusArgs;
+ * import com.pulumi.aws.sesv2.ConfigurationSetEventDestination;
+ * import com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;
+ * import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;
+ * import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs;
+ * 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 default = CloudwatchFunctions.getEventBus(GetEventBusArgs.builder()
+ *             .name("default")
+ *             .build());
+ * 
+ *         var example = new ConfigurationSetEventDestination("example", ConfigurationSetEventDestinationArgs.builder()
+ *             .configurationSetName(exampleAwsSesv2ConfigurationSet.configurationSetName())
+ *             .eventDestinationName("example")
+ *             .eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()
+ *                 .eventBridgeDestination(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs.builder()
+ *                     .eventBusArn(default_.arn())
+ *                     .build())
+ *                 .enabled(true)
+ *                 .matchingEventTypes("SEND")
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * * ### Kinesis Firehose Destination * * <!--Start PulumiCodeChooser --> @@ -268,14 +319,14 @@ public Output eventDestination return this.eventDestination; } /** - * An object that defines the event destination. See event_destination below. + * An object that defines the event destination. See `event_destination` Block for details. * */ @Export(name="eventDestinationName", refs={String.class}, tree="[0]") private Output eventDestinationName; /** - * @return An object that defines the event destination. See event_destination below. + * @return An object that defines the event destination. See `event_destination` Block for details. * */ public Output eventDestinationName() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestinationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestinationArgs.java index 258b9373966..13bebf2ecee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestinationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSetEventDestinationArgs.java @@ -46,14 +46,14 @@ public Output eventDestina } /** - * An object that defines the event destination. See event_destination below. + * An object that defines the event destination. See `event_destination` Block for details. * */ @Import(name="eventDestinationName", required=true) private Output eventDestinationName; /** - * @return An object that defines the event destination. See event_destination below. + * @return An object that defines the event destination. See `event_destination` Block for details. * */ public Output eventDestinationName() { @@ -129,7 +129,7 @@ public Builder eventDestination(ConfigurationSetEventDestinationEventDestination } /** - * @param eventDestinationName An object that defines the event destination. See event_destination below. + * @param eventDestinationName An object that defines the event destination. See `event_destination` Block for details. * * @return builder * @@ -140,7 +140,7 @@ public Builder eventDestinationName(Output eventDestinationName) { } /** - * @param eventDestinationName An object that defines the event destination. See event_destination below. + * @param eventDestinationName An object that defines the event destination. See `event_destination` Block for details. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationEventDestinationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationEventDestinationArgs.java index fa50911687a..8427b8ee9b6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationEventDestinationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationEventDestinationArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.sesv2.inputs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs; +import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs; import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs; @@ -23,14 +24,14 @@ public final class ConfigurationSetEventDestinationEventDestinationArgs extends public static final ConfigurationSetEventDestinationEventDestinationArgs Empty = new ConfigurationSetEventDestinationEventDestinationArgs(); /** - * An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + * An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. * */ @Import(name="cloudWatchDestination") private @Nullable Output cloudWatchDestination; /** - * @return An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + * @return An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. * */ public Optional> cloudWatchDestination() { @@ -52,15 +53,22 @@ public Optional> enabled() { return Optional.ofNullable(this.enabled); } + @Import(name="eventBridgeDestination") + private @Nullable Output eventBridgeDestination; + + public Optional> eventBridgeDestination() { + return Optional.ofNullable(this.eventBridgeDestination); + } + /** - * An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + * An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. * */ @Import(name="kinesisFirehoseDestination") private @Nullable Output kinesisFirehoseDestination; /** - * @return An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + * @return An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. * */ public Optional> kinesisFirehoseDestination() { @@ -70,8 +78,6 @@ public Optional> matchingEventTypes; @@ -79,22 +85,20 @@ public Optional> matchingEventTypes() { return this.matchingEventTypes; } /** - * An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + * An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. * */ @Import(name="pinpointDestination") private @Nullable Output pinpointDestination; /** - * @return An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + * @return An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. * */ public Optional> pinpointDestination() { @@ -102,14 +106,14 @@ public Optional snsDestination; /** - * @return An object that defines an Amazon SNS destination for email events. See sns_destination below. + * @return An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. * */ public Optional> snsDestination() { @@ -121,6 +125,7 @@ private ConfigurationSetEventDestinationEventDestinationArgs() {} private ConfigurationSetEventDestinationEventDestinationArgs(ConfigurationSetEventDestinationEventDestinationArgs $) { this.cloudWatchDestination = $.cloudWatchDestination; this.enabled = $.enabled; + this.eventBridgeDestination = $.eventBridgeDestination; this.kinesisFirehoseDestination = $.kinesisFirehoseDestination; this.matchingEventTypes = $.matchingEventTypes; this.pinpointDestination = $.pinpointDestination; @@ -146,7 +151,7 @@ public Builder(ConfigurationSetEventDestinationEventDestinationArgs defaults) { } /** - * @param cloudWatchDestination An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + * @param cloudWatchDestination An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. * * @return builder * @@ -157,7 +162,7 @@ public Builder cloudWatchDestination(@Nullable Output eventBridgeDestination) { + $.eventBridgeDestination = eventBridgeDestination; + return this; + } + + public Builder eventBridgeDestination(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs eventBridgeDestination) { + return eventBridgeDestination(Output.of(eventBridgeDestination)); + } + /** - * @param kinesisFirehoseDestination An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + * @param kinesisFirehoseDestination An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. * * @return builder * @@ -199,7 +213,7 @@ public Builder kinesisFirehoseDestination(@Nullable Output> matchingEventTypes) { /** * @param matchingEventTypes An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. * - * The following arguments are optional: - * * @return builder * */ @@ -236,8 +246,6 @@ public Builder matchingEventTypes(List matchingEventTypes) { /** * @param matchingEventTypes An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. * - * The following arguments are optional: - * * @return builder * */ @@ -246,7 +254,7 @@ public Builder matchingEventTypes(String... matchingEventTypes) { } /** - * @param pinpointDestination An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + * @param pinpointDestination An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. * * @return builder * @@ -257,7 +265,7 @@ public Builder pinpointDestination(@Nullable Output> dimensionConfigurations; /** - * @return An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + * @return An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. * */ public Output> dimensionConfigurations() { @@ -55,7 +55,7 @@ public Builder(ConfigurationSetEventDestinationEventDestinationCloudWatchDestina } /** - * @param dimensionConfigurations An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + * @param dimensionConfigurations An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. * * @return builder * @@ -66,7 +66,7 @@ public Builder dimensionConfigurations(Output eventBusArn; + + /** + * @return The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + * + */ + public Output eventBusArn() { + return this.eventBusArn; + } + + private ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs() {} + + private ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs $) { + this.eventBusArn = $.eventBusArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs $; + + public Builder() { + $ = new ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs(); + } + + public Builder(ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs defaults) { + $ = new ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param eventBusArn The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + * + * @return builder + * + */ + public Builder eventBusArn(Output eventBusArn) { + $.eventBusArn = eventBusArn; + return this; + } + + /** + * @param eventBusArn The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + * + * @return builder + * + */ + public Builder eventBusArn(String eventBusArn) { + return eventBusArn(Output.of(eventBusArn)); + } + + public ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs build() { + if ($.eventBusArn == null) { + throw new MissingRequiredPropertyException("ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs", "eventBusArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationState.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationState.java index 16751085440..5c2e7e00b93 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetEventDestinationState.java @@ -47,14 +47,14 @@ public Optional> ev } /** - * An object that defines the event destination. See event_destination below. + * An object that defines the event destination. See `event_destination` Block for details. * */ @Import(name="eventDestinationName") private @Nullable Output eventDestinationName; /** - * @return An object that defines the event destination. See event_destination below. + * @return An object that defines the event destination. See `event_destination` Block for details. * */ public Optional> eventDestinationName() { @@ -130,7 +130,7 @@ public Builder eventDestination(ConfigurationSetEventDestinationEventDestination } /** - * @param eventDestinationName An object that defines the event destination. See event_destination below. + * @param eventDestinationName An object that defines the event destination. See `event_destination` Block for details. * * @return builder * @@ -141,7 +141,7 @@ public Builder eventDestinationName(@Nullable Output eventDestinationNam } /** - * @param eventDestinationName An object that defines the event destination. See event_destination below. + * @param eventDestinationName An object that defines the event destination. See `event_destination` Block for details. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestination.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestination.java index b6eb6027d6f..cb193573925 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestination.java @@ -4,6 +4,7 @@ package com.pulumi.aws.sesv2.outputs; import com.pulumi.aws.sesv2.outputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestination; +import com.pulumi.aws.sesv2.outputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestination; import com.pulumi.aws.sesv2.outputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination; import com.pulumi.aws.sesv2.outputs.ConfigurationSetEventDestinationEventDestinationPinpointDestination; import com.pulumi.aws.sesv2.outputs.ConfigurationSetEventDestinationEventDestinationSnsDestination; @@ -19,7 +20,7 @@ @CustomType public final class ConfigurationSetEventDestinationEventDestination { /** - * @return An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + * @return An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. * */ private @Nullable ConfigurationSetEventDestinationEventDestinationCloudWatchDestination cloudWatchDestination; @@ -28,32 +29,31 @@ public final class ConfigurationSetEventDestinationEventDestination { * */ private @Nullable Boolean enabled; + private @Nullable ConfigurationSetEventDestinationEventDestinationEventBridgeDestination eventBridgeDestination; /** - * @return An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + * @return An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. * */ private @Nullable ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination kinesisFirehoseDestination; /** * @return An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. * - * The following arguments are optional: - * */ private List matchingEventTypes; /** - * @return An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + * @return An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. * */ private @Nullable ConfigurationSetEventDestinationEventDestinationPinpointDestination pinpointDestination; /** - * @return An object that defines an Amazon SNS destination for email events. See sns_destination below. + * @return An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. * */ private @Nullable ConfigurationSetEventDestinationEventDestinationSnsDestination snsDestination; private ConfigurationSetEventDestinationEventDestination() {} /** - * @return An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + * @return An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. * */ public Optional cloudWatchDestination() { @@ -66,8 +66,11 @@ public Optional enabled() { return Optional.ofNullable(this.enabled); } + public Optional eventBridgeDestination() { + return Optional.ofNullable(this.eventBridgeDestination); + } /** - * @return An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + * @return An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. * */ public Optional kinesisFirehoseDestination() { @@ -76,21 +79,19 @@ public Optional matchingEventTypes() { return this.matchingEventTypes; } /** - * @return An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + * @return An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. * */ public Optional pinpointDestination() { return Optional.ofNullable(this.pinpointDestination); } /** - * @return An object that defines an Amazon SNS destination for email events. See sns_destination below. + * @return An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. * */ public Optional snsDestination() { @@ -108,6 +109,7 @@ public static Builder builder(ConfigurationSetEventDestinationEventDestination d public static final class Builder { private @Nullable ConfigurationSetEventDestinationEventDestinationCloudWatchDestination cloudWatchDestination; private @Nullable Boolean enabled; + private @Nullable ConfigurationSetEventDestinationEventDestinationEventBridgeDestination eventBridgeDestination; private @Nullable ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination kinesisFirehoseDestination; private List matchingEventTypes; private @Nullable ConfigurationSetEventDestinationEventDestinationPinpointDestination pinpointDestination; @@ -117,6 +119,7 @@ public Builder(ConfigurationSetEventDestinationEventDestination defaults) { Objects.requireNonNull(defaults); this.cloudWatchDestination = defaults.cloudWatchDestination; this.enabled = defaults.enabled; + this.eventBridgeDestination = defaults.eventBridgeDestination; this.kinesisFirehoseDestination = defaults.kinesisFirehoseDestination; this.matchingEventTypes = defaults.matchingEventTypes; this.pinpointDestination = defaults.pinpointDestination; @@ -136,6 +139,12 @@ public Builder enabled(@Nullable Boolean enabled) { return this; } @CustomType.Setter + public Builder eventBridgeDestination(@Nullable ConfigurationSetEventDestinationEventDestinationEventBridgeDestination eventBridgeDestination) { + + this.eventBridgeDestination = eventBridgeDestination; + return this; + } + @CustomType.Setter public Builder kinesisFirehoseDestination(@Nullable ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination kinesisFirehoseDestination) { this.kinesisFirehoseDestination = kinesisFirehoseDestination; @@ -168,6 +177,7 @@ public ConfigurationSetEventDestinationEventDestination build() { final var _resultValue = new ConfigurationSetEventDestinationEventDestination(); _resultValue.cloudWatchDestination = cloudWatchDestination; _resultValue.enabled = enabled; + _resultValue.eventBridgeDestination = eventBridgeDestination; _resultValue.kinesisFirehoseDestination = kinesisFirehoseDestination; _resultValue.matchingEventTypes = matchingEventTypes; _resultValue.pinpointDestination = pinpointDestination; diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.java index 2f644c97812..dfec13847fe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationCloudWatchDestination.java @@ -12,14 +12,14 @@ @CustomType public final class ConfigurationSetEventDestinationEventDestinationCloudWatchDestination { /** - * @return An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + * @return An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. * */ private List dimensionConfigurations; private ConfigurationSetEventDestinationEventDestinationCloudWatchDestination() {} /** - * @return An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + * @return An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. * */ public List dimensionConfigurations() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.java new file mode 100644 index 00000000000..d1065acbbfb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sesv2.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ConfigurationSetEventDestinationEventDestinationEventBridgeDestination { + /** + * @return The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + * + */ + private String eventBusArn; + + private ConfigurationSetEventDestinationEventDestinationEventBridgeDestination() {} + /** + * @return The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + * + */ + public String eventBusArn() { + return this.eventBusArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ConfigurationSetEventDestinationEventDestinationEventBridgeDestination defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String eventBusArn; + public Builder() {} + public Builder(ConfigurationSetEventDestinationEventDestinationEventBridgeDestination defaults) { + Objects.requireNonNull(defaults); + this.eventBusArn = defaults.eventBusArn; + } + + @CustomType.Setter + public Builder eventBusArn(String eventBusArn) { + if (eventBusArn == null) { + throw new MissingRequiredPropertyException("ConfigurationSetEventDestinationEventDestinationEventBridgeDestination", "eventBusArn"); + } + this.eventBusArn = eventBusArn; + return this; + } + public ConfigurationSetEventDestinationEventDestinationEventBridgeDestination build() { + final var _resultValue = new ConfigurationSetEventDestinationEventDestinationEventBridgeDestination(); + _resultValue.eventBusArn = eventBusArn; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/Subscription.java b/sdk/java/src/main/java/com/pulumi/aws/shield/Subscription.java new file mode 100644 index 00000000000..9e436b99023 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/Subscription.java @@ -0,0 +1,150 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.shield; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.shield.SubscriptionArgs; +import com.pulumi.aws.shield.inputs.SubscriptionState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Shield Subscription. + * + * > This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details. + * + * > Destruction of this resource will set `auto_renew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skip_destroy` to `true` to skip modifying the `auto_renew` argument during destruction. + * + * ## Example Usage + * + * ### 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.shield.Subscription;
+ * import com.pulumi.aws.shield.SubscriptionArgs;
+ * 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 Subscription("example", SubscriptionArgs.builder()
+ *             .autoRenew("ENABLED")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Shield Subscription using the `id`. For example: + * + * ```sh + * $ pulumi import aws:shield/subscription:Subscription example 012345678901 + * ``` + * + */ +@ResourceType(type="aws:shield/subscription:Subscription") +public class Subscription extends com.pulumi.resources.CustomResource { + /** + * Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + */ + @Export(name="autoRenew", refs={String.class}, tree="[0]") + private Output autoRenew; + + /** + * @return Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + */ + public Output autoRenew() { + return this.autoRenew; + } + /** + * Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + */ + @Export(name="skipDestroy", refs={Boolean.class}, tree="[0]") + private Output skipDestroy; + + /** + * @return Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + */ + public Output> skipDestroy() { + return Codegen.optional(this.skipDestroy); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Subscription(String name) { + this(name, SubscriptionArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Subscription(String name, @Nullable SubscriptionArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Subscription(String name, @Nullable SubscriptionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:shield/subscription:Subscription", name, args == null ? SubscriptionArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Subscription(String name, Output id, @Nullable SubscriptionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:shield/subscription:Subscription", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Subscription get(String name, Output id, @Nullable SubscriptionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Subscription(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/SubscriptionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/shield/SubscriptionArgs.java new file mode 100644 index 00000000000..72efa7f19f7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/SubscriptionArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.shield; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SubscriptionArgs extends com.pulumi.resources.ResourceArgs { + + public static final SubscriptionArgs Empty = new SubscriptionArgs(); + + /** + * Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + */ + @Import(name="autoRenew") + private @Nullable Output autoRenew; + + /** + * @return Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + */ + public Optional> autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + + /** + * Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + */ + @Import(name="skipDestroy") + private @Nullable Output skipDestroy; + + /** + * @return Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + */ + public Optional> skipDestroy() { + return Optional.ofNullable(this.skipDestroy); + } + + private SubscriptionArgs() {} + + private SubscriptionArgs(SubscriptionArgs $) { + this.autoRenew = $.autoRenew; + this.skipDestroy = $.skipDestroy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SubscriptionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SubscriptionArgs $; + + public Builder() { + $ = new SubscriptionArgs(); + } + + public Builder(SubscriptionArgs defaults) { + $ = new SubscriptionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param autoRenew Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + * @return builder + * + */ + public Builder autoRenew(@Nullable Output autoRenew) { + $.autoRenew = autoRenew; + return this; + } + + /** + * @param autoRenew Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + * @return builder + * + */ + public Builder autoRenew(String autoRenew) { + return autoRenew(Output.of(autoRenew)); + } + + /** + * @param skipDestroy Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + * @return builder + * + */ + public Builder skipDestroy(@Nullable Output skipDestroy) { + $.skipDestroy = skipDestroy; + return this; + } + + /** + * @param skipDestroy Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + * @return builder + * + */ + public Builder skipDestroy(Boolean skipDestroy) { + return skipDestroy(Output.of(skipDestroy)); + } + + public SubscriptionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/SubscriptionState.java b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/SubscriptionState.java new file mode 100644 index 00000000000..b6d562cae27 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/SubscriptionState.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.shield.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SubscriptionState extends com.pulumi.resources.ResourceArgs { + + public static final SubscriptionState Empty = new SubscriptionState(); + + /** + * Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + */ + @Import(name="autoRenew") + private @Nullable Output autoRenew; + + /** + * @return Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + */ + public Optional> autoRenew() { + return Optional.ofNullable(this.autoRenew); + } + + /** + * Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + */ + @Import(name="skipDestroy") + private @Nullable Output skipDestroy; + + /** + * @return Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + */ + public Optional> skipDestroy() { + return Optional.ofNullable(this.skipDestroy); + } + + private SubscriptionState() {} + + private SubscriptionState(SubscriptionState $) { + this.autoRenew = $.autoRenew; + this.skipDestroy = $.skipDestroy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SubscriptionState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SubscriptionState $; + + public Builder() { + $ = new SubscriptionState(); + } + + public Builder(SubscriptionState defaults) { + $ = new SubscriptionState(Objects.requireNonNull(defaults)); + } + + /** + * @param autoRenew Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + * @return builder + * + */ + public Builder autoRenew(@Nullable Output autoRenew) { + $.autoRenew = autoRenew; + return this; + } + + /** + * @param autoRenew Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + * + * @return builder + * + */ + public Builder autoRenew(String autoRenew) { + return autoRenew(Output.of(autoRenew)); + } + + /** + * @param skipDestroy Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + * @return builder + * + */ + public Builder skipDestroy(@Nullable Output skipDestroy) { + $.skipDestroy = skipDestroy; + return this; + } + + /** + * @param skipDestroy Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + * + * @return builder + * + */ + public Builder skipDestroy(Boolean skipDestroy) { + return skipDestroy(Output.of(skipDestroy)); + } + + public SubscriptionState build() { + return $; + } + } + +} 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 d411fe5e562..93bd9ad995c 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 @@ -324,14 +324,14 @@ public Output> displayName() { return Codegen.optional(this.displayName); } /** - * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * */ @Export(name="fifoTopic", refs={Boolean.class}, tree="[0]") private Output fifoTopic; /** - * @return Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * @return Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * */ public Output> fifoTopic() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/TopicArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sns/TopicArgs.java index 4eec61dbbc7..4a6a45b508b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/TopicArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/TopicArgs.java @@ -124,14 +124,14 @@ public Optional> displayName() { } /** - * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * */ @Import(name="fifoTopic") private @Nullable Output fifoTopic; /** - * @return Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * @return Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * */ public Optional> fifoTopic() { @@ -621,7 +621,7 @@ public Builder displayName(String displayName) { } /** - * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * * @return builder * @@ -632,7 +632,7 @@ public Builder fifoTopic(@Nullable Output fifoTopic) { } /** - * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/inputs/TopicState.java b/sdk/java/src/main/java/com/pulumi/aws/sns/inputs/TopicState.java index 83e396f191c..6688833c73b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/inputs/TopicState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/inputs/TopicState.java @@ -154,14 +154,14 @@ public Optional> displayName() { } /** - * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * */ @Import(name="fifoTopic") private @Nullable Output fifoTopic; /** - * @return Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * @return Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * */ public Optional> fifoTopic() { @@ -735,7 +735,7 @@ public Builder displayName(String displayName) { } /** - * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * * @return builder * @@ -746,7 +746,7 @@ public Builder fifoTopic(@Nullable Output fifoTopic) { } /** - * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * @param fifoTopic Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. * * @return builder * 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 0c7c90ac777..ced88ca9a9b 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 @@ -21,10 +21,9 @@ * * When specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic. * - * > **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` resource has been added to address these limitations and should be used for all new security group rules. - * You 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. + * > **NOTE:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + * + * !> **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * ## Example Usage * 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 ae45221188f..93af07ee682 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 @@ -21,10 +21,9 @@ * * When specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic. * - * > **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.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules. - * You 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. + * > **NOTE:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + * + * !> **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * ## Example Usage * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java index 10cbdc37eff..18af4726e3c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java @@ -34,9 +34,17 @@ public Optional sensitivityLevel; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional> sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } @@ -107,11 +115,23 @@ public Builder fieldToMatch(RuleGroupRuleStatementRateBasedStatementScopeDownSta return fieldToMatch(Output.of(fieldToMatch)); } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(@Nullable Output sensitivityLevel) { $.sensitivityLevel = sensitivityLevel; return this; } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(String sensitivityLevel) { return sensitivityLevel(Output.of(sensitivityLevel)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementArgs.java index fbc062449a8..71d1dcf3d56 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/RuleGroupRuleStatementSqliMatchStatementArgs.java @@ -34,9 +34,17 @@ public Optional return Optional.ofNullable(this.fieldToMatch); } + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ @Import(name="sensitivityLevel") private @Nullable Output sensitivityLevel; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional> sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } @@ -107,11 +115,23 @@ public Builder fieldToMatch(RuleGroupRuleStatementSqliMatchStatementFieldToMatch return fieldToMatch(Output.of(fieldToMatch)); } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(@Nullable Output sensitivityLevel) { $.sensitivityLevel = sensitivityLevel; return this; } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(String sensitivityLevel) { return sensitivityLevel(Output.of(sensitivityLevel)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.java index 1fba947a322..f5a8ca3e438 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgs.java @@ -34,9 +34,17 @@ public Optional sensitivityLevel; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional> sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } @@ -103,11 +111,23 @@ public Builder fieldToMatch(WebAclRuleStatementManagedRuleGroupStatementScopeDow return fieldToMatch(Output.of(fieldToMatch)); } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(@Nullable Output sensitivityLevel) { $.sensitivityLevel = sensitivityLevel; return this; } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(String sensitivityLevel) { return sensitivityLevel(Output.of(sensitivityLevel)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java index e4eb7aab597..ced47dc8dc7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgs.java @@ -34,9 +34,17 @@ public Optional sensitivityLevel; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional> sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } @@ -103,11 +111,23 @@ public Builder fieldToMatch(WebAclRuleStatementRateBasedStatementScopeDownStatem return fieldToMatch(Output.of(fieldToMatch)); } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(@Nullable Output sensitivityLevel) { $.sensitivityLevel = sensitivityLevel; return this; } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(String sensitivityLevel) { return sensitivityLevel(Output.of(sensitivityLevel)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementArgs.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementArgs.java index 9b65fcc6e98..9bc4a85ef25 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/inputs/WebAclRuleStatementSqliMatchStatementArgs.java @@ -34,9 +34,17 @@ public Optional> f return Optional.ofNullable(this.fieldToMatch); } + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ @Import(name="sensitivityLevel") private @Nullable Output sensitivityLevel; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional> sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } @@ -103,11 +111,23 @@ public Builder fieldToMatch(WebAclRuleStatementSqliMatchStatementFieldToMatchArg return fieldToMatch(Output.of(fieldToMatch)); } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(@Nullable Output sensitivityLevel) { $.sensitivityLevel = sensitivityLevel; return this; } + /** + * @param sensitivityLevel Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + * @return builder + * + */ public Builder sensitivityLevel(String sensitivityLevel) { return sensitivityLevel(Output.of(sensitivityLevel)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java index 37a075afca4..18d4d196edc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java @@ -20,6 +20,10 @@ public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSql * */ private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch fieldToMatch; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ private @Nullable String sensitivityLevel; /** * @return Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. @@ -37,6 +41,10 @@ private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchState public Optional fieldToMatch() { return Optional.ofNullable(this.fieldToMatch); } + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatement.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatement.java index b2e3b08b404..8ed41bd4e3a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/RuleGroupRuleStatementSqliMatchStatement.java @@ -20,6 +20,10 @@ public final class RuleGroupRuleStatementSqliMatchStatement { * */ private @Nullable RuleGroupRuleStatementSqliMatchStatementFieldToMatch fieldToMatch; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ private @Nullable String sensitivityLevel; /** * @return Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. @@ -37,6 +41,10 @@ private RuleGroupRuleStatementSqliMatchStatement() {} public Optional fieldToMatch() { return Optional.ofNullable(this.fieldToMatch); } + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.java index 74fb58e913c..2ac2880125c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatement.java @@ -20,6 +20,10 @@ public final class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatemen * */ private @Nullable WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch fieldToMatch; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ private @Nullable String sensitivityLevel; /** * @return Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. @@ -35,6 +39,10 @@ private WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchS public Optional fieldToMatch() { return Optional.ofNullable(this.fieldToMatch); } + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java index fb6f5de9ed3..75656407f31 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatement.java @@ -20,6 +20,10 @@ public final class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMa * */ private @Nullable WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch fieldToMatch; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ private @Nullable String sensitivityLevel; /** * @return Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. @@ -35,6 +39,10 @@ private WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatemen public Optional fieldToMatch() { return Optional.ofNullable(this.fieldToMatch); } + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatement.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatement.java index 675e478a9e4..2b94617a99e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatement.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/outputs/WebAclRuleStatementSqliMatchStatement.java @@ -20,6 +20,10 @@ public final class WebAclRuleStatementSqliMatchStatement { * */ private @Nullable WebAclRuleStatementSqliMatchStatementFieldToMatch fieldToMatch; + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ private @Nullable String sensitivityLevel; /** * @return Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. @@ -35,6 +39,10 @@ private WebAclRuleStatementSqliMatchStatement() {} public Optional fieldToMatch() { return Optional.ofNullable(this.fieldToMatch); } + /** + * @return Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + * + */ public Optional sensitivityLevel() { return Optional.ofNullable(this.sensitivityLevel); } diff --git a/sdk/nodejs/appflow/flow.ts b/sdk/nodejs/appflow/flow.ts index 22926396b29..aed4a399fe7 100644 --- a/sdk/nodejs/appflow/flow.ts +++ b/sdk/nodejs/appflow/flow.ts @@ -165,6 +165,10 @@ export class Flow extends pulumi.CustomResource { * ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. */ public readonly kmsArn!: pulumi.Output; + /** + * A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + */ + public readonly metadataCatalogConfig!: pulumi.Output; /** * Name of the flow. */ @@ -210,6 +214,7 @@ export class Flow extends pulumi.CustomResource { resourceInputs["destinationFlowConfigs"] = state ? state.destinationFlowConfigs : undefined; resourceInputs["flowStatus"] = state ? state.flowStatus : undefined; resourceInputs["kmsArn"] = state ? state.kmsArn : undefined; + resourceInputs["metadataCatalogConfig"] = state ? state.metadataCatalogConfig : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["sourceFlowConfig"] = state ? state.sourceFlowConfig : undefined; resourceInputs["tags"] = state ? state.tags : undefined; @@ -233,6 +238,7 @@ export class Flow extends pulumi.CustomResource { resourceInputs["description"] = args ? args.description : undefined; resourceInputs["destinationFlowConfigs"] = args ? args.destinationFlowConfigs : undefined; resourceInputs["kmsArn"] = args ? args.kmsArn : undefined; + resourceInputs["metadataCatalogConfig"] = args ? args.metadataCatalogConfig : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["sourceFlowConfig"] = args ? args.sourceFlowConfig : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -271,6 +277,10 @@ export interface FlowState { * ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. */ kmsArn?: pulumi.Input; + /** + * A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + */ + metadataCatalogConfig?: pulumi.Input; /** * Name of the flow. */ @@ -315,6 +325,10 @@ export interface FlowArgs { * ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. */ kmsArn?: pulumi.Input; + /** + * A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + */ + metadataCatalogConfig?: pulumi.Input; /** * Name of the flow. */ diff --git a/sdk/nodejs/batch/jobDefinition.ts b/sdk/nodejs/batch/jobDefinition.ts index 90cc00161b5..fab1960171d 100644 --- a/sdk/nodejs/batch/jobDefinition.ts +++ b/sdk/nodejs/batch/jobDefinition.ts @@ -227,15 +227,15 @@ export class JobDefinition extends pulumi.CustomResource { } /** - * The Amazon Resource Name of the job definition, includes revision (`:#`). + * ARN of the job definition, includes revision (`:#`). */ public /*out*/ readonly arn!: pulumi.Output; /** - * The ARN without the revision number. + * ARN without the revision number. */ public /*out*/ readonly arnPrefix!: pulumi.Output; /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. */ public readonly containerProperties!: pulumi.Output; /** @@ -243,39 +243,39 @@ export class JobDefinition extends pulumi.CustomResource { */ public readonly deregisterOnNewRevision!: pulumi.Output; /** - * A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * Valid eks properties. This parameter is only valid if the `type` parameter is `container`. */ public readonly eksProperties!: pulumi.Output; /** - * Specifies the name of the job definition. + * Name of the job definition. */ public readonly name!: pulumi.Output; /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. */ public readonly nodeProperties!: pulumi.Output; /** - * Specifies the parameter substitution placeholders to set in the job definition. + * Parameter substitution placeholders to set in the job definition. */ public readonly parameters!: pulumi.Output<{[key: string]: string} | undefined>; /** - * The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. */ public readonly platformCapabilities!: pulumi.Output; /** - * Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. */ public readonly propagateTags!: pulumi.Output; /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + * Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. */ public readonly retryStrategy!: pulumi.Output; /** - * The revision of the job definition. + * Revision of the job definition. */ public /*out*/ readonly revision!: pulumi.Output; /** - * The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. */ public readonly schedulingPriority!: pulumi.Output; /** @@ -283,17 +283,17 @@ export class JobDefinition extends pulumi.CustomResource { */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** - * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. * * @deprecated Please use `tags` instead. */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** - * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. */ public readonly timeout!: pulumi.Output; /** - * The type of job definition. Must be `container` or `multinode`. + * Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: */ @@ -362,15 +362,15 @@ export class JobDefinition extends pulumi.CustomResource { */ export interface JobDefinitionState { /** - * The Amazon Resource Name of the job definition, includes revision (`:#`). + * ARN of the job definition, includes revision (`:#`). */ arn?: pulumi.Input; /** - * The ARN without the revision number. + * ARN without the revision number. */ arnPrefix?: pulumi.Input; /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. */ containerProperties?: pulumi.Input; /** @@ -378,39 +378,39 @@ export interface JobDefinitionState { */ deregisterOnNewRevision?: pulumi.Input; /** - * A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * Valid eks properties. This parameter is only valid if the `type` parameter is `container`. */ eksProperties?: pulumi.Input; /** - * Specifies the name of the job definition. + * Name of the job definition. */ name?: pulumi.Input; /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. */ nodeProperties?: pulumi.Input; /** - * Specifies the parameter substitution placeholders to set in the job definition. + * Parameter substitution placeholders to set in the job definition. */ parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. */ platformCapabilities?: pulumi.Input[]>; /** - * Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. */ propagateTags?: pulumi.Input; /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + * Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. */ retryStrategy?: pulumi.Input; /** - * The revision of the job definition. + * Revision of the job definition. */ revision?: pulumi.Input; /** - * The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. */ schedulingPriority?: pulumi.Input; /** @@ -418,17 +418,17 @@ export interface JobDefinitionState { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. * * @deprecated Please use `tags` instead. */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. */ timeout?: pulumi.Input; /** - * The type of job definition. Must be `container` or `multinode`. + * Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: */ @@ -440,7 +440,7 @@ export interface JobDefinitionState { */ export interface JobDefinitionArgs { /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. */ containerProperties?: pulumi.Input; /** @@ -448,35 +448,35 @@ export interface JobDefinitionArgs { */ deregisterOnNewRevision?: pulumi.Input; /** - * A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + * Valid eks properties. This parameter is only valid if the `type` parameter is `container`. */ eksProperties?: pulumi.Input; /** - * Specifies the name of the job definition. + * Name of the job definition. */ name?: pulumi.Input; /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. */ nodeProperties?: pulumi.Input; /** - * Specifies the parameter substitution placeholders to set in the job definition. + * Parameter substitution placeholders to set in the job definition. */ parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + * Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. */ platformCapabilities?: pulumi.Input[]>; /** - * Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + * Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. */ propagateTags?: pulumi.Input; /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. + * Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. */ retryStrategy?: pulumi.Input; /** - * The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + * Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. */ schedulingPriority?: pulumi.Input; /** @@ -484,11 +484,11 @@ export interface JobDefinitionArgs { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + * Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. */ timeout?: pulumi.Input; /** - * The type of job definition. Must be `container` or `multinode`. + * Type of job definition. Must be `container` or `multinode`. * * The following arguments are optional: */ diff --git a/sdk/nodejs/cloudwatch/eventBus.ts b/sdk/nodejs/cloudwatch/eventBus.ts index 1896ed25cf9..cc5598a1b37 100644 --- a/sdk/nodejs/cloudwatch/eventBus.ts +++ b/sdk/nodejs/cloudwatch/eventBus.ts @@ -75,6 +75,10 @@ export class EventBus extends pulumi.CustomResource { * The partner event source that the new event bus will be matched with. Must match `name`. */ public readonly eventSourceName!: pulumi.Output; + /** + * The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + */ + public readonly kmsKeyIdentifier!: pulumi.Output; /** * The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. */ @@ -105,12 +109,14 @@ export class EventBus extends pulumi.CustomResource { const state = argsOrState as EventBusState | undefined; resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["eventSourceName"] = state ? state.eventSourceName : undefined; + resourceInputs["kmsKeyIdentifier"] = state ? state.kmsKeyIdentifier : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; } else { const args = argsOrState as EventBusArgs | undefined; resourceInputs["eventSourceName"] = args ? args.eventSourceName : undefined; + resourceInputs["kmsKeyIdentifier"] = args ? args.kmsKeyIdentifier : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -133,6 +139,10 @@ export interface EventBusState { * The partner event source that the new event bus will be matched with. Must match `name`. */ eventSourceName?: pulumi.Input; + /** + * The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + */ + kmsKeyIdentifier?: pulumi.Input; /** * The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. */ @@ -157,6 +167,10 @@ export interface EventBusArgs { * The partner event source that the new event bus will be matched with. Must match `name`. */ eventSourceName?: pulumi.Input; + /** + * The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + */ + kmsKeyIdentifier?: pulumi.Input; /** * The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `eventSourceName`. */ diff --git a/sdk/nodejs/cloudwatch/getEventBus.ts b/sdk/nodejs/cloudwatch/getEventBus.ts index 8b6673adbc7..ece34ef8534 100644 --- a/sdk/nodejs/cloudwatch/getEventBus.ts +++ b/sdk/nodejs/cloudwatch/getEventBus.ts @@ -50,6 +50,10 @@ export interface GetEventBusResult { * The provider-assigned unique ID for this managed resource. */ readonly id: string; + /** + * The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. + */ + readonly kmsKeyIdentifier: string; readonly name: string; } /** diff --git a/sdk/nodejs/cur/getReportDefinition.ts b/sdk/nodejs/cur/getReportDefinition.ts index 88f707b4aef..26f8785f6c6 100644 --- a/sdk/nodejs/cur/getReportDefinition.ts +++ b/sdk/nodejs/cur/getReportDefinition.ts @@ -27,6 +27,7 @@ export function getReportDefinition(args: GetReportDefinitionArgs, opts?: pulumi opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws:cur/getReportDefinition:getReportDefinition", { "reportName": args.reportName, + "tags": args.tags, }, opts); } @@ -38,6 +39,10 @@ export interface GetReportDefinitionArgs { * Name of the report definition to match. */ reportName: string; + /** + * Map of key-value pairs assigned to the resource. + */ + tags?: {[key: string]: string}; } /** @@ -85,6 +90,10 @@ export interface GetReportDefinitionResult { * Region of customer S3 bucket. */ readonly s3Region: string; + /** + * Map of key-value pairs assigned to the resource. + */ + readonly tags: {[key: string]: string}; /** * Frequency on which report data are measured and displayed. */ @@ -120,4 +129,8 @@ export interface GetReportDefinitionOutputArgs { * Name of the report definition to match. */ reportName: pulumi.Input; + /** + * Map of key-value pairs assigned to the resource. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/cur/reportDefinition.ts b/sdk/nodejs/cur/reportDefinition.ts index 6812b575296..d01e66bdb0f 100644 --- a/sdk/nodejs/cur/reportDefinition.ts +++ b/sdk/nodejs/cur/reportDefinition.ts @@ -113,6 +113,16 @@ export class ReportDefinition extends pulumi.CustomResource { * Region of the existing S3 bucket to hold generated reports. */ public readonly s3Region!: pulumi.Output; + /** + * Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. */ @@ -142,6 +152,8 @@ export class ReportDefinition extends pulumi.CustomResource { resourceInputs["s3Bucket"] = state ? state.s3Bucket : undefined; resourceInputs["s3Prefix"] = state ? state.s3Prefix : undefined; resourceInputs["s3Region"] = state ? state.s3Region : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["timeUnit"] = state ? state.timeUnit : undefined; } else { const args = argsOrState as ReportDefinitionArgs | undefined; @@ -176,8 +188,10 @@ export class ReportDefinition extends pulumi.CustomResource { resourceInputs["s3Bucket"] = args ? args.s3Bucket : undefined; resourceInputs["s3Prefix"] = args ? args.s3Prefix : undefined; resourceInputs["s3Region"] = args ? args.s3Region : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["timeUnit"] = args ? args.timeUnit : undefined; resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(ReportDefinition.__pulumiType, name, resourceInputs, opts); @@ -232,6 +246,16 @@ export interface ReportDefinitionState { * Region of the existing S3 bucket to hold generated reports. */ s3Region?: pulumi.Input; + /** + * Key-value pairs of resource tags to assign to the DataSync Location. 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}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. */ @@ -282,6 +306,10 @@ export interface ReportDefinitionArgs { * Region of the existing S3 bucket to hold generated reports. */ s3Region: pulumi.Input; + /** + * Key-value pairs of resource tags to assign to the DataSync Location. 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}>; /** * The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. */ diff --git a/sdk/nodejs/ec2/launchTemplate.ts b/sdk/nodejs/ec2/launchTemplate.ts index e355021c371..81a3e0f1390 100644 --- a/sdk/nodejs/ec2/launchTemplate.ts +++ b/sdk/nodejs/ec2/launchTemplate.ts @@ -77,12 +77,12 @@ export class LaunchTemplate extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). */ public readonly disableApiStop!: pulumi.Output; /** * If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) */ public readonly disableApiTermination!: pulumi.Output; /** @@ -354,12 +354,12 @@ export interface LaunchTemplateState { */ description?: pulumi.Input; /** - * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). */ disableApiStop?: pulumi.Input; /** * If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) */ disableApiTermination?: pulumi.Input; /** @@ -527,12 +527,12 @@ export interface LaunchTemplateArgs { */ description?: pulumi.Input; /** - * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + * If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). */ disableApiStop?: pulumi.Input; /** * If `true`, enables [EC2 Instance - * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + * Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) */ disableApiTermination?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2/securityGroup.ts b/sdk/nodejs/ec2/securityGroup.ts index 567906dc711..b0f5d5753dc 100644 --- a/sdk/nodejs/ec2/securityGroup.ts +++ b/sdk/nodejs/ec2/securityGroup.ts @@ -10,7 +10,9 @@ import * as utilities from "../utilities"; /** * Provides a security group resource. * - * > **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. + * > **NOTE:** Avoid using the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + * + * !> **WARNING:** You should not use the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) in conjunction with the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * > **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). * diff --git a/sdk/nodejs/ec2/securityGroupRule.ts b/sdk/nodejs/ec2/securityGroupRule.ts index d73b91d5262..6ab7930b6df 100644 --- a/sdk/nodejs/ec2/securityGroupRule.ts +++ b/sdk/nodejs/ec2/securityGroupRule.ts @@ -8,13 +8,11 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Provides a security group rule resource. Represents a single `ingress` or - * `egress` group rule, which can be added to external Security Groups. + * Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups. * - * > **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. + * > **NOTE:** Avoid using the `aws.ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + * + * !> **WARNING:** You should not use the `aws.ec2.SecurityGroupRule` resource in conjunction with `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources or with an `aws.ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * > **NOTE:** Setting `protocol = "all"` or `protocol = -1` with `fromPort` and `toPort` 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. * diff --git a/sdk/nodejs/ecs/taskDefinition.ts b/sdk/nodejs/ecs/taskDefinition.ts index 39e7920903e..312554f0cf4 100644 --- a/sdk/nodejs/ecs/taskDefinition.ts +++ b/sdk/nodejs/ecs/taskDefinition.ts @@ -366,7 +366,7 @@ export class TaskDefinition extends pulumi.CustomResource { */ public readonly taskRoleArn!: pulumi.Output; /** - * Whether should track latest task definition or the one created with the resource. Default is `false`. + * Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. */ public readonly trackLatest!: pulumi.Output; /** @@ -540,7 +540,7 @@ export interface TaskDefinitionState { */ taskRoleArn?: pulumi.Input; /** - * Whether should track latest task definition or the one created with the resource. Default is `false`. + * Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. */ trackLatest?: pulumi.Input; /** @@ -624,7 +624,7 @@ export interface TaskDefinitionArgs { */ taskRoleArn?: pulumi.Input; /** - * Whether should track latest task definition or the one created with the resource. Default is `false`. + * Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. */ trackLatest?: pulumi.Input; /** diff --git a/sdk/nodejs/getServicePrincipal.ts b/sdk/nodejs/getServicePrincipal.ts new file mode 100644 index 00000000000..ca8d3b4ed81 --- /dev/null +++ b/sdk/nodejs/getServicePrincipal.ts @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getServicePrincipal({ + * serviceName: "s3", + * }); + * const test = aws.getServicePrincipal({ + * serviceName: "s3", + * region: "us-iso-east-1", + * }); + * ``` + */ +export function getServicePrincipal(args: GetServicePrincipalArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:index/getServicePrincipal:getServicePrincipal", { + "region": args.region, + "serviceName": args.serviceName, + }, opts); +} + +/** + * A collection of arguments for invoking getServicePrincipal. + */ +export interface GetServicePrincipalArgs { + /** + * Region you'd like the SPN for. By default, uses the current region. + */ + region?: string; + /** + * Name of the service you want to generate a Service Principal Name for. + */ + serviceName: string; +} + +/** + * A collection of values returned by getServicePrincipal. + */ +export interface GetServicePrincipalResult { + /** + * Identifier of the current Service Principal (compound of service, region and suffix). (e.g. `logs.us-east-1.amazonaws.com`in AWS Commercial, `logs.cn-north-1.amazonaws.com.cn` in AWS China). + */ + readonly id: string; + /** + * Service Principal Name (e.g., `logs.amazonaws.com` in AWS Commercial, `logs.amazonaws.com.cn` in AWS China). + */ + readonly name: string; + /** + * Region identifier of the generated SPN (e.g., `us-east-1` in AWS Commercial, `cn-north-1` in AWS China). + */ + readonly region: string; + readonly serviceName: string; + /** + * Suffix of the SPN (e.g., `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). + */ + readonly suffix: string; +} +/** + * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getServicePrincipal({ + * serviceName: "s3", + * }); + * const test = aws.getServicePrincipal({ + * serviceName: "s3", + * region: "us-iso-east-1", + * }); + * ``` + */ +export function getServicePrincipalOutput(args: GetServicePrincipalOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getServicePrincipal(a, opts)) +} + +/** + * A collection of arguments for invoking getServicePrincipal. + */ +export interface GetServicePrincipalOutputArgs { + /** + * Region you'd like the SPN for. By default, uses the current region. + */ + region?: pulumi.Input; + /** + * Name of the service you want to generate a Service Principal Name for. + */ + serviceName: pulumi.Input; +} diff --git a/sdk/nodejs/glue/classifier.ts b/sdk/nodejs/glue/classifier.ts index 001a3e4be2f..33857dad69f 100644 --- a/sdk/nodejs/glue/classifier.ts +++ b/sdk/nodejs/glue/classifier.ts @@ -10,11 +10,11 @@ import * as utilities from "../utilities"; /** * Provides a Glue Classifier resource. * - * > **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier. + * > **NOTE:** It is only valid to create one type of classifier (CSV, grok, JSON, or XML). Changing classifier types will recreate the classifier. * * ## Example Usage * - * ### Csv Classifier + * ### CSV Classifier * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -117,7 +117,7 @@ export class Classifier extends pulumi.CustomResource { } /** - * A classifier for Csv content. Defined below. + * A classifier for CSV content. Defined below. */ public readonly csvClassifier!: pulumi.Output; /** @@ -173,7 +173,7 @@ export class Classifier extends pulumi.CustomResource { */ export interface ClassifierState { /** - * A classifier for Csv content. Defined below. + * A classifier for CSV content. Defined below. */ csvClassifier?: pulumi.Input; /** @@ -199,7 +199,7 @@ export interface ClassifierState { */ export interface ClassifierArgs { /** - * A classifier for Csv content. Defined below. + * A classifier for CSV content. Defined below. */ csvClassifier?: pulumi.Input; /** diff --git a/sdk/nodejs/glue/connection.ts b/sdk/nodejs/glue/connection.ts index b7f3221e376..d17265faa7d 100644 --- a/sdk/nodejs/glue/connection.ts +++ b/sdk/nodejs/glue/connection.ts @@ -19,12 +19,12 @@ import * as utilities from "../utilities"; * import * as aws from "@pulumi/aws"; * * const example = new aws.glue.Connection("example", { + * name: "example", * connectionProperties: { * JDBC_CONNECTION_URL: "jdbc:mysql://example.com/exampledatabase", * PASSWORD: "examplepassword", * USERNAME: "exampleusername", * }, - * name: "example", * }); * ``` * @@ -38,11 +38,11 @@ import * as utilities from "../utilities"; * name: "example-secret", * }); * const exampleConnection = new aws.glue.Connection("example", { + * name: "example", * connectionProperties: { * JDBC_CONNECTION_URL: "jdbc:mysql://example.com/exampledatabase", * SECRET_ID: example.then(example => example.name), * }, - * name: "example", * }); * ``` * @@ -55,12 +55,12 @@ import * as utilities from "../utilities"; * import * as aws from "@pulumi/aws"; * * const example = new aws.glue.Connection("example", { + * name: "example", * connectionProperties: { * JDBC_CONNECTION_URL: `jdbc:mysql://${exampleAwsRdsCluster.endpoint}/exampledatabase`, * PASSWORD: "examplepassword", * USERNAME: "exampleusername", * }, - * name: "example", * physicalConnectionRequirements: { * availabilityZone: exampleAwsSubnet.availabilityZone, * securityGroupIdLists: [exampleAwsSecurityGroup.id], @@ -80,7 +80,8 @@ import * as utilities from "../utilities"; * const example = aws.secretsmanager.getSecret({ * name: "example-secret", * }); - * const exampleConnector = new aws.glue.Connection("example_connector", { + * const example1 = new aws.glue.Connection("example1", { + * name: "example1", * connectionType: "CUSTOM", * connectionProperties: { * CONNECTOR_CLASS_NAME: "net.snowflake.client.jdbc.SnowflakeDriver", @@ -88,11 +89,11 @@ import * as utilities from "../utilities"; * CONNECTOR_URL: "s3://example/snowflake-jdbc.jar", * JDBC_CONNECTION_URL: "[[\"default=jdbc:snowflake://example.com/?user=${user}&password=${password}\"],\",\"]", * }, - * name: "example_connector", * matchCriterias: ["template-connection"], * }); * // Reference the connector using match_criteria with the connector created above. - * const exampleConnection = new aws.glue.Connection("example_connection", { + * const example2 = new aws.glue.Connection("example2", { + * name: "example2", * connectionType: "CUSTOM", * connectionProperties: { * CONNECTOR_CLASS_NAME: "net.snowflake.client.jdbc.SnowflakeDriver", @@ -101,14 +102,172 @@ import * as utilities from "../utilities"; * JDBC_CONNECTION_URL: "jdbc:snowflake://example.com/?user=${user}&password=${password}", * SECRET_ID: example.then(example => example.name), * }, - * name: "example", * matchCriterias: [ * "Connection", - * exampleConnector.name, + * example1.name, * ], * }); * ``` * + * ### Azure Cosmos Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos). + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.secretsmanager.Secret("example", {name: "example-secret"}); + * const exampleSecretVersion = new aws.secretsmanager.SecretVersion("example", { + * secretId: example.id, + * secretString: JSON.stringify({ + * username: "exampleusername", + * password: "examplepassword", + * }), + * }); + * const exampleConnection = new aws.glue.Connection("example", { + * name: "example", + * connectionType: "AZURECOSMOS", + * connectionProperties: { + * SparkProperties: pulumi.jsonStringify({ + * secretId: example.name, + * "spark.cosmos.accountEndpoint": "https://exampledbaccount.documents.azure.com:443/", + * }), + * }, + * }); + * ``` + * + * ### Azure SQL Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql). + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.secretsmanager.Secret("example", {name: "example-secret"}); + * const exampleSecretVersion = new aws.secretsmanager.SecretVersion("example", { + * secretId: example.id, + * secretString: JSON.stringify({ + * username: "exampleusername", + * password: "examplepassword", + * }), + * }); + * const exampleConnection = new aws.glue.Connection("example", { + * name: "example", + * connectionType: "AZURECOSMOS", + * connectionProperties: { + * SparkProperties: pulumi.jsonStringify({ + * secretId: example.name, + * url: "jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase", + * }), + * }, + * }); + * ``` + * + * ### Google BigQuery Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery). + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * import * as std from "@pulumi/std"; + * + * const example = new aws.secretsmanager.Secret("example", {name: "example-secret"}); + * const exampleSecretVersion = new aws.secretsmanager.SecretVersion("example", { + * secretId: example.id, + * secretString: JSON.stringify({ + * credentials: std.base64encode({ + * input: `{ + * "type": "service_account", + * "project_id": "example-project", + * "private_key_id": "example-key", + * "private_key": "-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----", + * "client_email": "example-project@appspot.gserviceaccount.com", + * "client_id": example-client", + * "auth_uri": "https://accounts.google.com/o/oauth2/auth", + * "token_uri": "https://oauth2.googleapis.com/token", + * "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + * "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com", + * "universe_domain": "googleapis.com" + * } + * `, + * }).then(invoke => invoke.result), + * }), + * }); + * const exampleConnection = new aws.glue.Connection("example", { + * name: "example", + * connectionType: "BIGQUERY", + * connectionProperties: { + * SparkProperties: pulumi.jsonStringify({ + * secretId: example.name, + * }), + * }, + * }); + * ``` + * + * ### OpenSearch Service Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch). + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.secretsmanager.Secret("example", {name: "example-secret"}); + * const exampleSecretVersion = new aws.secretsmanager.SecretVersion("example", { + * secretId: example.id, + * secretString: JSON.stringify({ + * "opensearch.net.http.auth.user": "exampleusername", + * "opensearch.net.http.auth.pass": "examplepassword", + * }), + * }); + * const exampleConnection = new aws.glue.Connection("example", { + * name: "example", + * connectionType: "OPENSEARCH", + * connectionProperties: { + * SparkProperties: pulumi.jsonStringify({ + * secretId: example.name, + * "opensearch.nodes": "https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com", + * "opensearch.port": "443", + * "opensearch.aws.sigv4.region": "us-east-1", + * "opensearch.nodes.wan.only": "true", + * "opensearch.aws.sigv4.enabled": "true", + * }), + * }, + * }); + * ``` + * + * ### Snowflake Connection + * + * For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake). + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.secretsmanager.Secret("example", {name: "example-secret"}); + * const exampleSecretVersion = new aws.secretsmanager.SecretVersion("example", { + * secretId: example.id, + * secretString: JSON.stringify({ + * sfUser: "exampleusername", + * sfPassword: "examplepassword", + * }), + * }); + * const exampleConnection = new aws.glue.Connection("example", { + * name: "example", + * connectionType: "SNOWFLAKE", + * connectionProperties: { + * SparkProperties: pulumi.jsonStringify({ + * secretId: example.name, + * sfRole: "EXAMPLEETLROLE", + * sfUrl: "exampleorg-exampleconnection.snowflakecomputing.com", + * }), + * }, + * }); + * ``` + * * ## Import * * Using `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example: @@ -146,19 +305,21 @@ export class Connection extends pulumi.CustomResource { } /** - * The ARN of the Glue Connection. + * ARN of the Glue Connection. */ public /*out*/ readonly arn!: pulumi.Output; /** - * The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + * ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. */ public readonly catalogId!: pulumi.Output; /** - * A map of key-value pairs used as parameters for this connection. + * Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + * + * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. */ public readonly connectionProperties!: pulumi.Output<{[key: string]: string} | undefined>; /** - * The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + * Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. */ public readonly connectionType!: pulumi.Output; /** @@ -166,15 +327,17 @@ export class Connection extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * A list of criteria that can be used in selecting this connection. + * List of criteria that can be used in selecting this connection. */ public readonly matchCriterias!: pulumi.Output; /** - * The name of the connection. + * Name of the connection. + * + * The following arguments are optional: */ public readonly name!: pulumi.Output; /** - * A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + * Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. */ public readonly physicalConnectionRequirements!: pulumi.Output; /** @@ -236,19 +399,21 @@ export class Connection extends pulumi.CustomResource { */ export interface ConnectionState { /** - * The ARN of the Glue Connection. + * ARN of the Glue Connection. */ arn?: pulumi.Input; /** - * The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + * ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. */ catalogId?: pulumi.Input; /** - * A map of key-value pairs used as parameters for this connection. + * Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + * + * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. */ connectionProperties?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + * Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. */ connectionType?: pulumi.Input; /** @@ -256,15 +421,17 @@ export interface ConnectionState { */ description?: pulumi.Input; /** - * A list of criteria that can be used in selecting this connection. + * List of criteria that can be used in selecting this connection. */ matchCriterias?: pulumi.Input[]>; /** - * The name of the connection. + * Name of the connection. + * + * The following arguments are optional: */ name?: pulumi.Input; /** - * A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + * Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. */ physicalConnectionRequirements?: pulumi.Input; /** @@ -284,15 +451,17 @@ export interface ConnectionState { */ export interface ConnectionArgs { /** - * The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + * ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. */ catalogId?: pulumi.Input; /** - * A map of key-value pairs used as parameters for this connection. + * Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + * + * **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. */ connectionProperties?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + * Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. */ connectionType?: pulumi.Input; /** @@ -300,15 +469,17 @@ export interface ConnectionArgs { */ description?: pulumi.Input; /** - * A list of criteria that can be used in selecting this connection. + * List of criteria that can be used in selecting this connection. */ matchCriterias?: pulumi.Input[]>; /** - * The name of the connection. + * Name of the connection. + * + * The following arguments are optional: */ name?: pulumi.Input; /** - * A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + * Map of physical connection requirements, such as VPC and SecurityGroup. See `physicalConnectionRequirements` Block for details. */ physicalConnectionRequirements?: pulumi.Input; /** diff --git a/sdk/nodejs/iam/getAccountAlias.ts b/sdk/nodejs/iam/getAccountAlias.ts index 68a888d01af..6bbff2fb67d 100644 --- a/sdk/nodejs/iam/getAccountAlias.ts +++ b/sdk/nodejs/iam/getAccountAlias.ts @@ -15,7 +15,7 @@ import * as utilities from "../utilities"; * import * as aws from "@pulumi/aws"; * * const current = aws.iam.getAccountAlias({}); - * export const accountId = current.then(current => current.accountAlias); + * export const accountAlias = current.then(current => current.accountAlias); * ``` */ export function getAccountAlias(opts?: pulumi.InvokeOptions): Promise { @@ -49,7 +49,7 @@ export interface GetAccountAliasResult { * import * as aws from "@pulumi/aws"; * * const current = aws.iam.getAccountAlias({}); - * export const accountId = current.then(current => current.accountAlias); + * export const accountAlias = current.then(current => current.accountAlias); * ``` */ export function getAccountAliasOutput(opts?: pulumi.InvokeOptions): pulumi.Output { diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 4d864c3746c..a60e1268821 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -61,6 +61,11 @@ export const getService: typeof import("./getService").getService = null as any; export const getServiceOutput: typeof import("./getService").getServiceOutput = null as any; utilities.lazyLoad(exports, ["getService","getServiceOutput"], () => require("./getService")); +export { GetServicePrincipalArgs, GetServicePrincipalResult, GetServicePrincipalOutputArgs } from "./getServicePrincipal"; +export const getServicePrincipal: typeof import("./getServicePrincipal").getServicePrincipal = null as any; +export const getServicePrincipalOutput: typeof import("./getServicePrincipal").getServicePrincipalOutput = null as any; +utilities.lazyLoad(exports, ["getServicePrincipal","getServicePrincipalOutput"], () => require("./getServicePrincipal")); + export { ProviderArgs } from "./provider"; export type Provider = import("./provider").Provider; export const Provider: typeof import("./provider").Provider = null as any; diff --git a/sdk/nodejs/lambda/runtimeManagementConfig.ts b/sdk/nodejs/lambda/runtimeManagementConfig.ts index 332e3f8af77..3a3261beea3 100644 --- a/sdk/nodejs/lambda/runtimeManagementConfig.ts +++ b/sdk/nodejs/lambda/runtimeManagementConfig.ts @@ -10,7 +10,7 @@ import * as utilities from "../utilities"; * Refer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes. * * > Deletion of this resource returns the runtime update mode to `Auto` (the default behavior). - * To leave the configured runtime management options in-place, use a `removed` block withe destroy lifecycle set to `false`. + * To leave the configured runtime management options in-place, use a `removed` block with the destroy lifecycle set to `false`. * * ## Example Usage * diff --git a/sdk/nodejs/mwaa/environment.ts b/sdk/nodejs/mwaa/environment.ts index efdf80752f2..285f00710a6 100644 --- a/sdk/nodejs/mwaa/environment.ts +++ b/sdk/nodejs/mwaa/environment.ts @@ -197,14 +197,20 @@ export class Environment extends pulumi.CustomResource { public readonly kmsKey!: pulumi.Output; public /*out*/ readonly lastUpdateds!: pulumi.Output; /** - * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. */ public readonly loggingConfiguration!: pulumi.Output; + /** + * The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + */ public readonly maxWebservers!: pulumi.Output; /** * The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. */ public readonly maxWorkers!: pulumi.Output; + /** + * The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + */ public readonly minWebservers!: pulumi.Output; /** * The minimum number of workers that you want to run in your environment. Will be `1` by default. @@ -215,7 +221,7 @@ export class Environment extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. */ public readonly networkConfiguration!: pulumi.Output; /** @@ -435,14 +441,20 @@ export interface EnvironmentState { kmsKey?: pulumi.Input; lastUpdateds?: pulumi.Input[]>; /** - * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. */ loggingConfiguration?: pulumi.Input; + /** + * The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + */ maxWebservers?: pulumi.Input; /** * The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. */ maxWorkers?: pulumi.Input; + /** + * The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + */ minWebservers?: pulumi.Input; /** * The minimum number of workers that you want to run in your environment. Will be `1` by default. @@ -453,7 +465,7 @@ export interface EnvironmentState { */ name?: pulumi.Input; /** - * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. */ networkConfiguration?: pulumi.Input; /** @@ -557,14 +569,20 @@ export interface EnvironmentArgs { */ kmsKey?: pulumi.Input; /** - * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + * The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details. */ loggingConfiguration?: pulumi.Input; + /** + * The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + */ maxWebservers?: pulumi.Input; /** * The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. */ maxWorkers?: pulumi.Input; + /** + * The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + */ minWebservers?: pulumi.Input; /** * The minimum number of workers that you want to run in your environment. Will be `1` by default. @@ -575,7 +593,7 @@ export interface EnvironmentArgs { */ name?: pulumi.Input; /** - * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + * Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details. */ networkConfiguration: pulumi.Input; /** diff --git a/sdk/nodejs/rds/cluster.ts b/sdk/nodejs/rds/cluster.ts index 037a44cfc7d..1eb56bb76aa 100644 --- a/sdk/nodejs/rds/cluster.ts +++ b/sdk/nodejs/rds/cluster.ts @@ -284,7 +284,7 @@ export class Cluster extends pulumi.CustomResource { /** * The CA certificate identifier to use for the DB cluster's server certificate. */ - public readonly caCertificateIdentifier!: pulumi.Output; + public readonly caCertificateIdentifier!: pulumi.Output; /** * Expiration date of the DB instance’s server certificate */ diff --git a/sdk/nodejs/rds/clusterSnapshot.ts b/sdk/nodejs/rds/clusterSnapshot.ts index 60025fe637b..9f7f753d538 100644 --- a/sdk/nodejs/rds/clusterSnapshot.ts +++ b/sdk/nodejs/rds/clusterSnapshot.ts @@ -95,6 +95,10 @@ export class ClusterSnapshot extends pulumi.CustomResource { * Port that the DB cluster was listening on at the time of the snapshot. */ public /*out*/ readonly port!: pulumi.Output; + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + public readonly sharedAccounts!: pulumi.Output; public /*out*/ readonly snapshotType!: pulumi.Output; public /*out*/ readonly sourceDbClusterSnapshotArn!: pulumi.Output; /** @@ -143,6 +147,7 @@ export class ClusterSnapshot extends pulumi.CustomResource { resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; resourceInputs["licenseModel"] = state ? state.licenseModel : undefined; resourceInputs["port"] = state ? state.port : undefined; + resourceInputs["sharedAccounts"] = state ? state.sharedAccounts : undefined; resourceInputs["snapshotType"] = state ? state.snapshotType : undefined; resourceInputs["sourceDbClusterSnapshotArn"] = state ? state.sourceDbClusterSnapshotArn : undefined; resourceInputs["status"] = state ? state.status : undefined; @@ -160,6 +165,7 @@ export class ClusterSnapshot extends pulumi.CustomResource { } resourceInputs["dbClusterIdentifier"] = args ? args.dbClusterIdentifier : undefined; resourceInputs["dbClusterSnapshotIdentifier"] = args ? args.dbClusterSnapshotIdentifier : undefined; + resourceInputs["sharedAccounts"] = args ? args.sharedAccounts : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["allocatedStorage"] = undefined /*out*/; resourceInputs["availabilityZones"] = undefined /*out*/; @@ -225,6 +231,10 @@ export interface ClusterSnapshotState { * Port that the DB cluster was listening on at the time of the snapshot. */ port?: pulumi.Input; + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + sharedAccounts?: pulumi.Input[]>; snapshotType?: pulumi.Input; sourceDbClusterSnapshotArn?: pulumi.Input; /** @@ -263,6 +273,10 @@ export interface ClusterSnapshotArgs { * The Identifier for the snapshot. */ dbClusterSnapshotIdentifier: pulumi.Input; + /** + * List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + sharedAccounts?: pulumi.Input[]>; /** * A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ diff --git a/sdk/nodejs/rds/snapshotCopy.ts b/sdk/nodejs/rds/snapshotCopy.ts index 5b4472f95f9..fad7e27074e 100644 --- a/sdk/nodejs/rds/snapshotCopy.ts +++ b/sdk/nodejs/rds/snapshotCopy.ts @@ -124,6 +124,10 @@ export class SnapshotCopy extends pulumi.CustomResource { * he URL that contains a Signature Version 4 signed request. */ public readonly presignedUrl!: pulumi.Output; + /** + * (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + public readonly sharedAccounts!: pulumi.Output; public /*out*/ readonly snapshotType!: pulumi.Output; /** * Snapshot identifier of the source snapshot. @@ -187,6 +191,7 @@ export class SnapshotCopy extends pulumi.CustomResource { resourceInputs["optionGroupName"] = state ? state.optionGroupName : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["presignedUrl"] = state ? state.presignedUrl : undefined; + resourceInputs["sharedAccounts"] = state ? state.sharedAccounts : undefined; resourceInputs["snapshotType"] = state ? state.snapshotType : undefined; resourceInputs["sourceDbSnapshotIdentifier"] = state ? state.sourceDbSnapshotIdentifier : undefined; resourceInputs["sourceRegion"] = state ? state.sourceRegion : undefined; @@ -209,6 +214,7 @@ export class SnapshotCopy extends pulumi.CustomResource { resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; resourceInputs["optionGroupName"] = args ? args.optionGroupName : undefined; resourceInputs["presignedUrl"] = args ? args.presignedUrl : undefined; + resourceInputs["sharedAccounts"] = args ? args.sharedAccounts : undefined; resourceInputs["sourceDbSnapshotIdentifier"] = args ? args.sourceDbSnapshotIdentifier : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["targetCustomAvailabilityZone"] = args ? args.targetCustomAvailabilityZone : undefined; @@ -290,6 +296,10 @@ export interface SnapshotCopyState { * he URL that contains a Signature Version 4 signed request. */ presignedUrl?: pulumi.Input; + /** + * (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + sharedAccounts?: pulumi.Input[]>; snapshotType?: pulumi.Input; /** * Snapshot identifier of the source snapshot. @@ -351,6 +361,10 @@ export interface SnapshotCopyArgs { * he URL that contains a Signature Version 4 signed request. */ presignedUrl?: pulumi.Input; + /** + * (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + */ + sharedAccounts?: pulumi.Input[]>; /** * Snapshot identifier of the source snapshot. */ diff --git a/sdk/nodejs/sagemaker/space.ts b/sdk/nodejs/sagemaker/space.ts index e26e887ab31..b614aba8888 100644 --- a/sdk/nodejs/sagemaker/space.ts +++ b/sdk/nodejs/sagemaker/space.ts @@ -73,7 +73,7 @@ export class Space extends pulumi.CustomResource { */ public /*out*/ readonly homeEfsFileSystemUid!: pulumi.Output; /** - * A collection of ownership settings. See `ownershipSettings` Block below. + * A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. */ public readonly ownershipSettings!: pulumi.Output; /** @@ -89,7 +89,7 @@ export class Space extends pulumi.CustomResource { */ public readonly spaceSettings!: pulumi.Output; /** - * A collection of space sharing settings. See `spaceSharingSettings` Block below. + * A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. */ public readonly spaceSharingSettings!: pulumi.Output; /** @@ -173,7 +173,7 @@ export interface SpaceState { */ homeEfsFileSystemUid?: pulumi.Input; /** - * A collection of ownership settings. See `ownershipSettings` Block below. + * A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. */ ownershipSettings?: pulumi.Input; /** @@ -189,7 +189,7 @@ export interface SpaceState { */ spaceSettings?: pulumi.Input; /** - * A collection of space sharing settings. See `spaceSharingSettings` Block below. + * A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. */ spaceSharingSettings?: pulumi.Input; /** @@ -217,7 +217,7 @@ export interface SpaceArgs { */ domainId: pulumi.Input; /** - * A collection of ownership settings. See `ownershipSettings` Block below. + * A collection of ownership settings. Required if `spaceSharingSettings` is set. See `ownershipSettings` Block below. */ ownershipSettings?: pulumi.Input; /** @@ -233,7 +233,7 @@ export interface SpaceArgs { */ spaceSettings?: pulumi.Input; /** - * A collection of space sharing settings. See `spaceSharingSettings` Block below. + * A collection of space sharing settings. Required if `ownershipSettings` is set. See `spaceSharingSettings` Block below. */ spaceSharingSettings?: pulumi.Input; /** diff --git a/sdk/nodejs/securitylake/subscriber.ts b/sdk/nodejs/securitylake/subscriber.ts index f32e83e13db..e4565241d3f 100644 --- a/sdk/nodejs/securitylake/subscriber.ts +++ b/sdk/nodejs/securitylake/subscriber.ts @@ -72,6 +72,9 @@ export class Subscriber extends pulumi.CustomResource { return obj['__pulumiType'] === Subscriber.__pulumiType; } + /** + * The Amazon S3 or Lake Formation access type. + */ public readonly accessType!: pulumi.Output; /** * ARN of the Data Lake. @@ -94,7 +97,7 @@ export class Subscriber extends pulumi.CustomResource { */ public /*out*/ readonly s3BucketArn!: pulumi.Output; /** - * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. */ public readonly source!: pulumi.Output; /** @@ -106,7 +109,7 @@ export class Subscriber extends pulumi.CustomResource { */ public /*out*/ readonly subscriberEndpoint!: pulumi.Output; /** - * The AWS identity used to access your data. + * The AWS identity used to access your data. See `subscriberIdentity` Block below. */ public readonly subscriberIdentity!: pulumi.Output; /** @@ -184,6 +187,9 @@ export class Subscriber extends pulumi.CustomResource { * Input properties used for looking up and filtering Subscriber resources. */ export interface SubscriberState { + /** + * The Amazon S3 or Lake Formation access type. + */ accessType?: pulumi.Input; /** * ARN of the Data Lake. @@ -206,7 +212,7 @@ export interface SubscriberState { */ s3BucketArn?: pulumi.Input; /** - * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. */ source?: pulumi.Input; /** @@ -218,7 +224,7 @@ export interface SubscriberState { */ subscriberEndpoint?: pulumi.Input; /** - * The AWS identity used to access your data. + * The AWS identity used to access your data. See `subscriberIdentity` Block below. */ subscriberIdentity?: pulumi.Input; /** @@ -246,9 +252,12 @@ export interface SubscriberState { * The set of arguments for constructing a Subscriber resource. */ export interface SubscriberArgs { + /** + * The Amazon S3 or Lake Formation access type. + */ accessType?: pulumi.Input; /** - * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + * The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. */ source?: pulumi.Input; /** @@ -256,7 +265,7 @@ export interface SubscriberArgs { */ subscriberDescription?: pulumi.Input; /** - * The AWS identity used to access your data. + * The AWS identity used to access your data. See `subscriberIdentity` Block below. */ subscriberIdentity?: pulumi.Input; /** diff --git a/sdk/nodejs/sesv2/configurationSetEventDestination.ts b/sdk/nodejs/sesv2/configurationSetEventDestination.ts index 5a632c739d5..6e4d5947248 100644 --- a/sdk/nodejs/sesv2/configurationSetEventDestination.ts +++ b/sdk/nodejs/sesv2/configurationSetEventDestination.ts @@ -12,7 +12,7 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Cloud Watch Destination + * ### CloudWatch Destination * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -36,6 +36,28 @@ import * as utilities from "../utilities"; * }); * ``` * + * ### EventBridge Destination + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const default = aws.cloudwatch.getEventBus({ + * name: "default", + * }); + * const example = new aws.sesv2.ConfigurationSetEventDestination("example", { + * configurationSetName: exampleAwsSesv2ConfigurationSet.configurationSetName, + * eventDestinationName: "example", + * eventDestination: { + * eventBridgeDestination: { + * eventBusArn: _default.then(_default => _default.arn), + * }, + * enabled: true, + * matchingEventTypes: ["SEND"], + * }, + * }); + * ``` + * * ### Kinesis Firehose Destination * * ```typescript @@ -142,7 +164,7 @@ export class ConfigurationSetEventDestination extends pulumi.CustomResource { */ public readonly eventDestination!: pulumi.Output; /** - * An object that defines the event destination. See eventDestination below. + * An object that defines the event destination. See `eventDestination` Block for details. */ public readonly eventDestinationName!: pulumi.Output; @@ -195,7 +217,7 @@ export interface ConfigurationSetEventDestinationState { */ eventDestination?: pulumi.Input; /** - * An object that defines the event destination. See eventDestination below. + * An object that defines the event destination. See `eventDestination` Block for details. */ eventDestinationName?: pulumi.Input; } @@ -213,7 +235,7 @@ export interface ConfigurationSetEventDestinationArgs { */ eventDestination: pulumi.Input; /** - * An object that defines the event destination. See eventDestination below. + * An object that defines the event destination. See `eventDestination` Block for details. */ eventDestinationName: pulumi.Input; } diff --git a/sdk/nodejs/shield/index.ts b/sdk/nodejs/shield/index.ts index 8591268e159..a3cf0bdf456 100644 --- a/sdk/nodejs/shield/index.ts +++ b/sdk/nodejs/shield/index.ts @@ -40,6 +40,11 @@ export type ProtectionHealthCheckAssociation = import("./protectionHealthCheckAs export const ProtectionHealthCheckAssociation: typeof import("./protectionHealthCheckAssociation").ProtectionHealthCheckAssociation = null as any; utilities.lazyLoad(exports, ["ProtectionHealthCheckAssociation"], () => require("./protectionHealthCheckAssociation")); +export { SubscriptionArgs, SubscriptionState } from "./subscription"; +export type Subscription = import("./subscription").Subscription; +export const Subscription: typeof import("./subscription").Subscription = null as any; +utilities.lazyLoad(exports, ["Subscription"], () => require("./subscription")); + const _module = { version: utilities.getVersion(), @@ -59,6 +64,8 @@ const _module = { return new ProtectionGroup(name, undefined, { urn }) case "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": return new ProtectionHealthCheckAssociation(name, undefined, { urn }) + case "aws:shield/subscription:Subscription": + return new Subscription(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -71,3 +78,4 @@ pulumi.runtime.registerResourceModule("aws", "shield/proactiveEngagement", _modu pulumi.runtime.registerResourceModule("aws", "shield/protection", _module) pulumi.runtime.registerResourceModule("aws", "shield/protectionGroup", _module) pulumi.runtime.registerResourceModule("aws", "shield/protectionHealthCheckAssociation", _module) +pulumi.runtime.registerResourceModule("aws", "shield/subscription", _module) diff --git a/sdk/nodejs/shield/subscription.ts b/sdk/nodejs/shield/subscription.ts new file mode 100644 index 00000000000..1db68295716 --- /dev/null +++ b/sdk/nodejs/shield/subscription.ts @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS Shield Subscription. + * + * > This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details. + * + * > Destruction of this resource will set `autoRenew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skipDestroy` to `true` to skip modifying the `autoRenew` argument during destruction. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.shield.Subscription("example", {autoRenew: "ENABLED"}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Shield Subscription using the `id`. For example: + * + * ```sh + * $ pulumi import aws:shield/subscription:Subscription example 012345678901 + * ``` + */ +export class Subscription extends pulumi.CustomResource { + /** + * Get an existing Subscription resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: SubscriptionState, opts?: pulumi.CustomResourceOptions): Subscription { + return new Subscription(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:shield/subscription:Subscription'; + + /** + * Returns true if the given object is an instance of Subscription. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Subscription { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Subscription.__pulumiType; + } + + /** + * Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + */ + public readonly autoRenew!: pulumi.Output; + /** + * Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + */ + public readonly skipDestroy!: pulumi.Output; + + /** + * Create a Subscription resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: SubscriptionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SubscriptionArgs | SubscriptionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SubscriptionState | undefined; + resourceInputs["autoRenew"] = state ? state.autoRenew : undefined; + resourceInputs["skipDestroy"] = state ? state.skipDestroy : undefined; + } else { + const args = argsOrState as SubscriptionArgs | undefined; + resourceInputs["autoRenew"] = args ? args.autoRenew : undefined; + resourceInputs["skipDestroy"] = args ? args.skipDestroy : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Subscription.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Subscription resources. + */ +export interface SubscriptionState { + /** + * Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + */ + autoRenew?: pulumi.Input; + /** + * Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + */ + skipDestroy?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Subscription resource. + */ +export interface SubscriptionArgs { + /** + * Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + */ + autoRenew?: pulumi.Input; + /** + * Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state. + */ + skipDestroy?: pulumi.Input; +} diff --git a/sdk/nodejs/sns/topic.ts b/sdk/nodejs/sns/topic.ts index e7fbe73afcf..3f9f203271b 100644 --- a/sdk/nodejs/sns/topic.ts +++ b/sdk/nodejs/sns/topic.ts @@ -149,7 +149,7 @@ export class Topic extends pulumi.CustomResource { */ public readonly displayName!: pulumi.Output; /** - * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. */ public readonly fifoTopic!: pulumi.Output; /** @@ -363,7 +363,7 @@ export interface TopicState { */ displayName?: pulumi.Input; /** - * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. */ fifoTopic?: pulumi.Input; /** @@ -487,7 +487,7 @@ export interface TopicArgs { */ displayName?: pulumi.Input; /** - * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + * Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. */ fifoTopic?: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 869d6327c23..91a0f590038 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -1040,6 +1040,7 @@ "getRegion.ts", "getRegions.ts", "getService.ts", + "getServicePrincipal.ts", "glacier/index.ts", "glacier/vault.ts", "glacier/vaultLock.ts", @@ -2011,6 +2012,7 @@ "shield/protection.ts", "shield/protectionGroup.ts", "shield/protectionHealthCheckAssociation.ts", + "shield/subscription.ts", "signer/getSigningJob.ts", "signer/getSigningProfile.ts", "signer/index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 63e36768c1e..edf56896498 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -4026,6 +4026,10 @@ export namespace appflow { * Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. */ prefixFormat?: pulumi.Input; + /** + * Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + */ + prefixHierarchies?: pulumi.Input[]>; /** * Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. */ @@ -4146,6 +4150,10 @@ export namespace appflow { * Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. */ prefixFormat?: pulumi.Input; + /** + * Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + */ + prefixHierarchies?: pulumi.Input[]>; /** * Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. */ @@ -4174,6 +4182,25 @@ export namespace appflow { failOnFirstDestinationError?: pulumi.Input; } + export interface FlowMetadataCatalogConfig { + glueDataCatalog?: pulumi.Input; + } + + export interface FlowMetadataCatalogConfigGlueDataCatalog { + /** + * The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + */ + databaseName: pulumi.Input; + /** + * The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + */ + roleArn: pulumi.Input; + /** + * A naming prefix for each Data Catalog table that Amazon AppFlow creates + */ + tablePrefix: pulumi.Input; + } + export interface FlowSourceFlowConfig { /** * API version that the destination connector uses. @@ -9539,84 +9566,88 @@ export namespace batch { export interface JobDefinitionEksProperties { /** - * The properties for the Kubernetes pod resources of a job. See `podProperties` below. + * Properties for the Kubernetes pod resources of a job. See `podProperties` below. */ podProperties: pulumi.Input; } export interface JobDefinitionEksPropertiesPodProperties { /** - * The properties of the container that's used on the Amazon EKS pod. See containers below. + * Properties of the container that's used on the Amazon EKS pod. See containers below. */ containers: pulumi.Input; /** - * The DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + * DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. */ dnsPolicy?: pulumi.Input; /** - * Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. */ hostNetwork?: pulumi.Input; + /** + * List of Kubernetes secret resources. See `imagePullSecret` below. + */ + imagePullSecrets?: pulumi.Input[]>; /** * Metadata about the Kubernetes pod. */ metadata?: pulumi.Input; /** - * The name of the service account that's used to run the pod. + * Name of the service account that's used to run the pod. */ serviceAccountName?: pulumi.Input; /** - * Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. */ volumes?: pulumi.Input[]>; } export interface JobDefinitionEksPropertiesPodPropertiesContainers { /** - * An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. */ args?: pulumi.Input[]>; /** - * The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. */ commands?: pulumi.Input[]>; /** - * The environment variables to pass to a container. See EKS Environment below. + * Environment variables to pass to a container. See EKS Environment below. */ envs?: pulumi.Input[]>; /** - * The Docker image used to start the container. + * Docker image used to start the container. */ image: pulumi.Input; /** - * The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. */ imagePullPolicy?: pulumi.Input; /** - * The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. */ name?: pulumi.Input; /** - * The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + * Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. */ resources?: pulumi.Input; /** - * The security context for a job. + * Security context for a job. */ securityContext?: pulumi.Input; /** - * The volume mounts for the container. + * Volume mounts for the container. */ volumeMounts?: pulumi.Input[]>; } export interface JobDefinitionEksPropertiesPodPropertiesContainersEnv { /** - * Specifies the name of the job definition. + * Name of the job definition. */ name: pulumi.Input; /** - * The value of the environment variable. + * Value of the environment variable. */ value: pulumi.Input; } @@ -9637,12 +9668,19 @@ export namespace batch { export interface JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount { mountPath: pulumi.Input; /** - * Specifies the name of the job definition. + * Name of the job definition. */ name: pulumi.Input; readOnly?: pulumi.Input; } + export interface JobDefinitionEksPropertiesPodPropertiesImagePullSecret { + /** + * Unique identifier. + */ + name: pulumi.Input; + } + export interface JobDefinitionEksPropertiesPodPropertiesMetadata { labels?: pulumi.Input<{[key: string]: pulumi.Input}>; } @@ -9651,7 +9689,7 @@ export namespace batch { emptyDir?: pulumi.Input; hostPath?: pulumi.Input; /** - * Specifies the name of the job definition. + * Name of the job definition. */ name?: pulumi.Input; secret?: pulumi.Input; @@ -9659,66 +9697,66 @@ export namespace batch { export interface JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir { /** - * The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * Medium to store the volume. The default value is an empty string, which uses the storage of the node. */ medium?: pulumi.Input; /** - * The maximum size of the volume. By default, there's no maximum size defined. + * Maximum size of the volume. By default, there's no maximum size defined. */ sizeLimit: pulumi.Input; } export interface JobDefinitionEksPropertiesPodPropertiesVolumeHostPath { /** - * The path of the file or directory on the host to mount into containers on the pod. + * Path of the file or directory on the host to mount into containers on the pod. */ path: pulumi.Input; } export interface JobDefinitionEksPropertiesPodPropertiesVolumeSecret { /** - * Specifies whether the secret or the secret's keys must be defined. + * Whether the secret or the secret's keys must be defined. */ optional?: pulumi.Input; /** - * The name of the secret. The name must be allowed as a DNS subdomain name. + * Name of the secret. The name must be allowed as a DNS subdomain name. */ secretName: pulumi.Input; } export interface JobDefinitionRetryStrategy { /** - * The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. */ attempts?: pulumi.Input; /** - * The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + * Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. */ evaluateOnExits?: pulumi.Input[]>; } export interface JobDefinitionRetryStrategyEvaluateOnExit { /** - * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + * Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. */ action: pulumi.Input; /** - * A glob pattern to match against the decimal representation of the exit code returned for a job. + * Glob pattern to match against the decimal representation of the exit code returned for a job. */ onExitCode?: pulumi.Input; /** - * A glob pattern to match against the reason returned for a job. + * Glob pattern to match against the reason returned for a job. */ onReason?: pulumi.Input; /** - * A glob pattern to match against the status reason returned for a job. + * Glob pattern to match against the status reason returned for a job. */ onStatusReason?: pulumi.Input; } export interface JobDefinitionTimeout { /** - * The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. */ attemptDurationSeconds?: pulumi.Input; } @@ -11359,6 +11397,10 @@ export namespace cloudformation { } export interface StackSetInstanceOperationPreferences { + /** + * Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + */ + concurrencyMode?: pulumi.Input; /** * Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. */ @@ -30730,7 +30772,7 @@ export namespace glue { */ customDatatypes?: pulumi.Input[]>; /** - * The delimiter used in the Csv to separate columns. + * The delimiter used in the CSV to separate columns. */ delimiter?: pulumi.Input; /** @@ -30745,6 +30787,9 @@ export namespace glue { * A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. */ quoteSymbol?: pulumi.Input; + /** + * The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + */ serde?: pulumi.Input; } @@ -61495,6 +61540,10 @@ export namespace rds { * Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`. */ minCapacity?: pulumi.Input; + /** + * Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + */ + secondsBeforeTimeout?: pulumi.Input; /** * Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. */ @@ -67422,6 +67471,9 @@ export namespace sagemaker { * The kernel gateway app settings. See `kernelGatewayAppSettings` Block below. */ kernelGatewayAppSettings?: pulumi.Input; + /** + * The storage settings. See `spaceStorageSettings` Block below. + */ spaceStorageSettings?: pulumi.Input; } @@ -67609,10 +67661,16 @@ export namespace sagemaker { } export interface SpaceSpaceSettingsSpaceStorageSettings { + /** + * A collection of EBS storage settings for a space. See `ebsStorageSettings` Block below. + */ ebsStorageSettings: pulumi.Input; } export interface SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings { + /** + * The size of an EBS storage volume for a space. + */ ebsVolumeSizeInGb: pulumi.Input; } @@ -70627,31 +70685,34 @@ export namespace securitylake { export interface SubscriberSource { /** - * Amazon Security Lake supports log and event collection for natively supported AWS services. + * Amazon Security Lake supports log and event collection for natively supported AWS services. See `awsLogSourceResource` Block below. */ awsLogSourceResource?: pulumi.Input; /** - * Amazon Security Lake supports custom source types. + * Amazon Security Lake supports custom source types. See `customLogSourceResource` Block below. */ customLogSourceResource?: pulumi.Input; } export interface SubscriberSourceAwsLogSourceResource { /** - * The name for a third-party custom source. This must be a Regionally unique value. + * Provides data expiration details of Amazon Security Lake object. */ sourceName: pulumi.Input; /** - * The version for a third-party custom source. This must be a Regionally unique value. + * Provides data storage transition details of Amazon Security Lake object. */ sourceVersion?: pulumi.Input; } export interface SubscriberSourceCustomLogSourceResource { /** - * The attributes of a third-party custom source. + * The attributes of the third-party custom source. See `attributes` Block below. */ attributes?: pulumi.Input[]>; + /** + * The details of the log provider for the third-party custom source. See `provider` Block below. + */ providers?: pulumi.Input[]>; /** * The name for a third-party custom source. This must be a Regionally unique value. @@ -71179,36 +71240,35 @@ export namespace sesv2 { export interface ConfigurationSetEventDestinationEventDestination { /** - * An object that defines an Amazon CloudWatch destination for email events. See cloudWatchDestination below + * An object that defines an Amazon CloudWatch destination for email events. See `cloudWatchDestination` Block for details. */ cloudWatchDestination?: pulumi.Input; /** * When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. */ enabled?: pulumi.Input; + eventBridgeDestination?: pulumi.Input; /** - * An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesisFirehoseDestination below. + * An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesisFirehoseDestination` Block for details. */ kinesisFirehoseDestination?: pulumi.Input; /** * An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - * - * The following arguments are optional: */ matchingEventTypes: pulumi.Input[]>; /** - * An object that defines an Amazon Pinpoint project destination for email events. See pinpointDestination below. + * An object that defines an Amazon Pinpoint project destination for email events. See `pinpointDestination` Block for details. */ pinpointDestination?: pulumi.Input; /** - * An object that defines an Amazon SNS destination for email events. See snsDestination below. + * An object that defines an Amazon SNS destination for email events. See `snsDestination` Block for details. */ snsDestination?: pulumi.Input; } export interface ConfigurationSetEventDestinationEventDestinationCloudWatchDestination { /** - * An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimensionConfiguration below. + * An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimensionConfiguration` Block for details. */ dimensionConfigurations: pulumi.Input[]>; } @@ -71228,6 +71288,13 @@ export namespace sesv2 { dimensionValueSource: pulumi.Input; } + export interface ConfigurationSetEventDestinationEventDestinationEventBridgeDestination { + /** + * The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + */ + eventBusArn: pulumi.Input; + } + export interface ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination { /** * The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that the Amazon SES API v2 sends email events to. @@ -76258,6 +76325,9 @@ export namespace wafv2 { * The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. */ fieldToMatch?: pulumi.Input; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: pulumi.Input; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. @@ -77290,6 +77360,9 @@ export namespace wafv2 { * The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. */ fieldToMatch?: pulumi.Input; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: pulumi.Input; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. @@ -80071,6 +80144,9 @@ export namespace wafv2 { * Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. */ fieldToMatch?: pulumi.Input; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: pulumi.Input; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. @@ -81698,6 +81774,9 @@ export namespace wafv2 { * Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. */ fieldToMatch?: pulumi.Input; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: pulumi.Input; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. @@ -82934,6 +83013,9 @@ export namespace wafv2 { * Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. */ fieldToMatch?: pulumi.Input; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: pulumi.Input; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index bc9d6c14b78..b27a7204c82 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2990,6 +2990,10 @@ export namespace appflow { * Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. */ prefixFormat?: string; + /** + * Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + */ + prefixHierarchies: string[]; /** * Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. */ @@ -3110,6 +3114,10 @@ export namespace appflow { * Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. */ prefixFormat?: string; + /** + * Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + */ + prefixHierarchies: string[]; /** * Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. */ @@ -3138,6 +3146,25 @@ export namespace appflow { failOnFirstDestinationError?: boolean; } + export interface FlowMetadataCatalogConfig { + glueDataCatalog?: outputs.appflow.FlowMetadataCatalogConfigGlueDataCatalog; + } + + export interface FlowMetadataCatalogConfigGlueDataCatalog { + /** + * The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + */ + databaseName: string; + /** + * The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + */ + roleArn: string; + /** + * A naming prefix for each Data Catalog table that Amazon AppFlow creates + */ + tablePrefix: string; + } + export interface FlowSourceFlowConfig { /** * API version that the destination connector uses. @@ -10729,84 +10756,88 @@ export namespace batch { export interface JobDefinitionEksProperties { /** - * The properties for the Kubernetes pod resources of a job. See `podProperties` below. + * Properties for the Kubernetes pod resources of a job. See `podProperties` below. */ podProperties: outputs.batch.JobDefinitionEksPropertiesPodProperties; } export interface JobDefinitionEksPropertiesPodProperties { /** - * The properties of the container that's used on the Amazon EKS pod. See containers below. + * Properties of the container that's used on the Amazon EKS pod. See containers below. */ containers: outputs.batch.JobDefinitionEksPropertiesPodPropertiesContainers; /** - * The DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + * DNS policy for the pod. The default value is `ClusterFirst`. If the `hostNetwork` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. */ dnsPolicy?: string; /** - * Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + * Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. */ hostNetwork?: boolean; + /** + * List of Kubernetes secret resources. See `imagePullSecret` below. + */ + imagePullSecrets?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesImagePullSecret[]; /** * Metadata about the Kubernetes pod. */ metadata?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesMetadata; /** - * The name of the service account that's used to run the pod. + * Name of the service account that's used to run the pod. */ serviceAccountName?: string; /** - * Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + * Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. */ volumes?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesVolume[]; } export interface JobDefinitionEksPropertiesPodPropertiesContainers { /** - * An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + * Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. */ args?: string[]; /** - * The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + * Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. */ commands?: string[]; /** - * The environment variables to pass to a container. See EKS Environment below. + * Environment variables to pass to a container. See EKS Environment below. */ envs?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesContainersEnv[]; /** - * The Docker image used to start the container. + * Docker image used to start the container. */ image: string; /** - * The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + * Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. */ imagePullPolicy?: string; /** - * The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + * Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. */ name?: string; /** - * The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + * Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. */ resources?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesContainersResources; /** - * The security context for a job. + * Security context for a job. */ securityContext?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext; /** - * The volume mounts for the container. + * Volume mounts for the container. */ volumeMounts?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount[]; } export interface JobDefinitionEksPropertiesPodPropertiesContainersEnv { /** - * Specifies the name of the job definition. + * Name of the job definition. */ name: string; /** - * The value of the environment variable. + * Value of the environment variable. */ value: string; } @@ -10827,12 +10858,19 @@ export namespace batch { export interface JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount { mountPath: string; /** - * Specifies the name of the job definition. + * Name of the job definition. */ name: string; readOnly?: boolean; } + export interface JobDefinitionEksPropertiesPodPropertiesImagePullSecret { + /** + * Unique identifier. + */ + name: string; + } + export interface JobDefinitionEksPropertiesPodPropertiesMetadata { labels?: {[key: string]: string}; } @@ -10841,7 +10879,7 @@ export namespace batch { emptyDir?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir; hostPath?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesVolumeHostPath; /** - * Specifies the name of the job definition. + * Name of the job definition. */ name?: string; secret?: outputs.batch.JobDefinitionEksPropertiesPodPropertiesVolumeSecret; @@ -10849,66 +10887,66 @@ export namespace batch { export interface JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir { /** - * The medium to store the volume. The default value is an empty string, which uses the storage of the node. + * Medium to store the volume. The default value is an empty string, which uses the storage of the node. */ medium?: string; /** - * The maximum size of the volume. By default, there's no maximum size defined. + * Maximum size of the volume. By default, there's no maximum size defined. */ sizeLimit: string; } export interface JobDefinitionEksPropertiesPodPropertiesVolumeHostPath { /** - * The path of the file or directory on the host to mount into containers on the pod. + * Path of the file or directory on the host to mount into containers on the pod. */ path: string; } export interface JobDefinitionEksPropertiesPodPropertiesVolumeSecret { /** - * Specifies whether the secret or the secret's keys must be defined. + * Whether the secret or the secret's keys must be defined. */ optional?: boolean; /** - * The name of the secret. The name must be allowed as a DNS subdomain name. + * Name of the secret. The name must be allowed as a DNS subdomain name. */ secretName: string; } export interface JobDefinitionRetryStrategy { /** - * The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + * Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. */ attempts?: number; /** - * The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + * Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. */ evaluateOnExits?: outputs.batch.JobDefinitionRetryStrategyEvaluateOnExit[]; } export interface JobDefinitionRetryStrategyEvaluateOnExit { /** - * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + * Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. */ action: string; /** - * A glob pattern to match against the decimal representation of the exit code returned for a job. + * Glob pattern to match against the decimal representation of the exit code returned for a job. */ onExitCode?: string; /** - * A glob pattern to match against the reason returned for a job. + * Glob pattern to match against the reason returned for a job. */ onReason?: string; /** - * A glob pattern to match against the status reason returned for a job. + * Glob pattern to match against the status reason returned for a job. */ onStatusReason?: string; } export interface JobDefinitionTimeout { /** - * The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + * Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. */ attemptDurationSeconds?: number; } @@ -12815,6 +12853,10 @@ export namespace cloudformation { } export interface StackSetInstanceOperationPreferences { + /** + * Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + */ + concurrencyMode?: string; /** * Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. */ @@ -36734,7 +36776,7 @@ export namespace glue { */ customDatatypes?: string[]; /** - * The delimiter used in the Csv to separate columns. + * The delimiter used in the CSV to separate columns. */ delimiter?: string; /** @@ -36749,6 +36791,9 @@ export namespace glue { * A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. */ quoteSymbol?: string; + /** + * The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + */ serde: string; } @@ -69617,6 +69662,10 @@ export namespace rds { * Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`. */ minCapacity?: number; + /** + * Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + */ + secondsBeforeTimeout?: number; /** * Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. */ @@ -75571,6 +75620,9 @@ export namespace sagemaker { * The kernel gateway app settings. See `kernelGatewayAppSettings` Block below. */ kernelGatewayAppSettings?: outputs.sagemaker.SpaceSpaceSettingsKernelGatewayAppSettings; + /** + * The storage settings. See `spaceStorageSettings` Block below. + */ spaceStorageSettings: outputs.sagemaker.SpaceSpaceSettingsSpaceStorageSettings; } @@ -75758,10 +75810,16 @@ export namespace sagemaker { } export interface SpaceSpaceSettingsSpaceStorageSettings { + /** + * A collection of EBS storage settings for a space. See `ebsStorageSettings` Block below. + */ ebsStorageSettings: outputs.sagemaker.SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings; } export interface SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings { + /** + * The size of an EBS storage volume for a space. + */ ebsVolumeSizeInGb: number; } @@ -78775,31 +78833,34 @@ export namespace securitylake { export interface SubscriberSource { /** - * Amazon Security Lake supports log and event collection for natively supported AWS services. + * Amazon Security Lake supports log and event collection for natively supported AWS services. See `awsLogSourceResource` Block below. */ awsLogSourceResource?: outputs.securitylake.SubscriberSourceAwsLogSourceResource; /** - * Amazon Security Lake supports custom source types. + * Amazon Security Lake supports custom source types. See `customLogSourceResource` Block below. */ customLogSourceResource?: outputs.securitylake.SubscriberSourceCustomLogSourceResource; } export interface SubscriberSourceAwsLogSourceResource { /** - * The name for a third-party custom source. This must be a Regionally unique value. + * Provides data expiration details of Amazon Security Lake object. */ sourceName: string; /** - * The version for a third-party custom source. This must be a Regionally unique value. + * Provides data storage transition details of Amazon Security Lake object. */ sourceVersion: string; } export interface SubscriberSourceCustomLogSourceResource { /** - * The attributes of a third-party custom source. + * The attributes of the third-party custom source. See `attributes` Block below. */ attributes: outputs.securitylake.SubscriberSourceCustomLogSourceResourceAttribute[]; + /** + * The details of the log provider for the third-party custom source. See `provider` Block below. + */ providers: outputs.securitylake.SubscriberSourceCustomLogSourceResourceProvider[]; /** * The name for a third-party custom source. This must be a Regionally unique value. @@ -79458,36 +79519,35 @@ export namespace sesv2 { export interface ConfigurationSetEventDestinationEventDestination { /** - * An object that defines an Amazon CloudWatch destination for email events. See cloudWatchDestination below + * An object that defines an Amazon CloudWatch destination for email events. See `cloudWatchDestination` Block for details. */ cloudWatchDestination?: outputs.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestination; /** * When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. */ enabled?: boolean; + eventBridgeDestination?: outputs.sesv2.ConfigurationSetEventDestinationEventDestinationEventBridgeDestination; /** - * An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesisFirehoseDestination below. + * An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesisFirehoseDestination` Block for details. */ kinesisFirehoseDestination?: outputs.sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination; /** * An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - * - * The following arguments are optional: */ matchingEventTypes: string[]; /** - * An object that defines an Amazon Pinpoint project destination for email events. See pinpointDestination below. + * An object that defines an Amazon Pinpoint project destination for email events. See `pinpointDestination` Block for details. */ pinpointDestination?: outputs.sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestination; /** - * An object that defines an Amazon SNS destination for email events. See snsDestination below. + * An object that defines an Amazon SNS destination for email events. See `snsDestination` Block for details. */ snsDestination?: outputs.sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestination; } export interface ConfigurationSetEventDestinationEventDestinationCloudWatchDestination { /** - * An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimensionConfiguration below. + * An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimensionConfiguration` Block for details. */ dimensionConfigurations: outputs.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration[]; } @@ -79507,6 +79567,13 @@ export namespace sesv2 { dimensionValueSource: string; } + export interface ConfigurationSetEventDestinationEventDestinationEventBridgeDestination { + /** + * The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + */ + eventBusArn: string; + } + export interface ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination { /** * The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that the Amazon SES API v2 sends email events to. @@ -84996,6 +85063,9 @@ export namespace wafv2 { * The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. */ fieldToMatch?: outputs.wafv2.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: string; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. @@ -86028,6 +86098,9 @@ export namespace wafv2 { * The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. */ fieldToMatch?: outputs.wafv2.RuleGroupRuleStatementSqliMatchStatementFieldToMatch; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: string; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. @@ -88809,6 +88882,9 @@ export namespace wafv2 { * Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. */ fieldToMatch?: outputs.wafv2.WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatch; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: string; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. @@ -90436,6 +90512,9 @@ export namespace wafv2 { * Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. */ fieldToMatch?: outputs.wafv2.WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatch; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: string; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. @@ -91672,6 +91751,9 @@ export namespace wafv2 { * Part of a web request that you want AWS WAF to inspect. See `fieldToMatch` below for details. */ fieldToMatch?: outputs.wafv2.WebAclRuleStatementSqliMatchStatementFieldToMatch; + /** + * Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + */ sensitivityLevel?: string; /** * Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `textTransformation` below for details. diff --git a/sdk/nodejs/vpc/securityGroupEgressRule.ts b/sdk/nodejs/vpc/securityGroupEgressRule.ts index 6c9dcf7f7c8..d191804513c 100644 --- a/sdk/nodejs/vpc/securityGroupEgressRule.ts +++ b/sdk/nodejs/vpc/securityGroupEgressRule.ts @@ -9,10 +9,9 @@ import * as utilities from "../utilities"; * * When specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic. * - * > **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` resource has been added to address these limitations and should be used for all new security group rules. - * You 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. + * > **NOTE:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + * + * !> **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * ## Example Usage * diff --git a/sdk/nodejs/vpc/securityGroupIngressRule.ts b/sdk/nodejs/vpc/securityGroupIngressRule.ts index cb31b0e6d91..5ce9edef17e 100644 --- a/sdk/nodejs/vpc/securityGroupIngressRule.ts +++ b/sdk/nodejs/vpc/securityGroupIngressRule.ts @@ -9,10 +9,9 @@ import * as utilities from "../utilities"; * * When specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic. * - * > **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.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules. - * You 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. + * > **NOTE:** Using `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `aws.ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `aws.ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + * + * !> **WARNING:** You should not use the `aws.vpc.SecurityGroupEgressRule` and `aws.vpc.SecurityGroupIngressRule` resources in conjunction with the `aws.ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `aws.ec2.SecurityGroup`) or the `aws.ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. * * ## Example Usage * diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 20a666529e9..9a60477b4fe 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -17,6 +17,7 @@ from .get_region import * from .get_regions import * from .get_service import * +from .get_service_principal import * from .provider import * from ._inputs import * from . import outputs @@ -10717,6 +10718,14 @@ "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": "ProtectionHealthCheckAssociation" } }, + { + "pkg": "aws", + "mod": "shield/subscription", + "fqn": "pulumi_aws.shield", + "classes": { + "aws:shield/subscription:Subscription": "Subscription" + } + }, { "pkg": "aws", "mod": "signer/signingJob", diff --git a/sdk/python/pulumi_aws/appflow/_inputs.py b/sdk/python/pulumi_aws/appflow/_inputs.py index e96bedf1075..7b934155887 100644 --- a/sdk/python/pulumi_aws/appflow/_inputs.py +++ b/sdk/python/pulumi_aws/appflow/_inputs.py @@ -187,6 +187,10 @@ 'FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskArgsDict', 'FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigArgs', 'FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfigArgsDict', + 'FlowMetadataCatalogConfigArgs', + 'FlowMetadataCatalogConfigArgsDict', + 'FlowMetadataCatalogConfigGlueDataCatalogArgs', + 'FlowMetadataCatalogConfigGlueDataCatalogArgsDict', 'FlowSourceFlowConfigArgs', 'FlowSourceFlowConfigArgsDict', 'FlowSourceFlowConfigIncrementalPullConfigArgs', @@ -4771,6 +4775,10 @@ class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatCon """ Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. """ + prefix_hierarchies: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + """ prefix_type: NotRequired[pulumi.Input[str]] """ Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. @@ -4782,13 +4790,17 @@ class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatCon class FlowDestinationFlowConfigDestinationConnectorPropertiesS3S3OutputFormatConfigPrefixConfigArgs: def __init__(__self__, *, prefix_format: Optional[pulumi.Input[str]] = None, + prefix_hierarchies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, prefix_type: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] prefix_format: Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] prefix_hierarchies: Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` :param pulumi.Input[str] prefix_type: Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. """ if prefix_format is not None: pulumi.set(__self__, "prefix_format", prefix_format) + if prefix_hierarchies is not None: + pulumi.set(__self__, "prefix_hierarchies", prefix_hierarchies) if prefix_type is not None: pulumi.set(__self__, "prefix_type", prefix_type) @@ -4804,6 +4816,18 @@ def prefix_format(self) -> Optional[pulumi.Input[str]]: def prefix_format(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "prefix_format", value) + @property + @pulumi.getter(name="prefixHierarchies") + def prefix_hierarchies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + """ + return pulumi.get(self, "prefix_hierarchies") + + @prefix_hierarchies.setter + def prefix_hierarchies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "prefix_hierarchies", value) + @property @pulumi.getter(name="prefixType") def prefix_type(self) -> Optional[pulumi.Input[str]]: @@ -5449,6 +5473,10 @@ class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFor """ Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. """ + prefix_hierarchies: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + """ elif False: FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -5456,14 +5484,18 @@ class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFor class FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfigArgs: def __init__(__self__, *, prefix_type: pulumi.Input[str], - prefix_format: Optional[pulumi.Input[str]] = None): + prefix_format: Optional[pulumi.Input[str]] = None, + prefix_hierarchies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ :param pulumi.Input[str] prefix_type: Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. :param pulumi.Input[str] prefix_format: Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] prefix_hierarchies: Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` """ pulumi.set(__self__, "prefix_type", prefix_type) if prefix_format is not None: pulumi.set(__self__, "prefix_format", prefix_format) + if prefix_hierarchies is not None: + pulumi.set(__self__, "prefix_hierarchies", prefix_hierarchies) @property @pulumi.getter(name="prefixType") @@ -5489,6 +5521,18 @@ def prefix_format(self) -> Optional[pulumi.Input[str]]: def prefix_format(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "prefix_format", value) + @property + @pulumi.getter(name="prefixHierarchies") + def prefix_hierarchies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + """ + return pulumi.get(self, "prefix_hierarchies") + + @prefix_hierarchies.setter + def prefix_hierarchies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "prefix_hierarchies", value) + if not MYPY: class FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskArgsDict(TypedDict): @@ -5623,6 +5667,98 @@ def fail_on_first_destination_error(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "fail_on_first_destination_error", value) +if not MYPY: + class FlowMetadataCatalogConfigArgsDict(TypedDict): + glue_data_catalog: NotRequired[pulumi.Input['FlowMetadataCatalogConfigGlueDataCatalogArgsDict']] +elif False: + FlowMetadataCatalogConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class FlowMetadataCatalogConfigArgs: + def __init__(__self__, *, + glue_data_catalog: Optional[pulumi.Input['FlowMetadataCatalogConfigGlueDataCatalogArgs']] = None): + if glue_data_catalog is not None: + pulumi.set(__self__, "glue_data_catalog", glue_data_catalog) + + @property + @pulumi.getter(name="glueDataCatalog") + def glue_data_catalog(self) -> Optional[pulumi.Input['FlowMetadataCatalogConfigGlueDataCatalogArgs']]: + return pulumi.get(self, "glue_data_catalog") + + @glue_data_catalog.setter + def glue_data_catalog(self, value: Optional[pulumi.Input['FlowMetadataCatalogConfigGlueDataCatalogArgs']]): + pulumi.set(self, "glue_data_catalog", value) + + +if not MYPY: + class FlowMetadataCatalogConfigGlueDataCatalogArgsDict(TypedDict): + database_name: pulumi.Input[str] + """ + The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + """ + role_arn: pulumi.Input[str] + """ + The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + """ + table_prefix: pulumi.Input[str] + """ + A naming prefix for each Data Catalog table that Amazon AppFlow creates + """ +elif False: + FlowMetadataCatalogConfigGlueDataCatalogArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class FlowMetadataCatalogConfigGlueDataCatalogArgs: + def __init__(__self__, *, + database_name: pulumi.Input[str], + role_arn: pulumi.Input[str], + table_prefix: pulumi.Input[str]): + """ + :param pulumi.Input[str] database_name: The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + :param pulumi.Input[str] role_arn: The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + :param pulumi.Input[str] table_prefix: A naming prefix for each Data Catalog table that Amazon AppFlow creates + """ + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "table_prefix", table_prefix) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> pulumi.Input[str]: + """ + The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: pulumi.Input[str]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + """ + The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter(name="tablePrefix") + def table_prefix(self) -> pulumi.Input[str]: + """ + A naming prefix for each Data Catalog table that Amazon AppFlow creates + """ + return pulumi.get(self, "table_prefix") + + @table_prefix.setter + def table_prefix(self, value: pulumi.Input[str]): + pulumi.set(self, "table_prefix", value) + + if not MYPY: class FlowSourceFlowConfigArgsDict(TypedDict): connector_type: pulumi.Input[str] diff --git a/sdk/python/pulumi_aws/appflow/flow.py b/sdk/python/pulumi_aws/appflow/flow.py index e58f9c16067..fc430dd3cc5 100644 --- a/sdk/python/pulumi_aws/appflow/flow.py +++ b/sdk/python/pulumi_aws/appflow/flow.py @@ -27,6 +27,7 @@ def __init__(__self__, *, trigger_config: pulumi.Input['FlowTriggerConfigArgs'], description: Optional[pulumi.Input[str]] = None, kms_arn: Optional[pulumi.Input[str]] = None, + metadata_catalog_config: Optional[pulumi.Input['FlowMetadataCatalogConfigArgs']] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ @@ -37,6 +38,7 @@ def __init__(__self__, *, :param pulumi.Input['FlowTriggerConfigArgs'] trigger_config: A Trigger that determine how and when the flow runs. :param pulumi.Input[str] description: Description of the flow you want to create. :param pulumi.Input[str] kms_arn: ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + :param pulumi.Input['FlowMetadataCatalogConfigArgs'] metadata_catalog_config: A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. :param pulumi.Input[str] name: Name of the flow. :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. """ @@ -48,6 +50,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if kms_arn is not None: pulumi.set(__self__, "kms_arn", kms_arn) + if metadata_catalog_config is not None: + pulumi.set(__self__, "metadata_catalog_config", metadata_catalog_config) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: @@ -125,6 +129,18 @@ def kms_arn(self) -> Optional[pulumi.Input[str]]: def kms_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "kms_arn", value) + @property + @pulumi.getter(name="metadataCatalogConfig") + def metadata_catalog_config(self) -> Optional[pulumi.Input['FlowMetadataCatalogConfigArgs']]: + """ + A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + """ + return pulumi.get(self, "metadata_catalog_config") + + @metadata_catalog_config.setter + def metadata_catalog_config(self, value: Optional[pulumi.Input['FlowMetadataCatalogConfigArgs']]): + pulumi.set(self, "metadata_catalog_config", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -158,6 +174,7 @@ def __init__(__self__, *, destination_flow_configs: Optional[pulumi.Input[Sequence[pulumi.Input['FlowDestinationFlowConfigArgs']]]] = None, flow_status: Optional[pulumi.Input[str]] = None, kms_arn: Optional[pulumi.Input[str]] = None, + metadata_catalog_config: Optional[pulumi.Input['FlowMetadataCatalogConfigArgs']] = None, name: Optional[pulumi.Input[str]] = None, source_flow_config: Optional[pulumi.Input['FlowSourceFlowConfigArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -171,6 +188,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['FlowDestinationFlowConfigArgs']]] destination_flow_configs: A Destination Flow Config that controls how Amazon AppFlow places data in the destination connector. :param pulumi.Input[str] flow_status: The current status of the flow. :param pulumi.Input[str] kms_arn: ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + :param pulumi.Input['FlowMetadataCatalogConfigArgs'] metadata_catalog_config: A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. :param pulumi.Input[str] name: Name of the flow. :param pulumi.Input['FlowSourceFlowConfigArgs'] source_flow_config: The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. :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. @@ -188,6 +206,8 @@ def __init__(__self__, *, pulumi.set(__self__, "flow_status", flow_status) if kms_arn is not None: pulumi.set(__self__, "kms_arn", kms_arn) + if metadata_catalog_config is not None: + pulumi.set(__self__, "metadata_catalog_config", metadata_catalog_config) if name is not None: pulumi.set(__self__, "name", name) if source_flow_config is not None: @@ -264,6 +284,18 @@ def kms_arn(self) -> Optional[pulumi.Input[str]]: def kms_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "kms_arn", value) + @property + @pulumi.getter(name="metadataCatalogConfig") + def metadata_catalog_config(self) -> Optional[pulumi.Input['FlowMetadataCatalogConfigArgs']]: + """ + A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + """ + return pulumi.get(self, "metadata_catalog_config") + + @metadata_catalog_config.setter + def metadata_catalog_config(self, value: Optional[pulumi.Input['FlowMetadataCatalogConfigArgs']]): + pulumi.set(self, "metadata_catalog_config", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -346,6 +378,7 @@ def __init__(__self__, description: Optional[pulumi.Input[str]] = None, destination_flow_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FlowDestinationFlowConfigArgs', 'FlowDestinationFlowConfigArgsDict']]]]] = None, kms_arn: Optional[pulumi.Input[str]] = None, + metadata_catalog_config: Optional[pulumi.Input[Union['FlowMetadataCatalogConfigArgs', 'FlowMetadataCatalogConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, source_flow_config: Optional[pulumi.Input[Union['FlowSourceFlowConfigArgs', 'FlowSourceFlowConfigArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -459,6 +492,7 @@ def __init__(__self__, :param pulumi.Input[str] description: Description of the flow you want to create. :param pulumi.Input[Sequence[pulumi.Input[Union['FlowDestinationFlowConfigArgs', 'FlowDestinationFlowConfigArgsDict']]]] destination_flow_configs: A Destination Flow Config that controls how Amazon AppFlow places data in the destination connector. :param pulumi.Input[str] kms_arn: ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + :param pulumi.Input[Union['FlowMetadataCatalogConfigArgs', 'FlowMetadataCatalogConfigArgsDict']] metadata_catalog_config: A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. :param pulumi.Input[str] name: Name of the flow. :param pulumi.Input[Union['FlowSourceFlowConfigArgs', 'FlowSourceFlowConfigArgsDict']] source_flow_config: The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. :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. @@ -591,6 +625,7 @@ def _internal_init(__self__, description: Optional[pulumi.Input[str]] = None, destination_flow_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FlowDestinationFlowConfigArgs', 'FlowDestinationFlowConfigArgsDict']]]]] = None, kms_arn: Optional[pulumi.Input[str]] = None, + metadata_catalog_config: Optional[pulumi.Input[Union['FlowMetadataCatalogConfigArgs', 'FlowMetadataCatalogConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, source_flow_config: Optional[pulumi.Input[Union['FlowSourceFlowConfigArgs', 'FlowSourceFlowConfigArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -610,6 +645,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'destination_flow_configs'") __props__.__dict__["destination_flow_configs"] = destination_flow_configs __props__.__dict__["kms_arn"] = kms_arn + __props__.__dict__["metadata_catalog_config"] = metadata_catalog_config __props__.__dict__["name"] = name if source_flow_config is None and not opts.urn: raise TypeError("Missing required property 'source_flow_config'") @@ -639,6 +675,7 @@ def get(resource_name: str, destination_flow_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FlowDestinationFlowConfigArgs', 'FlowDestinationFlowConfigArgsDict']]]]] = None, flow_status: Optional[pulumi.Input[str]] = None, kms_arn: Optional[pulumi.Input[str]] = None, + metadata_catalog_config: Optional[pulumi.Input[Union['FlowMetadataCatalogConfigArgs', 'FlowMetadataCatalogConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, source_flow_config: Optional[pulumi.Input[Union['FlowSourceFlowConfigArgs', 'FlowSourceFlowConfigArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -657,6 +694,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[Union['FlowDestinationFlowConfigArgs', 'FlowDestinationFlowConfigArgsDict']]]] destination_flow_configs: A Destination Flow Config that controls how Amazon AppFlow places data in the destination connector. :param pulumi.Input[str] flow_status: The current status of the flow. :param pulumi.Input[str] kms_arn: ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + :param pulumi.Input[Union['FlowMetadataCatalogConfigArgs', 'FlowMetadataCatalogConfigArgsDict']] metadata_catalog_config: A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. :param pulumi.Input[str] name: Name of the flow. :param pulumi.Input[Union['FlowSourceFlowConfigArgs', 'FlowSourceFlowConfigArgsDict']] source_flow_config: The Source Flow Config that controls how Amazon AppFlow retrieves data from the source connector. :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. @@ -673,6 +711,7 @@ def get(resource_name: str, __props__.__dict__["destination_flow_configs"] = destination_flow_configs __props__.__dict__["flow_status"] = flow_status __props__.__dict__["kms_arn"] = kms_arn + __props__.__dict__["metadata_catalog_config"] = metadata_catalog_config __props__.__dict__["name"] = name __props__.__dict__["source_flow_config"] = source_flow_config __props__.__dict__["tags"] = tags @@ -721,6 +760,14 @@ def kms_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "kms_arn") + @property + @pulumi.getter(name="metadataCatalogConfig") + def metadata_catalog_config(self) -> pulumi.Output['outputs.FlowMetadataCatalogConfig']: + """ + A Catalog that determines the configuration that Amazon AppFlow uses when it catalogs the data that’s transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog. + """ + return pulumi.get(self, "metadata_catalog_config") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/appflow/outputs.py b/sdk/python/pulumi_aws/appflow/outputs.py index 1532aee9d1f..cdcf4b6251a 100644 --- a/sdk/python/pulumi_aws/appflow/outputs.py +++ b/sdk/python/pulumi_aws/appflow/outputs.py @@ -102,6 +102,8 @@ 'FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig', 'FlowDestinationFlowConfigDestinationConnectorPropertiesZendesk', 'FlowDestinationFlowConfigDestinationConnectorPropertiesZendeskErrorHandlingConfig', + 'FlowMetadataCatalogConfig', + 'FlowMetadataCatalogConfigGlueDataCatalog', 'FlowSourceFlowConfig', 'FlowSourceFlowConfigIncrementalPullConfig', 'FlowSourceFlowConfigSourceConnectorProperties', @@ -4024,6 +4026,8 @@ def __key_warning(key: str): suggest = None if key == "prefixFormat": suggest = "prefix_format" + elif key == "prefixHierarchies": + suggest = "prefix_hierarchies" elif key == "prefixType": suggest = "prefix_type" @@ -4040,13 +4044,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, prefix_format: Optional[str] = None, + prefix_hierarchies: Optional[Sequence[str]] = None, prefix_type: Optional[str] = None): """ :param str prefix_format: Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. + :param Sequence[str] prefix_hierarchies: Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` :param str prefix_type: Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. """ if prefix_format is not None: pulumi.set(__self__, "prefix_format", prefix_format) + if prefix_hierarchies is not None: + pulumi.set(__self__, "prefix_hierarchies", prefix_hierarchies) if prefix_type is not None: pulumi.set(__self__, "prefix_type", prefix_type) @@ -4058,6 +4066,14 @@ def prefix_format(self) -> Optional[str]: """ return pulumi.get(self, "prefix_format") + @property + @pulumi.getter(name="prefixHierarchies") + def prefix_hierarchies(self) -> Optional[Sequence[str]]: + """ + Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + """ + return pulumi.get(self, "prefix_hierarchies") + @property @pulumi.getter(name="prefixType") def prefix_type(self) -> Optional[str]: @@ -4653,6 +4669,8 @@ def __key_warning(key: str): suggest = "prefix_type" elif key == "prefixFormat": suggest = "prefix_format" + elif key == "prefixHierarchies": + suggest = "prefix_hierarchies" if suggest: pulumi.log.warn(f"Key '{key}' not found in FlowDestinationFlowConfigDestinationConnectorPropertiesUpsolverS3OutputFormatConfigPrefixConfig. Access the value via the '{suggest}' property getter instead.") @@ -4667,14 +4685,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, prefix_type: str, - prefix_format: Optional[str] = None): + prefix_format: Optional[str] = None, + prefix_hierarchies: Optional[Sequence[str]] = None): """ :param str prefix_type: Determines the format of the prefix, and whether it applies to the file name, file path, or both. Valid values are `FILENAME`, `PATH`, and `PATH_AND_FILENAME`. :param str prefix_format: Determines the level of granularity that's included in the prefix. Valid values are `YEAR`, `MONTH`, `DAY`, `HOUR`, and `MINUTE`. + :param Sequence[str] prefix_hierarchies: Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` """ pulumi.set(__self__, "prefix_type", prefix_type) if prefix_format is not None: pulumi.set(__self__, "prefix_format", prefix_format) + if prefix_hierarchies is not None: + pulumi.set(__self__, "prefix_hierarchies", prefix_hierarchies) @property @pulumi.getter(name="prefixType") @@ -4692,6 +4714,14 @@ def prefix_format(self) -> Optional[str]: """ return pulumi.get(self, "prefix_format") + @property + @pulumi.getter(name="prefixHierarchies") + def prefix_hierarchies(self) -> Optional[Sequence[str]]: + """ + Determines whether the destination file path includes either or both of the selected elements. Valid values are `EXECUTION_ID` and `SCHEMA_VERSION` + """ + return pulumi.get(self, "prefix_hierarchies") + @pulumi.output_type class FlowDestinationFlowConfigDestinationConnectorPropertiesZendesk(dict): @@ -4814,6 +4844,97 @@ def fail_on_first_destination_error(self) -> Optional[bool]: return pulumi.get(self, "fail_on_first_destination_error") +@pulumi.output_type +class FlowMetadataCatalogConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "glueDataCatalog": + suggest = "glue_data_catalog" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FlowMetadataCatalogConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FlowMetadataCatalogConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FlowMetadataCatalogConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + glue_data_catalog: Optional['outputs.FlowMetadataCatalogConfigGlueDataCatalog'] = None): + if glue_data_catalog is not None: + pulumi.set(__self__, "glue_data_catalog", glue_data_catalog) + + @property + @pulumi.getter(name="glueDataCatalog") + def glue_data_catalog(self) -> Optional['outputs.FlowMetadataCatalogConfigGlueDataCatalog']: + return pulumi.get(self, "glue_data_catalog") + + +@pulumi.output_type +class FlowMetadataCatalogConfigGlueDataCatalog(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "databaseName": + suggest = "database_name" + elif key == "roleArn": + suggest = "role_arn" + elif key == "tablePrefix": + suggest = "table_prefix" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FlowMetadataCatalogConfigGlueDataCatalog. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FlowMetadataCatalogConfigGlueDataCatalog.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FlowMetadataCatalogConfigGlueDataCatalog.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + database_name: str, + role_arn: str, + table_prefix: str): + """ + :param str database_name: The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + :param str role_arn: The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + :param str table_prefix: A naming prefix for each Data Catalog table that Amazon AppFlow creates + """ + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "table_prefix", table_prefix) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> str: + """ + The name of an existing Glue database to store the metadata tables that Amazon AppFlow creates. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> str: + """ + The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions. + """ + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter(name="tablePrefix") + def table_prefix(self) -> str: + """ + A naming prefix for each Data Catalog table that Amazon AppFlow creates + """ + return pulumi.get(self, "table_prefix") + + @pulumi.output_type class FlowSourceFlowConfig(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/batch/_inputs.py b/sdk/python/pulumi_aws/batch/_inputs.py index 3638e4cbc96..387f49cf3a6 100644 --- a/sdk/python/pulumi_aws/batch/_inputs.py +++ b/sdk/python/pulumi_aws/batch/_inputs.py @@ -39,6 +39,8 @@ 'JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgsDict', 'JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs', 'JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgsDict', + 'JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs', + 'JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgsDict', 'JobDefinitionEksPropertiesPodPropertiesMetadataArgs', 'JobDefinitionEksPropertiesPodPropertiesMetadataArgsDict', 'JobDefinitionEksPropertiesPodPropertiesVolumeArgs', @@ -644,7 +646,7 @@ def terminate_jobs_on_update(self, value: pulumi.Input[bool]): class JobDefinitionEksPropertiesArgsDict(TypedDict): pod_properties: pulumi.Input['JobDefinitionEksPropertiesPodPropertiesArgsDict'] """ - The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + Properties for the Kubernetes pod resources of a job. See `pod_properties` below. """ elif False: JobDefinitionEksPropertiesArgsDict: TypeAlias = Mapping[str, Any] @@ -654,7 +656,7 @@ class JobDefinitionEksPropertiesArgs: def __init__(__self__, *, pod_properties: pulumi.Input['JobDefinitionEksPropertiesPodPropertiesArgs']): """ - :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesArgs'] pod_properties: The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesArgs'] pod_properties: Properties for the Kubernetes pod resources of a job. See `pod_properties` below. """ pulumi.set(__self__, "pod_properties", pod_properties) @@ -662,7 +664,7 @@ def __init__(__self__, *, @pulumi.getter(name="podProperties") def pod_properties(self) -> pulumi.Input['JobDefinitionEksPropertiesPodPropertiesArgs']: """ - The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + Properties for the Kubernetes pod resources of a job. See `pod_properties` below. """ return pulumi.get(self, "pod_properties") @@ -675,15 +677,19 @@ def pod_properties(self, value: pulumi.Input['JobDefinitionEksPropertiesPodPrope class JobDefinitionEksPropertiesPodPropertiesArgsDict(TypedDict): containers: pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersArgsDict'] """ - The properties of the container that's used on the Amazon EKS pod. See containers below. + Properties of the container that's used on the Amazon EKS pod. See containers below. """ dns_policy: NotRequired[pulumi.Input[str]] """ - The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. """ host_network: NotRequired[pulumi.Input[bool]] """ - Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + """ + image_pull_secrets: NotRequired[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgsDict']]]] + """ + List of Kubernetes secret resources. See `image_pull_secret` below. """ metadata: NotRequired[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesMetadataArgsDict']] """ @@ -691,11 +697,11 @@ class JobDefinitionEksPropertiesPodPropertiesArgsDict(TypedDict): """ service_account_name: NotRequired[pulumi.Input[str]] """ - The name of the service account that's used to run the pod. + Name of the service account that's used to run the pod. """ volumes: NotRequired[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeArgsDict']]]] """ - Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. """ elif False: JobDefinitionEksPropertiesPodPropertiesArgsDict: TypeAlias = Mapping[str, Any] @@ -706,22 +712,26 @@ def __init__(__self__, *, containers: pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersArgs'], dns_policy: Optional[pulumi.Input[str]] = None, host_network: Optional[pulumi.Input[bool]] = None, + image_pull_secrets: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs']]]] = None, metadata: Optional[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesMetadataArgs']] = None, service_account_name: Optional[pulumi.Input[str]] = None, volumes: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeArgs']]]] = None): """ - :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersArgs'] containers: The properties of the container that's used on the Amazon EKS pod. See containers below. - :param pulumi.Input[str] dns_policy: The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. - :param pulumi.Input[bool] host_network: Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersArgs'] containers: Properties of the container that's used on the Amazon EKS pod. See containers below. + :param pulumi.Input[str] dns_policy: DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + :param pulumi.Input[bool] host_network: Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs']]] image_pull_secrets: List of Kubernetes secret resources. See `image_pull_secret` below. :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesMetadataArgs'] metadata: Metadata about the Kubernetes pod. - :param pulumi.Input[str] service_account_name: The name of the service account that's used to run the pod. - :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeArgs']]] volumes: Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + :param pulumi.Input[str] service_account_name: Name of the service account that's used to run the pod. + :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeArgs']]] volumes: Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. """ pulumi.set(__self__, "containers", containers) if dns_policy is not None: pulumi.set(__self__, "dns_policy", dns_policy) if host_network is not None: pulumi.set(__self__, "host_network", host_network) + if image_pull_secrets is not None: + pulumi.set(__self__, "image_pull_secrets", image_pull_secrets) if metadata is not None: pulumi.set(__self__, "metadata", metadata) if service_account_name is not None: @@ -733,7 +743,7 @@ def __init__(__self__, *, @pulumi.getter def containers(self) -> pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersArgs']: """ - The properties of the container that's used on the Amazon EKS pod. See containers below. + Properties of the container that's used on the Amazon EKS pod. See containers below. """ return pulumi.get(self, "containers") @@ -745,7 +755,7 @@ def containers(self, value: pulumi.Input['JobDefinitionEksPropertiesPodPropertie @pulumi.getter(name="dnsPolicy") def dns_policy(self) -> Optional[pulumi.Input[str]]: """ - The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. """ return pulumi.get(self, "dns_policy") @@ -757,7 +767,7 @@ def dns_policy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="hostNetwork") def host_network(self) -> Optional[pulumi.Input[bool]]: """ - Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. """ return pulumi.get(self, "host_network") @@ -765,6 +775,18 @@ def host_network(self) -> Optional[pulumi.Input[bool]]: def host_network(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "host_network", value) + @property + @pulumi.getter(name="imagePullSecrets") + def image_pull_secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs']]]]: + """ + List of Kubernetes secret resources. See `image_pull_secret` below. + """ + return pulumi.get(self, "image_pull_secrets") + + @image_pull_secrets.setter + def image_pull_secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs']]]]): + pulumi.set(self, "image_pull_secrets", value) + @property @pulumi.getter def metadata(self) -> Optional[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesMetadataArgs']]: @@ -781,7 +803,7 @@ def metadata(self, value: Optional[pulumi.Input['JobDefinitionEksPropertiesPodPr @pulumi.getter(name="serviceAccountName") def service_account_name(self) -> Optional[pulumi.Input[str]]: """ - The name of the service account that's used to run the pod. + Name of the service account that's used to run the pod. """ return pulumi.get(self, "service_account_name") @@ -793,7 +815,7 @@ def service_account_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def volumes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeArgs']]]]: """ - Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. """ return pulumi.get(self, "volumes") @@ -806,39 +828,39 @@ def volumes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinit class JobDefinitionEksPropertiesPodPropertiesContainersArgsDict(TypedDict): image: pulumi.Input[str] """ - The Docker image used to start the container. + Docker image used to start the container. """ args: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ - An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. """ commands: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ - The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. """ envs: NotRequired[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersEnvArgsDict']]]] """ - The environment variables to pass to a container. See EKS Environment below. + Environment variables to pass to a container. See EKS Environment below. """ image_pull_policy: NotRequired[pulumi.Input[str]] """ - The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. """ name: NotRequired[pulumi.Input[str]] """ - The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. """ resources: NotRequired[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgsDict']] """ - The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. """ security_context: NotRequired[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgsDict']] """ - The security context for a job. + Security context for a job. """ volume_mounts: NotRequired[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgsDict']]]] """ - The volume mounts for the container. + Volume mounts for the container. """ elif False: JobDefinitionEksPropertiesPodPropertiesContainersArgsDict: TypeAlias = Mapping[str, Any] @@ -856,15 +878,15 @@ def __init__(__self__, *, security_context: Optional[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs']] = None, volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs']]]] = None): """ - :param pulumi.Input[str] image: The Docker image used to start the container. - :param pulumi.Input[Sequence[pulumi.Input[str]]] args: An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. - :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. - :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs']]] envs: The environment variables to pass to a container. See EKS Environment below. - :param pulumi.Input[str] image_pull_policy: The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. - :param pulumi.Input[str] name: The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. - :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs'] resources: The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. - :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs'] security_context: The security context for a job. - :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs']]] volume_mounts: The volume mounts for the container. + :param pulumi.Input[str] image: Docker image used to start the container. + :param pulumi.Input[Sequence[pulumi.Input[str]]] args: Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs']]] envs: Environment variables to pass to a container. See EKS Environment below. + :param pulumi.Input[str] image_pull_policy: Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + :param pulumi.Input[str] name: Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs'] resources: Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + :param pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs'] security_context: Security context for a job. + :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs']]] volume_mounts: Volume mounts for the container. """ pulumi.set(__self__, "image", image) if args is not None: @@ -888,7 +910,7 @@ def __init__(__self__, *, @pulumi.getter def image(self) -> pulumi.Input[str]: """ - The Docker image used to start the container. + Docker image used to start the container. """ return pulumi.get(self, "image") @@ -900,7 +922,7 @@ def image(self, value: pulumi.Input[str]): @pulumi.getter def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. """ return pulumi.get(self, "args") @@ -912,7 +934,7 @@ def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. """ return pulumi.get(self, "commands") @@ -924,7 +946,7 @@ def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def envs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs']]]]: """ - The environment variables to pass to a container. See EKS Environment below. + Environment variables to pass to a container. See EKS Environment below. """ return pulumi.get(self, "envs") @@ -936,7 +958,7 @@ def envs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinition @pulumi.getter(name="imagePullPolicy") def image_pull_policy(self) -> Optional[pulumi.Input[str]]: """ - The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. """ return pulumi.get(self, "image_pull_policy") @@ -948,7 +970,7 @@ def image_pull_policy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. """ return pulumi.get(self, "name") @@ -960,7 +982,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def resources(self) -> Optional[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs']]: """ - The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. """ return pulumi.get(self, "resources") @@ -972,7 +994,7 @@ def resources(self, value: Optional[pulumi.Input['JobDefinitionEksPropertiesPodP @pulumi.getter(name="securityContext") def security_context(self) -> Optional[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs']]: """ - The security context for a job. + Security context for a job. """ return pulumi.get(self, "security_context") @@ -984,7 +1006,7 @@ def security_context(self, value: Optional[pulumi.Input['JobDefinitionEksPropert @pulumi.getter(name="volumeMounts") def volume_mounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs']]]]: """ - The volume mounts for the container. + Volume mounts for the container. """ return pulumi.get(self, "volume_mounts") @@ -997,11 +1019,11 @@ def volume_mounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['JobD class JobDefinitionEksPropertiesPodPropertiesContainersEnvArgsDict(TypedDict): name: pulumi.Input[str] """ - Specifies the name of the job definition. + Name of the job definition. """ value: pulumi.Input[str] """ - The value of the environment variable. + Value of the environment variable. """ elif False: JobDefinitionEksPropertiesPodPropertiesContainersEnvArgsDict: TypeAlias = Mapping[str, Any] @@ -1012,8 +1034,8 @@ def __init__(__self__, *, name: pulumi.Input[str], value: pulumi.Input[str]): """ - :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] value: The value of the environment variable. + :param pulumi.Input[str] name: Name of the job definition. + :param pulumi.Input[str] value: Value of the environment variable. """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "value", value) @@ -1022,7 +1044,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -1034,7 +1056,7 @@ def name(self, value: pulumi.Input[str]): @pulumi.getter def value(self) -> pulumi.Input[str]: """ - The value of the environment variable. + Value of the environment variable. """ return pulumi.get(self, "value") @@ -1159,7 +1181,7 @@ class JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgsDict(Typed mount_path: pulumi.Input[str] name: pulumi.Input[str] """ - Specifies the name of the job definition. + Name of the job definition. """ read_only: NotRequired[pulumi.Input[bool]] elif False: @@ -1172,7 +1194,7 @@ def __init__(__self__, *, name: pulumi.Input[str], read_only: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] name: Specifies the name of the job definition. + :param pulumi.Input[str] name: Name of the job definition. """ pulumi.set(__self__, "mount_path", mount_path) pulumi.set(__self__, "name", name) @@ -1192,7 +1214,7 @@ def mount_path(self, value: pulumi.Input[str]): @pulumi.getter def name(self) -> pulumi.Input[str]: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -1210,6 +1232,37 @@ def read_only(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "read_only", value) +if not MYPY: + class JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgsDict(TypedDict): + name: pulumi.Input[str] + """ + Unique identifier. + """ +elif False: + JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs: + def __init__(__self__, *, + name: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Unique identifier. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Unique identifier. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + if not MYPY: class JobDefinitionEksPropertiesPodPropertiesMetadataArgsDict(TypedDict): labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] @@ -1239,7 +1292,7 @@ class JobDefinitionEksPropertiesPodPropertiesVolumeArgsDict(TypedDict): host_path: NotRequired[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgsDict']] name: NotRequired[pulumi.Input[str]] """ - Specifies the name of the job definition. + Name of the job definition. """ secret: NotRequired[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgsDict']] elif False: @@ -1253,7 +1306,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, secret: Optional[pulumi.Input['JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs']] = None): """ - :param pulumi.Input[str] name: Specifies the name of the job definition. + :param pulumi.Input[str] name: Name of the job definition. """ if empty_dir is not None: pulumi.set(__self__, "empty_dir", empty_dir) @@ -1286,7 +1339,7 @@ def host_path(self, value: Optional[pulumi.Input['JobDefinitionEksPropertiesPodP @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -1308,11 +1361,11 @@ def secret(self, value: Optional[pulumi.Input['JobDefinitionEksPropertiesPodProp class JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgsDict(TypedDict): size_limit: pulumi.Input[str] """ - The maximum size of the volume. By default, there's no maximum size defined. + Maximum size of the volume. By default, there's no maximum size defined. """ medium: NotRequired[pulumi.Input[str]] """ - The medium to store the volume. The default value is an empty string, which uses the storage of the node. + Medium to store the volume. The default value is an empty string, which uses the storage of the node. """ elif False: JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgsDict: TypeAlias = Mapping[str, Any] @@ -1323,8 +1376,8 @@ def __init__(__self__, *, size_limit: pulumi.Input[str], medium: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] size_limit: The maximum size of the volume. By default, there's no maximum size defined. - :param pulumi.Input[str] medium: The medium to store the volume. The default value is an empty string, which uses the storage of the node. + :param pulumi.Input[str] size_limit: Maximum size of the volume. By default, there's no maximum size defined. + :param pulumi.Input[str] medium: Medium to store the volume. The default value is an empty string, which uses the storage of the node. """ pulumi.set(__self__, "size_limit", size_limit) if medium is not None: @@ -1334,7 +1387,7 @@ def __init__(__self__, *, @pulumi.getter(name="sizeLimit") def size_limit(self) -> pulumi.Input[str]: """ - The maximum size of the volume. By default, there's no maximum size defined. + Maximum size of the volume. By default, there's no maximum size defined. """ return pulumi.get(self, "size_limit") @@ -1346,7 +1399,7 @@ def size_limit(self, value: pulumi.Input[str]): @pulumi.getter def medium(self) -> Optional[pulumi.Input[str]]: """ - The medium to store the volume. The default value is an empty string, which uses the storage of the node. + Medium to store the volume. The default value is an empty string, which uses the storage of the node. """ return pulumi.get(self, "medium") @@ -1359,7 +1412,7 @@ def medium(self, value: Optional[pulumi.Input[str]]): class JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgsDict(TypedDict): path: pulumi.Input[str] """ - The path of the file or directory on the host to mount into containers on the pod. + Path of the file or directory on the host to mount into containers on the pod. """ elif False: JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgsDict: TypeAlias = Mapping[str, Any] @@ -1369,7 +1422,7 @@ class JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs: def __init__(__self__, *, path: pulumi.Input[str]): """ - :param pulumi.Input[str] path: The path of the file or directory on the host to mount into containers on the pod. + :param pulumi.Input[str] path: Path of the file or directory on the host to mount into containers on the pod. """ pulumi.set(__self__, "path", path) @@ -1377,7 +1430,7 @@ def __init__(__self__, *, @pulumi.getter def path(self) -> pulumi.Input[str]: """ - The path of the file or directory on the host to mount into containers on the pod. + Path of the file or directory on the host to mount into containers on the pod. """ return pulumi.get(self, "path") @@ -1390,11 +1443,11 @@ def path(self, value: pulumi.Input[str]): class JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgsDict(TypedDict): secret_name: pulumi.Input[str] """ - The name of the secret. The name must be allowed as a DNS subdomain name. + Name of the secret. The name must be allowed as a DNS subdomain name. """ optional: NotRequired[pulumi.Input[bool]] """ - Specifies whether the secret or the secret's keys must be defined. + Whether the secret or the secret's keys must be defined. """ elif False: JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgsDict: TypeAlias = Mapping[str, Any] @@ -1405,8 +1458,8 @@ def __init__(__self__, *, secret_name: pulumi.Input[str], optional: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] secret_name: The name of the secret. The name must be allowed as a DNS subdomain name. - :param pulumi.Input[bool] optional: Specifies whether the secret or the secret's keys must be defined. + :param pulumi.Input[str] secret_name: Name of the secret. The name must be allowed as a DNS subdomain name. + :param pulumi.Input[bool] optional: Whether the secret or the secret's keys must be defined. """ pulumi.set(__self__, "secret_name", secret_name) if optional is not None: @@ -1416,7 +1469,7 @@ def __init__(__self__, *, @pulumi.getter(name="secretName") def secret_name(self) -> pulumi.Input[str]: """ - The name of the secret. The name must be allowed as a DNS subdomain name. + Name of the secret. The name must be allowed as a DNS subdomain name. """ return pulumi.get(self, "secret_name") @@ -1428,7 +1481,7 @@ def secret_name(self, value: pulumi.Input[str]): @pulumi.getter def optional(self) -> Optional[pulumi.Input[bool]]: """ - Specifies whether the secret or the secret's keys must be defined. + Whether the secret or the secret's keys must be defined. """ return pulumi.get(self, "optional") @@ -1441,11 +1494,11 @@ def optional(self, value: Optional[pulumi.Input[bool]]): class JobDefinitionRetryStrategyArgsDict(TypedDict): attempts: NotRequired[pulumi.Input[int]] """ - The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. """ evaluate_on_exits: NotRequired[pulumi.Input[Sequence[pulumi.Input['JobDefinitionRetryStrategyEvaluateOnExitArgsDict']]]] """ - The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. """ elif False: JobDefinitionRetryStrategyArgsDict: TypeAlias = Mapping[str, Any] @@ -1456,8 +1509,8 @@ def __init__(__self__, *, attempts: Optional[pulumi.Input[int]] = None, evaluate_on_exits: Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionRetryStrategyEvaluateOnExitArgs']]]] = None): """ - :param pulumi.Input[int] attempts: The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. - :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionRetryStrategyEvaluateOnExitArgs']]] evaluate_on_exits: The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + :param pulumi.Input[int] attempts: Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + :param pulumi.Input[Sequence[pulumi.Input['JobDefinitionRetryStrategyEvaluateOnExitArgs']]] evaluate_on_exits: Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. """ if attempts is not None: pulumi.set(__self__, "attempts", attempts) @@ -1468,7 +1521,7 @@ def __init__(__self__, *, @pulumi.getter def attempts(self) -> Optional[pulumi.Input[int]]: """ - The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. """ return pulumi.get(self, "attempts") @@ -1480,7 +1533,7 @@ def attempts(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="evaluateOnExits") def evaluate_on_exits(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['JobDefinitionRetryStrategyEvaluateOnExitArgs']]]]: """ - The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. """ return pulumi.get(self, "evaluate_on_exits") @@ -1493,19 +1546,19 @@ def evaluate_on_exits(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[' class JobDefinitionRetryStrategyEvaluateOnExitArgsDict(TypedDict): action: pulumi.Input[str] """ - Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. """ on_exit_code: NotRequired[pulumi.Input[str]] """ - A glob pattern to match against the decimal representation of the exit code returned for a job. + Glob pattern to match against the decimal representation of the exit code returned for a job. """ on_reason: NotRequired[pulumi.Input[str]] """ - A glob pattern to match against the reason returned for a job. + Glob pattern to match against the reason returned for a job. """ on_status_reason: NotRequired[pulumi.Input[str]] """ - A glob pattern to match against the status reason returned for a job. + Glob pattern to match against the status reason returned for a job. """ elif False: JobDefinitionRetryStrategyEvaluateOnExitArgsDict: TypeAlias = Mapping[str, Any] @@ -1518,10 +1571,10 @@ def __init__(__self__, *, on_reason: Optional[pulumi.Input[str]] = None, on_status_reason: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] action: Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. - :param pulumi.Input[str] on_exit_code: A glob pattern to match against the decimal representation of the exit code returned for a job. - :param pulumi.Input[str] on_reason: A glob pattern to match against the reason returned for a job. - :param pulumi.Input[str] on_status_reason: A glob pattern to match against the status reason returned for a job. + :param pulumi.Input[str] action: Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + :param pulumi.Input[str] on_exit_code: Glob pattern to match against the decimal representation of the exit code returned for a job. + :param pulumi.Input[str] on_reason: Glob pattern to match against the reason returned for a job. + :param pulumi.Input[str] on_status_reason: Glob pattern to match against the status reason returned for a job. """ pulumi.set(__self__, "action", action) if on_exit_code is not None: @@ -1535,7 +1588,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> pulumi.Input[str]: """ - Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. """ return pulumi.get(self, "action") @@ -1547,7 +1600,7 @@ def action(self, value: pulumi.Input[str]): @pulumi.getter(name="onExitCode") def on_exit_code(self) -> Optional[pulumi.Input[str]]: """ - A glob pattern to match against the decimal representation of the exit code returned for a job. + Glob pattern to match against the decimal representation of the exit code returned for a job. """ return pulumi.get(self, "on_exit_code") @@ -1559,7 +1612,7 @@ def on_exit_code(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="onReason") def on_reason(self) -> Optional[pulumi.Input[str]]: """ - A glob pattern to match against the reason returned for a job. + Glob pattern to match against the reason returned for a job. """ return pulumi.get(self, "on_reason") @@ -1571,7 +1624,7 @@ def on_reason(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="onStatusReason") def on_status_reason(self) -> Optional[pulumi.Input[str]]: """ - A glob pattern to match against the status reason returned for a job. + Glob pattern to match against the status reason returned for a job. """ return pulumi.get(self, "on_status_reason") @@ -1584,7 +1637,7 @@ def on_status_reason(self, value: Optional[pulumi.Input[str]]): class JobDefinitionTimeoutArgsDict(TypedDict): attempt_duration_seconds: NotRequired[pulumi.Input[int]] """ - The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. """ elif False: JobDefinitionTimeoutArgsDict: TypeAlias = Mapping[str, Any] @@ -1594,7 +1647,7 @@ class JobDefinitionTimeoutArgs: def __init__(__self__, *, attempt_duration_seconds: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[int] attempt_duration_seconds: The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + :param pulumi.Input[int] attempt_duration_seconds: Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. """ if attempt_duration_seconds is not None: pulumi.set(__self__, "attempt_duration_seconds", attempt_duration_seconds) @@ -1603,7 +1656,7 @@ def __init__(__self__, *, @pulumi.getter(name="attemptDurationSeconds") def attempt_duration_seconds(self) -> Optional[pulumi.Input[int]]: """ - The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. """ return pulumi.get(self, "attempt_duration_seconds") diff --git a/sdk/python/pulumi_aws/batch/job_definition.py b/sdk/python/pulumi_aws/batch/job_definition.py index 00aa7157480..aae4f23e5a0 100644 --- a/sdk/python/pulumi_aws/batch/job_definition.py +++ b/sdk/python/pulumi_aws/batch/job_definition.py @@ -36,21 +36,21 @@ def __init__(__self__, *, timeout: Optional[pulumi.Input['JobDefinitionTimeoutArgs']] = None): """ The set of arguments for constructing a JobDefinition resource. - :param pulumi.Input[str] type: The type of job definition. Must be `container` or `multinode`. + :param pulumi.Input[str] type: Type of job definition. Must be `container` or `multinode`. The following arguments are optional: - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] container_properties: Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. - :param pulumi.Input['JobDefinitionEksPropertiesArgs'] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. - :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. - :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. - :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. - :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + :param pulumi.Input['JobDefinitionEksPropertiesArgs'] eks_properties: Valid eks properties. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] name: Name of the job definition. + :param pulumi.Input[str] node_properties: Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Parameter substitution placeholders to set in the job definition. + :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + :param pulumi.Input[bool] propagate_tags: Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input[int] scheduling_priority: Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. - :param pulumi.Input['JobDefinitionTimeoutArgs'] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + :param pulumi.Input['JobDefinitionTimeoutArgs'] timeout: Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. """ pulumi.set(__self__, "type", type) if container_properties is not None: @@ -82,7 +82,7 @@ def __init__(__self__, *, @pulumi.getter def type(self) -> pulumi.Input[str]: """ - The type of job definition. Must be `container` or `multinode`. + Type of job definition. Must be `container` or `multinode`. The following arguments are optional: """ @@ -96,7 +96,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="containerProperties") def container_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "container_properties") @@ -120,7 +120,7 @@ def deregister_on_new_revision(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="eksProperties") def eks_properties(self) -> Optional[pulumi.Input['JobDefinitionEksPropertiesArgs']]: """ - A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + Valid eks properties. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "eks_properties") @@ -132,7 +132,7 @@ def eks_properties(self, value: Optional[pulumi.Input['JobDefinitionEksPropertie @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -144,7 +144,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeProperties") def node_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. """ return pulumi.get(self, "node_properties") @@ -156,7 +156,7 @@ def node_properties(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Specifies the parameter substitution placeholders to set in the job definition. + Parameter substitution placeholders to set in the job definition. """ return pulumi.get(self, "parameters") @@ -168,7 +168,7 @@ def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str] @pulumi.getter(name="platformCapabilities") def platform_capabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. """ return pulumi.get(self, "platform_capabilities") @@ -180,7 +180,7 @@ def platform_capabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @pulumi.getter(name="propagateTags") def propagate_tags(self) -> Optional[pulumi.Input[bool]]: """ - Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. """ return pulumi.get(self, "propagate_tags") @@ -192,7 +192,7 @@ def propagate_tags(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="retryStrategy") def retry_strategy(self) -> Optional[pulumi.Input['JobDefinitionRetryStrategyArgs']]: """ - Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. """ return pulumi.get(self, "retry_strategy") @@ -204,7 +204,7 @@ def retry_strategy(self, value: Optional[pulumi.Input['JobDefinitionRetryStrateg @pulumi.getter(name="schedulingPriority") def scheduling_priority(self) -> Optional[pulumi.Input[int]]: """ - The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. """ return pulumi.get(self, "scheduling_priority") @@ -228,7 +228,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @pulumi.getter def timeout(self) -> Optional[pulumi.Input['JobDefinitionTimeoutArgs']]: """ - Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. """ return pulumi.get(self, "timeout") @@ -259,23 +259,23 @@ def __init__(__self__, *, type: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering JobDefinition resources. - :param pulumi.Input[str] arn: The Amazon Resource Name of the job definition, includes revision (`:#`). - :param pulumi.Input[str] arn_prefix: The ARN without the revision number. - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] arn: ARN of the job definition, includes revision (`:#`). + :param pulumi.Input[str] arn_prefix: ARN without the revision number. + :param pulumi.Input[str] container_properties: Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. - :param pulumi.Input['JobDefinitionEksPropertiesArgs'] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. - :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. - :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. - :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. - :param pulumi.Input[int] revision: The revision of the job definition. - :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + :param pulumi.Input['JobDefinitionEksPropertiesArgs'] eks_properties: Valid eks properties. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] name: Name of the job definition. + :param pulumi.Input[str] node_properties: Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Parameter substitution placeholders to set in the job definition. + :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + :param pulumi.Input[bool] propagate_tags: Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input[int] revision: Revision of the job definition. + :param pulumi.Input[int] scheduling_priority: Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. - :param pulumi.Input['JobDefinitionTimeoutArgs'] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. - :param pulumi.Input[str] type: The type of job definition. Must be `container` or `multinode`. + :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['JobDefinitionTimeoutArgs'] timeout: Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + :param pulumi.Input[str] type: Type of job definition. Must be `container` or `multinode`. The following arguments are optional: """ @@ -321,7 +321,7 @@ def __init__(__self__, *, @pulumi.getter def arn(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name of the job definition, includes revision (`:#`). + ARN of the job definition, includes revision (`:#`). """ return pulumi.get(self, "arn") @@ -333,7 +333,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="arnPrefix") def arn_prefix(self) -> Optional[pulumi.Input[str]]: """ - The ARN without the revision number. + ARN without the revision number. """ return pulumi.get(self, "arn_prefix") @@ -345,7 +345,7 @@ def arn_prefix(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="containerProperties") def container_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "container_properties") @@ -369,7 +369,7 @@ def deregister_on_new_revision(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="eksProperties") def eks_properties(self) -> Optional[pulumi.Input['JobDefinitionEksPropertiesArgs']]: """ - A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + Valid eks properties. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "eks_properties") @@ -381,7 +381,7 @@ def eks_properties(self, value: Optional[pulumi.Input['JobDefinitionEksPropertie @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -393,7 +393,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeProperties") def node_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. """ return pulumi.get(self, "node_properties") @@ -405,7 +405,7 @@ def node_properties(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Specifies the parameter substitution placeholders to set in the job definition. + Parameter substitution placeholders to set in the job definition. """ return pulumi.get(self, "parameters") @@ -417,7 +417,7 @@ def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str] @pulumi.getter(name="platformCapabilities") def platform_capabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. """ return pulumi.get(self, "platform_capabilities") @@ -429,7 +429,7 @@ def platform_capabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @pulumi.getter(name="propagateTags") def propagate_tags(self) -> Optional[pulumi.Input[bool]]: """ - Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. """ return pulumi.get(self, "propagate_tags") @@ -441,7 +441,7 @@ def propagate_tags(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="retryStrategy") def retry_strategy(self) -> Optional[pulumi.Input['JobDefinitionRetryStrategyArgs']]: """ - Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. """ return pulumi.get(self, "retry_strategy") @@ -453,7 +453,7 @@ def retry_strategy(self, value: Optional[pulumi.Input['JobDefinitionRetryStrateg @pulumi.getter def revision(self) -> Optional[pulumi.Input[int]]: """ - The revision of the job definition. + Revision of the job definition. """ return pulumi.get(self, "revision") @@ -465,7 +465,7 @@ def revision(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="schedulingPriority") def scheduling_priority(self) -> Optional[pulumi.Input[int]]: """ - The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. """ return pulumi.get(self, "scheduling_priority") @@ -490,7 +490,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @_utilities.deprecated("""Please use `tags` instead.""") def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ return pulumi.get(self, "tags_all") @@ -502,7 +502,7 @@ def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]] @pulumi.getter def timeout(self) -> Optional[pulumi.Input['JobDefinitionTimeoutArgs']]: """ - Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. """ return pulumi.get(self, "timeout") @@ -514,7 +514,7 @@ def timeout(self, value: Optional[pulumi.Input['JobDefinitionTimeoutArgs']]): @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: """ - The type of job definition. Must be `container` or `multinode`. + Type of job definition. Must be `container` or `multinode`. The following arguments are optional: """ @@ -732,19 +732,19 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] container_properties: Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. - :param pulumi.Input[Union['JobDefinitionEksPropertiesArgs', 'JobDefinitionEksPropertiesArgsDict']] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. - :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. - :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. - :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input[Union['JobDefinitionRetryStrategyArgs', 'JobDefinitionRetryStrategyArgsDict']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. - :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + :param pulumi.Input[Union['JobDefinitionEksPropertiesArgs', 'JobDefinitionEksPropertiesArgsDict']] eks_properties: Valid eks properties. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] name: Name of the job definition. + :param pulumi.Input[str] node_properties: Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Parameter substitution placeholders to set in the job definition. + :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + :param pulumi.Input[bool] propagate_tags: Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + :param pulumi.Input[Union['JobDefinitionRetryStrategyArgs', 'JobDefinitionRetryStrategyArgsDict']] retry_strategy: Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input[int] scheduling_priority: Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. - :param pulumi.Input[Union['JobDefinitionTimeoutArgs', 'JobDefinitionTimeoutArgsDict']] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. - :param pulumi.Input[str] type: The type of job definition. Must be `container` or `multinode`. + :param pulumi.Input[Union['JobDefinitionTimeoutArgs', 'JobDefinitionTimeoutArgsDict']] timeout: Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + :param pulumi.Input[str] type: Type of job definition. Must be `container` or `multinode`. The following arguments are optional: """ @@ -1030,23 +1030,23 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] arn: The Amazon Resource Name of the job definition, includes revision (`:#`). - :param pulumi.Input[str] arn_prefix: The ARN without the revision number. - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] arn: ARN of the job definition, includes revision (`:#`). + :param pulumi.Input[str] arn_prefix: ARN without the revision number. + :param pulumi.Input[str] container_properties: Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. - :param pulumi.Input[Union['JobDefinitionEksPropertiesArgs', 'JobDefinitionEksPropertiesArgsDict']] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. - :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. - :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. - :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input[Union['JobDefinitionRetryStrategyArgs', 'JobDefinitionRetryStrategyArgsDict']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. - :param pulumi.Input[int] revision: The revision of the job definition. - :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + :param pulumi.Input[Union['JobDefinitionEksPropertiesArgs', 'JobDefinitionEksPropertiesArgsDict']] eks_properties: Valid eks properties. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] name: Name of the job definition. + :param pulumi.Input[str] node_properties: Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Parameter substitution placeholders to set in the job definition. + :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + :param pulumi.Input[bool] propagate_tags: Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + :param pulumi.Input[Union['JobDefinitionRetryStrategyArgs', 'JobDefinitionRetryStrategyArgsDict']] retry_strategy: Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input[int] revision: Revision of the job definition. + :param pulumi.Input[int] scheduling_priority: Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. - :param pulumi.Input[Union['JobDefinitionTimeoutArgs', 'JobDefinitionTimeoutArgsDict']] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. - :param pulumi.Input[str] type: The type of job definition. Must be `container` or `multinode`. + :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[Union['JobDefinitionTimeoutArgs', 'JobDefinitionTimeoutArgsDict']] timeout: Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + :param pulumi.Input[str] type: Type of job definition. Must be `container` or `multinode`. The following arguments are optional: """ @@ -1077,7 +1077,7 @@ def get(resource_name: str, @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - The Amazon Resource Name of the job definition, includes revision (`:#`). + ARN of the job definition, includes revision (`:#`). """ return pulumi.get(self, "arn") @@ -1085,7 +1085,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="arnPrefix") def arn_prefix(self) -> pulumi.Output[str]: """ - The ARN without the revision number. + ARN without the revision number. """ return pulumi.get(self, "arn_prefix") @@ -1093,7 +1093,7 @@ def arn_prefix(self) -> pulumi.Output[str]: @pulumi.getter(name="containerProperties") def container_properties(self) -> pulumi.Output[Optional[str]]: """ - A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + Valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "container_properties") @@ -1109,7 +1109,7 @@ def deregister_on_new_revision(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="eksProperties") def eks_properties(self) -> pulumi.Output[Optional['outputs.JobDefinitionEksProperties']]: """ - A valid eks properties. This parameter is only valid if the `type` parameter is `container`. + Valid eks properties. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "eks_properties") @@ -1117,7 +1117,7 @@ def eks_properties(self) -> pulumi.Output[Optional['outputs.JobDefinitionEksProp @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -1125,7 +1125,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="nodeProperties") def node_properties(self) -> pulumi.Output[Optional[str]]: """ - A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + Valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. """ return pulumi.get(self, "node_properties") @@ -1133,7 +1133,7 @@ def node_properties(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def parameters(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - Specifies the parameter substitution placeholders to set in the job definition. + Parameter substitution placeholders to set in the job definition. """ return pulumi.get(self, "parameters") @@ -1141,7 +1141,7 @@ def parameters(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @pulumi.getter(name="platformCapabilities") def platform_capabilities(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. + Platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. """ return pulumi.get(self, "platform_capabilities") @@ -1149,7 +1149,7 @@ def platform_capabilities(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter(name="propagateTags") def propagate_tags(self) -> pulumi.Output[Optional[bool]]: """ - Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. + Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. """ return pulumi.get(self, "propagate_tags") @@ -1157,7 +1157,7 @@ def propagate_tags(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="retryStrategy") def retry_strategy(self) -> pulumi.Output[Optional['outputs.JobDefinitionRetryStrategy']]: """ - Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. + Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. """ return pulumi.get(self, "retry_strategy") @@ -1165,7 +1165,7 @@ def retry_strategy(self) -> pulumi.Output[Optional['outputs.JobDefinitionRetrySt @pulumi.getter def revision(self) -> pulumi.Output[int]: """ - The revision of the job definition. + Revision of the job definition. """ return pulumi.get(self, "revision") @@ -1173,7 +1173,7 @@ def revision(self) -> pulumi.Output[int]: @pulumi.getter(name="schedulingPriority") def scheduling_priority(self) -> pulumi.Output[Optional[int]]: """ - The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. + Scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. """ return pulumi.get(self, "scheduling_priority") @@ -1190,7 +1190,7 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @_utilities.deprecated("""Please use `tags` instead.""") def tags_all(self) -> pulumi.Output[Mapping[str, str]]: """ - A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ return pulumi.get(self, "tags_all") @@ -1198,7 +1198,7 @@ def tags_all(self) -> pulumi.Output[Mapping[str, str]]: @pulumi.getter def timeout(self) -> pulumi.Output[Optional['outputs.JobDefinitionTimeout']]: """ - Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. + Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. """ return pulumi.get(self, "timeout") @@ -1206,7 +1206,7 @@ def timeout(self) -> pulumi.Output[Optional['outputs.JobDefinitionTimeout']]: @pulumi.getter def type(self) -> pulumi.Output[str]: """ - The type of job definition. Must be `container` or `multinode`. + Type of job definition. Must be `container` or `multinode`. The following arguments are optional: """ diff --git a/sdk/python/pulumi_aws/batch/outputs.py b/sdk/python/pulumi_aws/batch/outputs.py index 4bc8990191a..2857f34378a 100644 --- a/sdk/python/pulumi_aws/batch/outputs.py +++ b/sdk/python/pulumi_aws/batch/outputs.py @@ -28,6 +28,7 @@ 'JobDefinitionEksPropertiesPodPropertiesContainersResources', 'JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext', 'JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount', + 'JobDefinitionEksPropertiesPodPropertiesImagePullSecret', 'JobDefinitionEksPropertiesPodPropertiesMetadata', 'JobDefinitionEksPropertiesPodPropertiesVolume', 'JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir', @@ -563,7 +564,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, pod_properties: 'outputs.JobDefinitionEksPropertiesPodProperties'): """ - :param 'JobDefinitionEksPropertiesPodPropertiesArgs' pod_properties: The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + :param 'JobDefinitionEksPropertiesPodPropertiesArgs' pod_properties: Properties for the Kubernetes pod resources of a job. See `pod_properties` below. """ pulumi.set(__self__, "pod_properties", pod_properties) @@ -571,7 +572,7 @@ def __init__(__self__, *, @pulumi.getter(name="podProperties") def pod_properties(self) -> 'outputs.JobDefinitionEksPropertiesPodProperties': """ - The properties for the Kubernetes pod resources of a job. See `pod_properties` below. + Properties for the Kubernetes pod resources of a job. See `pod_properties` below. """ return pulumi.get(self, "pod_properties") @@ -585,6 +586,8 @@ def __key_warning(key: str): suggest = "dns_policy" elif key == "hostNetwork": suggest = "host_network" + elif key == "imagePullSecrets": + suggest = "image_pull_secrets" elif key == "serviceAccountName": suggest = "service_account_name" @@ -603,22 +606,26 @@ def __init__(__self__, *, containers: 'outputs.JobDefinitionEksPropertiesPodPropertiesContainers', dns_policy: Optional[str] = None, host_network: Optional[bool] = None, + image_pull_secrets: Optional[Sequence['outputs.JobDefinitionEksPropertiesPodPropertiesImagePullSecret']] = None, metadata: Optional['outputs.JobDefinitionEksPropertiesPodPropertiesMetadata'] = None, service_account_name: Optional[str] = None, volumes: Optional[Sequence['outputs.JobDefinitionEksPropertiesPodPropertiesVolume']] = None): """ - :param 'JobDefinitionEksPropertiesPodPropertiesContainersArgs' containers: The properties of the container that's used on the Amazon EKS pod. See containers below. - :param str dns_policy: The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. - :param bool host_network: Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + :param 'JobDefinitionEksPropertiesPodPropertiesContainersArgs' containers: Properties of the container that's used on the Amazon EKS pod. See containers below. + :param str dns_policy: DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + :param bool host_network: Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + :param Sequence['JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs'] image_pull_secrets: List of Kubernetes secret resources. See `image_pull_secret` below. :param 'JobDefinitionEksPropertiesPodPropertiesMetadataArgs' metadata: Metadata about the Kubernetes pod. - :param str service_account_name: The name of the service account that's used to run the pod. - :param Sequence['JobDefinitionEksPropertiesPodPropertiesVolumeArgs'] volumes: Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + :param str service_account_name: Name of the service account that's used to run the pod. + :param Sequence['JobDefinitionEksPropertiesPodPropertiesVolumeArgs'] volumes: Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. """ pulumi.set(__self__, "containers", containers) if dns_policy is not None: pulumi.set(__self__, "dns_policy", dns_policy) if host_network is not None: pulumi.set(__self__, "host_network", host_network) + if image_pull_secrets is not None: + pulumi.set(__self__, "image_pull_secrets", image_pull_secrets) if metadata is not None: pulumi.set(__self__, "metadata", metadata) if service_account_name is not None: @@ -630,7 +637,7 @@ def __init__(__self__, *, @pulumi.getter def containers(self) -> 'outputs.JobDefinitionEksPropertiesPodPropertiesContainers': """ - The properties of the container that's used on the Amazon EKS pod. See containers below. + Properties of the container that's used on the Amazon EKS pod. See containers below. """ return pulumi.get(self, "containers") @@ -638,7 +645,7 @@ def containers(self) -> 'outputs.JobDefinitionEksPropertiesPodPropertiesContaine @pulumi.getter(name="dnsPolicy") def dns_policy(self) -> Optional[str]: """ - The DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. + DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation. """ return pulumi.get(self, "dns_policy") @@ -646,10 +653,18 @@ def dns_policy(self) -> Optional[str]: @pulumi.getter(name="hostNetwork") def host_network(self) -> Optional[bool]: """ - Indicates if the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. + Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. """ return pulumi.get(self, "host_network") + @property + @pulumi.getter(name="imagePullSecrets") + def image_pull_secrets(self) -> Optional[Sequence['outputs.JobDefinitionEksPropertiesPodPropertiesImagePullSecret']]: + """ + List of Kubernetes secret resources. See `image_pull_secret` below. + """ + return pulumi.get(self, "image_pull_secrets") + @property @pulumi.getter def metadata(self) -> Optional['outputs.JobDefinitionEksPropertiesPodPropertiesMetadata']: @@ -662,7 +677,7 @@ def metadata(self) -> Optional['outputs.JobDefinitionEksPropertiesPodPropertiesM @pulumi.getter(name="serviceAccountName") def service_account_name(self) -> Optional[str]: """ - The name of the service account that's used to run the pod. + Name of the service account that's used to run the pod. """ return pulumi.get(self, "service_account_name") @@ -670,7 +685,7 @@ def service_account_name(self) -> Optional[str]: @pulumi.getter def volumes(self) -> Optional[Sequence['outputs.JobDefinitionEksPropertiesPodPropertiesVolume']]: """ - Specifies the volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. + Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types. """ return pulumi.get(self, "volumes") @@ -709,15 +724,15 @@ def __init__(__self__, *, security_context: Optional['outputs.JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext'] = None, volume_mounts: Optional[Sequence['outputs.JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount']] = None): """ - :param str image: The Docker image used to start the container. - :param Sequence[str] args: An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. - :param Sequence[str] commands: The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. - :param Sequence['JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs'] envs: The environment variables to pass to a container. See EKS Environment below. - :param str image_pull_policy: The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. - :param str name: The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. - :param 'JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs' resources: The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. - :param 'JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs' security_context: The security context for a job. - :param Sequence['JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs'] volume_mounts: The volume mounts for the container. + :param str image: Docker image used to start the container. + :param Sequence[str] args: Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + :param Sequence[str] commands: Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + :param Sequence['JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs'] envs: Environment variables to pass to a container. See EKS Environment below. + :param str image_pull_policy: Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + :param str name: Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + :param 'JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs' resources: Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + :param 'JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs' security_context: Security context for a job. + :param Sequence['JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs'] volume_mounts: Volume mounts for the container. """ pulumi.set(__self__, "image", image) if args is not None: @@ -741,7 +756,7 @@ def __init__(__self__, *, @pulumi.getter def image(self) -> str: """ - The Docker image used to start the container. + Docker image used to start the container. """ return pulumi.get(self, "image") @@ -749,7 +764,7 @@ def image(self) -> str: @pulumi.getter def args(self) -> Optional[Sequence[str]]: """ - An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. + Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment. """ return pulumi.get(self, "args") @@ -757,7 +772,7 @@ def args(self) -> Optional[Sequence[str]]: @pulumi.getter def commands(self) -> Optional[Sequence[str]]: """ - The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. + Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment. """ return pulumi.get(self, "commands") @@ -765,7 +780,7 @@ def commands(self) -> Optional[Sequence[str]]: @pulumi.getter def envs(self) -> Optional[Sequence['outputs.JobDefinitionEksPropertiesPodPropertiesContainersEnv']]: """ - The environment variables to pass to a container. See EKS Environment below. + Environment variables to pass to a container. See EKS Environment below. """ return pulumi.get(self, "envs") @@ -773,7 +788,7 @@ def envs(self) -> Optional[Sequence['outputs.JobDefinitionEksPropertiesPodProper @pulumi.getter(name="imagePullPolicy") def image_pull_policy(self) -> Optional[str]: """ - The image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. + Image pull policy for the container. Supported values are `Always`, `IfNotPresent`, and `Never`. """ return pulumi.get(self, "image_pull_policy") @@ -781,7 +796,7 @@ def image_pull_policy(self) -> Optional[str]: @pulumi.getter def name(self) -> Optional[str]: """ - The name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. + Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name. """ return pulumi.get(self, "name") @@ -789,7 +804,7 @@ def name(self) -> Optional[str]: @pulumi.getter def resources(self) -> Optional['outputs.JobDefinitionEksPropertiesPodPropertiesContainersResources']: """ - The type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. + Type and amount of resources to assign to a container. The supported resources include `memory`, `cpu`, and `nvidia.com/gpu`. """ return pulumi.get(self, "resources") @@ -797,7 +812,7 @@ def resources(self) -> Optional['outputs.JobDefinitionEksPropertiesPodProperties @pulumi.getter(name="securityContext") def security_context(self) -> Optional['outputs.JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext']: """ - The security context for a job. + Security context for a job. """ return pulumi.get(self, "security_context") @@ -805,7 +820,7 @@ def security_context(self) -> Optional['outputs.JobDefinitionEksPropertiesPodPro @pulumi.getter(name="volumeMounts") def volume_mounts(self) -> Optional[Sequence['outputs.JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount']]: """ - The volume mounts for the container. + Volume mounts for the container. """ return pulumi.get(self, "volume_mounts") @@ -816,8 +831,8 @@ def __init__(__self__, *, name: str, value: str): """ - :param str name: Specifies the name of the job definition. - :param str value: The value of the environment variable. + :param str name: Name of the job definition. + :param str value: Value of the environment variable. """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "value", value) @@ -826,7 +841,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> str: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -834,7 +849,7 @@ def name(self) -> str: @pulumi.getter def value(self) -> str: """ - The value of the environment variable. + Value of the environment variable. """ return pulumi.get(self, "value") @@ -954,7 +969,7 @@ def __init__(__self__, *, name: str, read_only: Optional[bool] = None): """ - :param str name: Specifies the name of the job definition. + :param str name: Name of the job definition. """ pulumi.set(__self__, "mount_path", mount_path) pulumi.set(__self__, "name", name) @@ -970,7 +985,7 @@ def mount_path(self) -> str: @pulumi.getter def name(self) -> str: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -980,6 +995,24 @@ def read_only(self) -> Optional[bool]: return pulumi.get(self, "read_only") +@pulumi.output_type +class JobDefinitionEksPropertiesPodPropertiesImagePullSecret(dict): + def __init__(__self__, *, + name: str): + """ + :param str name: Unique identifier. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> str: + """ + Unique identifier. + """ + return pulumi.get(self, "name") + + @pulumi.output_type class JobDefinitionEksPropertiesPodPropertiesMetadata(dict): def __init__(__self__, *, @@ -1020,7 +1053,7 @@ def __init__(__self__, *, name: Optional[str] = None, secret: Optional['outputs.JobDefinitionEksPropertiesPodPropertiesVolumeSecret'] = None): """ - :param str name: Specifies the name of the job definition. + :param str name: Name of the job definition. """ if empty_dir is not None: pulumi.set(__self__, "empty_dir", empty_dir) @@ -1045,7 +1078,7 @@ def host_path(self) -> Optional['outputs.JobDefinitionEksPropertiesPodProperties @pulumi.getter def name(self) -> Optional[str]: """ - Specifies the name of the job definition. + Name of the job definition. """ return pulumi.get(self, "name") @@ -1078,8 +1111,8 @@ def __init__(__self__, *, size_limit: str, medium: Optional[str] = None): """ - :param str size_limit: The maximum size of the volume. By default, there's no maximum size defined. - :param str medium: The medium to store the volume. The default value is an empty string, which uses the storage of the node. + :param str size_limit: Maximum size of the volume. By default, there's no maximum size defined. + :param str medium: Medium to store the volume. The default value is an empty string, which uses the storage of the node. """ pulumi.set(__self__, "size_limit", size_limit) if medium is not None: @@ -1089,7 +1122,7 @@ def __init__(__self__, *, @pulumi.getter(name="sizeLimit") def size_limit(self) -> str: """ - The maximum size of the volume. By default, there's no maximum size defined. + Maximum size of the volume. By default, there's no maximum size defined. """ return pulumi.get(self, "size_limit") @@ -1097,7 +1130,7 @@ def size_limit(self) -> str: @pulumi.getter def medium(self) -> Optional[str]: """ - The medium to store the volume. The default value is an empty string, which uses the storage of the node. + Medium to store the volume. The default value is an empty string, which uses the storage of the node. """ return pulumi.get(self, "medium") @@ -1107,7 +1140,7 @@ class JobDefinitionEksPropertiesPodPropertiesVolumeHostPath(dict): def __init__(__self__, *, path: str): """ - :param str path: The path of the file or directory on the host to mount into containers on the pod. + :param str path: Path of the file or directory on the host to mount into containers on the pod. """ pulumi.set(__self__, "path", path) @@ -1115,7 +1148,7 @@ def __init__(__self__, *, @pulumi.getter def path(self) -> str: """ - The path of the file or directory on the host to mount into containers on the pod. + Path of the file or directory on the host to mount into containers on the pod. """ return pulumi.get(self, "path") @@ -1143,8 +1176,8 @@ def __init__(__self__, *, secret_name: str, optional: Optional[bool] = None): """ - :param str secret_name: The name of the secret. The name must be allowed as a DNS subdomain name. - :param bool optional: Specifies whether the secret or the secret's keys must be defined. + :param str secret_name: Name of the secret. The name must be allowed as a DNS subdomain name. + :param bool optional: Whether the secret or the secret's keys must be defined. """ pulumi.set(__self__, "secret_name", secret_name) if optional is not None: @@ -1154,7 +1187,7 @@ def __init__(__self__, *, @pulumi.getter(name="secretName") def secret_name(self) -> str: """ - The name of the secret. The name must be allowed as a DNS subdomain name. + Name of the secret. The name must be allowed as a DNS subdomain name. """ return pulumi.get(self, "secret_name") @@ -1162,7 +1195,7 @@ def secret_name(self) -> str: @pulumi.getter def optional(self) -> Optional[bool]: """ - Specifies whether the secret or the secret's keys must be defined. + Whether the secret or the secret's keys must be defined. """ return pulumi.get(self, "optional") @@ -1190,8 +1223,8 @@ def __init__(__self__, *, attempts: Optional[int] = None, evaluate_on_exits: Optional[Sequence['outputs.JobDefinitionRetryStrategyEvaluateOnExit']] = None): """ - :param int attempts: The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. - :param Sequence['JobDefinitionRetryStrategyEvaluateOnExitArgs'] evaluate_on_exits: The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + :param int attempts: Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + :param Sequence['JobDefinitionRetryStrategyEvaluateOnExitArgs'] evaluate_on_exits: Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. """ if attempts is not None: pulumi.set(__self__, "attempts", attempts) @@ -1202,7 +1235,7 @@ def __init__(__self__, *, @pulumi.getter def attempts(self) -> Optional[int]: """ - The number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. + Number of times to move a job to the `RUNNABLE` status. You may specify between `1` and `10` attempts. """ return pulumi.get(self, "attempts") @@ -1210,7 +1243,7 @@ def attempts(self) -> Optional[int]: @pulumi.getter(name="evaluateOnExits") def evaluate_on_exits(self) -> Optional[Sequence['outputs.JobDefinitionRetryStrategyEvaluateOnExit']]: """ - The evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. + Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the `attempts` parameter must also be specified. You may specify up to 5 configuration blocks. """ return pulumi.get(self, "evaluate_on_exits") @@ -1244,10 +1277,10 @@ def __init__(__self__, *, on_reason: Optional[str] = None, on_status_reason: Optional[str] = None): """ - :param str action: Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. - :param str on_exit_code: A glob pattern to match against the decimal representation of the exit code returned for a job. - :param str on_reason: A glob pattern to match against the reason returned for a job. - :param str on_status_reason: A glob pattern to match against the status reason returned for a job. + :param str action: Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + :param str on_exit_code: Glob pattern to match against the decimal representation of the exit code returned for a job. + :param str on_reason: Glob pattern to match against the reason returned for a job. + :param str on_status_reason: Glob pattern to match against the status reason returned for a job. """ pulumi.set(__self__, "action", action) if on_exit_code is not None: @@ -1261,7 +1294,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> str: """ - Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. + Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. """ return pulumi.get(self, "action") @@ -1269,7 +1302,7 @@ def action(self) -> str: @pulumi.getter(name="onExitCode") def on_exit_code(self) -> Optional[str]: """ - A glob pattern to match against the decimal representation of the exit code returned for a job. + Glob pattern to match against the decimal representation of the exit code returned for a job. """ return pulumi.get(self, "on_exit_code") @@ -1277,7 +1310,7 @@ def on_exit_code(self) -> Optional[str]: @pulumi.getter(name="onReason") def on_reason(self) -> Optional[str]: """ - A glob pattern to match against the reason returned for a job. + Glob pattern to match against the reason returned for a job. """ return pulumi.get(self, "on_reason") @@ -1285,7 +1318,7 @@ def on_reason(self) -> Optional[str]: @pulumi.getter(name="onStatusReason") def on_status_reason(self) -> Optional[str]: """ - A glob pattern to match against the status reason returned for a job. + Glob pattern to match against the status reason returned for a job. """ return pulumi.get(self, "on_status_reason") @@ -1312,7 +1345,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, attempt_duration_seconds: Optional[int] = None): """ - :param int attempt_duration_seconds: The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + :param int attempt_duration_seconds: Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. """ if attempt_duration_seconds is not None: pulumi.set(__self__, "attempt_duration_seconds", attempt_duration_seconds) @@ -1321,7 +1354,7 @@ def __init__(__self__, *, @pulumi.getter(name="attemptDurationSeconds") def attempt_duration_seconds(self) -> Optional[int]: """ - The time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. + Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is `60` seconds. """ return pulumi.get(self, "attempt_duration_seconds") diff --git a/sdk/python/pulumi_aws/cloudformation/_inputs.py b/sdk/python/pulumi_aws/cloudformation/_inputs.py index a3962a0f4f5..bca18d80a7a 100644 --- a/sdk/python/pulumi_aws/cloudformation/_inputs.py +++ b/sdk/python/pulumi_aws/cloudformation/_inputs.py @@ -229,6 +229,10 @@ def organizational_unit_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.I if not MYPY: class StackSetInstanceOperationPreferencesArgsDict(TypedDict): + concurrency_mode: NotRequired[pulumi.Input[str]] + """ + Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + """ failure_tolerance_count: NotRequired[pulumi.Input[int]] """ Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. @@ -259,6 +263,7 @@ class StackSetInstanceOperationPreferencesArgsDict(TypedDict): @pulumi.input_type class StackSetInstanceOperationPreferencesArgs: def __init__(__self__, *, + concurrency_mode: Optional[pulumi.Input[str]] = None, failure_tolerance_count: Optional[pulumi.Input[int]] = None, failure_tolerance_percentage: Optional[pulumi.Input[int]] = None, max_concurrent_count: Optional[pulumi.Input[int]] = None, @@ -266,6 +271,7 @@ def __init__(__self__, *, region_concurrency_type: Optional[pulumi.Input[str]] = None, region_orders: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ + :param pulumi.Input[str] concurrency_mode: Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. :param pulumi.Input[int] failure_tolerance_count: Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. :param pulumi.Input[int] failure_tolerance_percentage: Percentage of accounts, per Region, for which this stack operation can fail before AWS CloudFormation stops the operation in that Region. :param pulumi.Input[int] max_concurrent_count: Maximum number of accounts in which to perform this operation at one time. @@ -273,6 +279,8 @@ def __init__(__self__, *, :param pulumi.Input[str] region_concurrency_type: Concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time. Valid values are `SEQUENTIAL` and `PARALLEL`. :param pulumi.Input[Sequence[pulumi.Input[str]]] region_orders: Order of the Regions in where you want to perform the stack operation. """ + if concurrency_mode is not None: + pulumi.set(__self__, "concurrency_mode", concurrency_mode) if failure_tolerance_count is not None: pulumi.set(__self__, "failure_tolerance_count", failure_tolerance_count) if failure_tolerance_percentage is not None: @@ -286,6 +294,18 @@ def __init__(__self__, *, if region_orders is not None: pulumi.set(__self__, "region_orders", region_orders) + @property + @pulumi.getter(name="concurrencyMode") + def concurrency_mode(self) -> Optional[pulumi.Input[str]]: + """ + Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + """ + return pulumi.get(self, "concurrency_mode") + + @concurrency_mode.setter + def concurrency_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "concurrency_mode", value) + @property @pulumi.getter(name="failureToleranceCount") def failure_tolerance_count(self) -> Optional[pulumi.Input[int]]: diff --git a/sdk/python/pulumi_aws/cloudformation/outputs.py b/sdk/python/pulumi_aws/cloudformation/outputs.py index 281a5e8c2fc..68f251e9d71 100644 --- a/sdk/python/pulumi_aws/cloudformation/outputs.py +++ b/sdk/python/pulumi_aws/cloudformation/outputs.py @@ -202,7 +202,9 @@ class StackSetInstanceOperationPreferences(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "failureToleranceCount": + if key == "concurrencyMode": + suggest = "concurrency_mode" + elif key == "failureToleranceCount": suggest = "failure_tolerance_count" elif key == "failureTolerancePercentage": suggest = "failure_tolerance_percentage" @@ -227,6 +229,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + concurrency_mode: Optional[str] = None, failure_tolerance_count: Optional[int] = None, failure_tolerance_percentage: Optional[int] = None, max_concurrent_count: Optional[int] = None, @@ -234,6 +237,7 @@ def __init__(__self__, *, region_concurrency_type: Optional[str] = None, region_orders: Optional[Sequence[str]] = None): """ + :param str concurrency_mode: Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. :param int failure_tolerance_count: Number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. :param int failure_tolerance_percentage: Percentage of accounts, per Region, for which this stack operation can fail before AWS CloudFormation stops the operation in that Region. :param int max_concurrent_count: Maximum number of accounts in which to perform this operation at one time. @@ -241,6 +245,8 @@ def __init__(__self__, *, :param str region_concurrency_type: Concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time. Valid values are `SEQUENTIAL` and `PARALLEL`. :param Sequence[str] region_orders: Order of the Regions in where you want to perform the stack operation. """ + if concurrency_mode is not None: + pulumi.set(__self__, "concurrency_mode", concurrency_mode) if failure_tolerance_count is not None: pulumi.set(__self__, "failure_tolerance_count", failure_tolerance_count) if failure_tolerance_percentage is not None: @@ -254,6 +260,14 @@ def __init__(__self__, *, if region_orders is not None: pulumi.set(__self__, "region_orders", region_orders) + @property + @pulumi.getter(name="concurrencyMode") + def concurrency_mode(self) -> Optional[str]: + """ + Specifies how the concurrency level behaves during the operation execution. Valid values are `STRICT_FAILURE_TOLERANCE` and `SOFT_FAILURE_TOLERANCE`. + """ + return pulumi.get(self, "concurrency_mode") + @property @pulumi.getter(name="failureToleranceCount") def failure_tolerance_count(self) -> Optional[int]: diff --git a/sdk/python/pulumi_aws/cloudwatch/event_bus.py b/sdk/python/pulumi_aws/cloudwatch/event_bus.py index cab53ed44f3..cc8623b0bf5 100644 --- a/sdk/python/pulumi_aws/cloudwatch/event_bus.py +++ b/sdk/python/pulumi_aws/cloudwatch/event_bus.py @@ -20,16 +20,20 @@ class EventBusArgs: def __init__(__self__, *, event_source_name: Optional[pulumi.Input[str]] = None, + kms_key_identifier: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a EventBus resource. :param pulumi.Input[str] event_source_name: The partner event source that the new event bus will be matched with. Must match `name`. + :param pulumi.Input[str] kms_key_identifier: The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. :param pulumi.Input[str] name: The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. """ if event_source_name is not None: pulumi.set(__self__, "event_source_name", event_source_name) + if kms_key_identifier is not None: + pulumi.set(__self__, "kms_key_identifier", kms_key_identifier) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: @@ -47,6 +51,18 @@ def event_source_name(self) -> Optional[pulumi.Input[str]]: def event_source_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "event_source_name", value) + @property + @pulumi.getter(name="kmsKeyIdentifier") + def kms_key_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + """ + return pulumi.get(self, "kms_key_identifier") + + @kms_key_identifier.setter + def kms_key_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_identifier", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -77,6 +93,7 @@ class _EventBusState: def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, event_source_name: Optional[pulumi.Input[str]] = None, + kms_key_identifier: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): @@ -84,6 +101,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering EventBus resources. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the event bus. :param pulumi.Input[str] event_source_name: The partner event source that the new event bus will be matched with. Must match `name`. + :param pulumi.Input[str] kms_key_identifier: The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. :param pulumi.Input[str] name: The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -92,6 +110,8 @@ def __init__(__self__, *, pulumi.set(__self__, "arn", arn) if event_source_name is not None: pulumi.set(__self__, "event_source_name", event_source_name) + if kms_key_identifier is not None: + pulumi.set(__self__, "kms_key_identifier", kms_key_identifier) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: @@ -126,6 +146,18 @@ def event_source_name(self) -> Optional[pulumi.Input[str]]: def event_source_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "event_source_name", value) + @property + @pulumi.getter(name="kmsKeyIdentifier") + def kms_key_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + """ + return pulumi.get(self, "kms_key_identifier") + + @kms_key_identifier.setter + def kms_key_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_identifier", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -170,6 +202,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, event_source_name: Optional[pulumi.Input[str]] = None, + kms_key_identifier: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): @@ -208,6 +241,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] event_source_name: The partner event source that the new event bus will be matched with. Must match `name`. + :param pulumi.Input[str] kms_key_identifier: The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. :param pulumi.Input[str] name: The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. """ @@ -265,6 +299,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, event_source_name: Optional[pulumi.Input[str]] = None, + kms_key_identifier: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): @@ -277,6 +312,7 @@ def _internal_init(__self__, __props__ = EventBusArgs.__new__(EventBusArgs) __props__.__dict__["event_source_name"] = event_source_name + __props__.__dict__["kms_key_identifier"] = kms_key_identifier __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None @@ -293,6 +329,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, arn: Optional[pulumi.Input[str]] = None, event_source_name: Optional[pulumi.Input[str]] = None, + kms_key_identifier: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'EventBus': @@ -305,6 +342,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the event bus. :param pulumi.Input[str] event_source_name: The partner event source that the new event bus will be matched with. Must match `name`. + :param pulumi.Input[str] kms_key_identifier: The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. :param pulumi.Input[str] name: The name of the new event bus. The names of custom event buses can't contain the / character. To create a partner event bus, ensure the `name` matches the `event_source_name`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -315,6 +353,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = arn __props__.__dict__["event_source_name"] = event_source_name + __props__.__dict__["kms_key_identifier"] = kms_key_identifier __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all @@ -336,6 +375,14 @@ def event_source_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "event_source_name") + @property + @pulumi.getter(name="kmsKeyIdentifier") + def kms_key_identifier(self) -> pulumi.Output[Optional[str]]: + """ + The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. + """ + return pulumi.get(self, "kms_key_identifier") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py b/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py index 07030a07371..1496ba60d40 100644 --- a/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py +++ b/sdk/python/pulumi_aws/cloudwatch/get_event_bus.py @@ -26,13 +26,16 @@ class GetEventBusResult: """ A collection of values returned by getEventBus. """ - def __init__(__self__, arn=None, id=None, name=None): + def __init__(__self__, arn=None, id=None, kms_key_identifier=None, name=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if kms_key_identifier and not isinstance(kms_key_identifier, str): + raise TypeError("Expected argument 'kms_key_identifier' to be a str") + pulumi.set(__self__, "kms_key_identifier", kms_key_identifier) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) @@ -53,6 +56,14 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="kmsKeyIdentifier") + def kms_key_identifier(self) -> str: + """ + The identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. + """ + return pulumi.get(self, "kms_key_identifier") + @property @pulumi.getter def name(self) -> str: @@ -67,6 +78,7 @@ def __await__(self): return GetEventBusResult( arn=self.arn, id=self.id, + kms_key_identifier=self.kms_key_identifier, name=self.name) @@ -97,6 +109,7 @@ def get_event_bus(name: Optional[str] = None, return AwaitableGetEventBusResult( arn=pulumi.get(__ret__, 'arn'), id=pulumi.get(__ret__, 'id'), + kms_key_identifier=pulumi.get(__ret__, 'kms_key_identifier'), name=pulumi.get(__ret__, 'name')) diff --git a/sdk/python/pulumi_aws/cur/get_report_definition.py b/sdk/python/pulumi_aws/cur/get_report_definition.py index 2f344bc90f3..038ce902d78 100644 --- a/sdk/python/pulumi_aws/cur/get_report_definition.py +++ b/sdk/python/pulumi_aws/cur/get_report_definition.py @@ -26,7 +26,7 @@ class GetReportDefinitionResult: """ A collection of values returned by getReportDefinition. """ - def __init__(__self__, additional_artifacts=None, additional_schema_elements=None, compression=None, format=None, id=None, refresh_closed_reports=None, report_name=None, report_versioning=None, s3_bucket=None, s3_prefix=None, s3_region=None, time_unit=None): + def __init__(__self__, additional_artifacts=None, additional_schema_elements=None, compression=None, format=None, id=None, refresh_closed_reports=None, report_name=None, report_versioning=None, s3_bucket=None, s3_prefix=None, s3_region=None, tags=None, time_unit=None): if additional_artifacts and not isinstance(additional_artifacts, list): raise TypeError("Expected argument 'additional_artifacts' to be a list") pulumi.set(__self__, "additional_artifacts", additional_artifacts) @@ -60,6 +60,9 @@ def __init__(__self__, additional_artifacts=None, additional_schema_elements=Non if s3_region and not isinstance(s3_region, str): raise TypeError("Expected argument 's3_region' to be a str") pulumi.set(__self__, "s3_region", s3_region) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) if time_unit and not isinstance(time_unit, str): raise TypeError("Expected argument 'time_unit' to be a str") pulumi.set(__self__, "time_unit", time_unit) @@ -149,6 +152,14 @@ def s3_region(self) -> str: """ return pulumi.get(self, "s3_region") + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Map of key-value pairs assigned to the resource. + """ + return pulumi.get(self, "tags") + @property @pulumi.getter(name="timeUnit") def time_unit(self) -> str: @@ -175,10 +186,12 @@ def __await__(self): s3_bucket=self.s3_bucket, s3_prefix=self.s3_prefix, s3_region=self.s3_region, + tags=self.tags, time_unit=self.time_unit) def get_report_definition(report_name: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetReportDefinitionResult: """ Use this data source to get information on an AWS Cost and Usage Report Definition. @@ -198,9 +211,11 @@ def get_report_definition(report_name: Optional[str] = None, :param str report_name: Name of the report definition to match. + :param Mapping[str, str] tags: Map of key-value pairs assigned to the resource. """ __args__ = dict() __args__['reportName'] = report_name + __args__['tags'] = tags opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws:cur/getReportDefinition:getReportDefinition', __args__, opts=opts, typ=GetReportDefinitionResult).value @@ -216,11 +231,13 @@ def get_report_definition(report_name: Optional[str] = None, s3_bucket=pulumi.get(__ret__, 's3_bucket'), s3_prefix=pulumi.get(__ret__, 's3_prefix'), s3_region=pulumi.get(__ret__, 's3_region'), + tags=pulumi.get(__ret__, 'tags'), time_unit=pulumi.get(__ret__, 'time_unit')) @_utilities.lift_output_func(get_report_definition) def get_report_definition_output(report_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReportDefinitionResult]: """ Use this data source to get information on an AWS Cost and Usage Report Definition. @@ -240,5 +257,6 @@ def get_report_definition_output(report_name: Optional[pulumi.Input[str]] = None :param str report_name: Name of the report definition to match. + :param Mapping[str, str] tags: Map of key-value pairs assigned to the resource. """ ... diff --git a/sdk/python/pulumi_aws/cur/report_definition.py b/sdk/python/pulumi_aws/cur/report_definition.py index c70f2dc1d80..3aaa68fc137 100644 --- a/sdk/python/pulumi_aws/cur/report_definition.py +++ b/sdk/python/pulumi_aws/cur/report_definition.py @@ -29,7 +29,8 @@ def __init__(__self__, *, additional_artifacts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, refresh_closed_reports: Optional[pulumi.Input[bool]] = None, report_versioning: Optional[pulumi.Input[str]] = None, - s3_prefix: Optional[pulumi.Input[str]] = None): + s3_prefix: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a ReportDefinition resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_schema_elements: A list of schema elements. Valid values are: `RESOURCES`, `SPLIT_COST_ALLOCATION_DATA`. @@ -43,6 +44,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] refresh_closed_reports: Set to true to update your reports after they have been finalized if AWS detects charges related to previous months. :param pulumi.Input[str] report_versioning: Overwrite the previous version of each report or to deliver the report in addition to the previous versions. Valid values are: `CREATE_NEW_REPORT` and `OVERWRITE_REPORT`. :param pulumi.Input[str] s3_prefix: Report path prefix. Limited to 256 characters. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "additional_schema_elements", additional_schema_elements) pulumi.set(__self__, "compression", compression) @@ -59,6 +61,8 @@ def __init__(__self__, *, pulumi.set(__self__, "report_versioning", report_versioning) if s3_prefix is not None: pulumi.set(__self__, "s3_prefix", s3_prefix) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property @pulumi.getter(name="additionalSchemaElements") @@ -192,6 +196,18 @@ def s3_prefix(self) -> Optional[pulumi.Input[str]]: def s3_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "s3_prefix", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + @pulumi.input_type class _ReportDefinitionState: @@ -207,6 +223,8 @@ def __init__(__self__, *, s3_bucket: Optional[pulumi.Input[str]] = None, s3_prefix: Optional[pulumi.Input[str]] = None, s3_region: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, time_unit: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ReportDefinition resources. @@ -221,6 +239,8 @@ def __init__(__self__, *, :param pulumi.Input[str] s3_bucket: Name of the existing S3 bucket to hold generated reports. :param pulumi.Input[str] s3_prefix: Report path prefix. Limited to 256 characters. :param pulumi.Input[str] s3_region: Region of the existing S3 bucket to hold generated reports. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. 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[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] time_unit: The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. """ if additional_artifacts is not None: @@ -245,6 +265,13 @@ def __init__(__self__, *, pulumi.set(__self__, "s3_prefix", s3_prefix) if s3_region is not None: pulumi.set(__self__, "s3_region", s3_region) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if time_unit is not None: pulumi.set(__self__, "time_unit", time_unit) @@ -380,6 +407,31 @@ def s3_region(self) -> Optional[pulumi.Input[str]]: def s3_region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "s3_region", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter(name="timeUnit") def time_unit(self) -> Optional[pulumi.Input[str]]: @@ -408,6 +460,7 @@ def __init__(__self__, s3_bucket: Optional[pulumi.Input[str]] = None, s3_prefix: Optional[pulumi.Input[str]] = None, s3_region: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, time_unit: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -458,6 +511,7 @@ def __init__(__self__, :param pulumi.Input[str] s3_bucket: Name of the existing S3 bucket to hold generated reports. :param pulumi.Input[str] s3_prefix: Report path prefix. Limited to 256 characters. :param pulumi.Input[str] s3_region: Region of the existing S3 bucket to hold generated reports. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. 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] time_unit: The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. """ ... @@ -527,6 +581,7 @@ def _internal_init(__self__, s3_bucket: Optional[pulumi.Input[str]] = None, s3_prefix: Optional[pulumi.Input[str]] = None, s3_region: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, time_unit: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -559,10 +614,12 @@ def _internal_init(__self__, if s3_region is None and not opts.urn: raise TypeError("Missing required property 's3_region'") __props__.__dict__["s3_region"] = s3_region + __props__.__dict__["tags"] = tags if time_unit is None and not opts.urn: raise TypeError("Missing required property 'time_unit'") __props__.__dict__["time_unit"] = time_unit __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None super(ReportDefinition, __self__).__init__( 'aws:cur/reportDefinition:ReportDefinition', resource_name, @@ -584,6 +641,8 @@ def get(resource_name: str, s3_bucket: Optional[pulumi.Input[str]] = None, s3_prefix: Optional[pulumi.Input[str]] = None, s3_region: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, time_unit: Optional[pulumi.Input[str]] = None) -> 'ReportDefinition': """ Get an existing ReportDefinition resource's state with the given name, id, and optional extra @@ -603,6 +662,8 @@ def get(resource_name: str, :param pulumi.Input[str] s3_bucket: Name of the existing S3 bucket to hold generated reports. :param pulumi.Input[str] s3_prefix: Report path prefix. Limited to 256 characters. :param pulumi.Input[str] s3_region: Region of the existing S3 bucket to hold generated reports. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value pairs of resource tags to assign to the DataSync Location. 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[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] time_unit: The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -620,6 +681,8 @@ def get(resource_name: str, __props__.__dict__["s3_bucket"] = s3_bucket __props__.__dict__["s3_prefix"] = s3_prefix __props__.__dict__["s3_region"] = s3_region + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["time_unit"] = time_unit return ReportDefinition(resource_name, opts=opts, __props__=__props__) @@ -711,6 +774,23 @@ def s3_region(self) -> pulumi.Output[str]: """ return pulumi.get(self, "s3_region") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + @property @pulumi.getter(name="timeUnit") def time_unit(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/ec2/launch_template.py b/sdk/python/pulumi_aws/ec2/launch_template.py index 272757eff3a..88f80655580 100644 --- a/sdk/python/pulumi_aws/ec2/launch_template.py +++ b/sdk/python/pulumi_aws/ec2/launch_template.py @@ -68,9 +68,9 @@ def __init__(__self__, *, Specification below for more details. :param pulumi.Input[int] default_version: Default Version of the launch template. :param pulumi.Input[str] description: Description of the launch template. - :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). :param pulumi.Input[bool] disable_api_termination: If `true`, enables [EC2 Instance - Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) :param pulumi.Input[str] ebs_optimized: If `true`, the launched EC2 instance will be EBS-optimized. :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticGpuSpecificationArgs']]] elastic_gpu_specifications: The elastic GPU to attach to the instance. See Elastic GPU below for more details. @@ -260,7 +260,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="disableApiStop") def disable_api_stop(self) -> Optional[pulumi.Input[bool]]: """ - If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). """ return pulumi.get(self, "disable_api_stop") @@ -273,7 +273,7 @@ def disable_api_stop(self, value: Optional[pulumi.Input[bool]]): def disable_api_termination(self) -> Optional[pulumi.Input[bool]]: """ If `true`, enables [EC2 Instance - Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) """ return pulumi.get(self, "disable_api_termination") @@ -690,9 +690,9 @@ def __init__(__self__, *, Specification below for more details. :param pulumi.Input[int] default_version: Default Version of the launch template. :param pulumi.Input[str] description: Description of the launch template. - :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). :param pulumi.Input[bool] disable_api_termination: If `true`, enables [EC2 Instance - Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) :param pulumi.Input[str] ebs_optimized: If `true`, the launched EC2 instance will be EBS-optimized. :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticGpuSpecificationArgs']]] elastic_gpu_specifications: The elastic GPU to attach to the instance. See Elastic GPU below for more details. @@ -905,7 +905,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="disableApiStop") def disable_api_stop(self) -> Optional[pulumi.Input[bool]]: """ - If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). """ return pulumi.get(self, "disable_api_stop") @@ -918,7 +918,7 @@ def disable_api_stop(self, value: Optional[pulumi.Input[bool]]): def disable_api_termination(self) -> Optional[pulumi.Input[bool]]: """ If `true`, enables [EC2 Instance - Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) """ return pulumi.get(self, "disable_api_termination") @@ -1370,9 +1370,9 @@ def __init__(__self__, Specification below for more details. :param pulumi.Input[int] default_version: Default Version of the launch template. :param pulumi.Input[str] description: Description of the launch template. - :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). :param pulumi.Input[bool] disable_api_termination: If `true`, enables [EC2 Instance - Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) :param pulumi.Input[str] ebs_optimized: If `true`, the launched EC2 instance will be EBS-optimized. :param pulumi.Input[Sequence[pulumi.Input[Union['LaunchTemplateElasticGpuSpecificationArgs', 'LaunchTemplateElasticGpuSpecificationArgsDict']]]] elastic_gpu_specifications: The elastic GPU to attach to the instance. See Elastic GPU below for more details. @@ -1593,9 +1593,9 @@ def get(resource_name: str, Specification below for more details. :param pulumi.Input[int] default_version: Default Version of the launch template. :param pulumi.Input[str] description: Description of the launch template. - :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + :param pulumi.Input[bool] disable_api_stop: If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). :param pulumi.Input[bool] disable_api_termination: If `true`, enables [EC2 Instance - Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) :param pulumi.Input[str] ebs_optimized: If `true`, the launched EC2 instance will be EBS-optimized. :param pulumi.Input[Sequence[pulumi.Input[Union['LaunchTemplateElasticGpuSpecificationArgs', 'LaunchTemplateElasticGpuSpecificationArgsDict']]]] elastic_gpu_specifications: The elastic GPU to attach to the instance. See Elastic GPU below for more details. @@ -1742,7 +1742,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="disableApiStop") def disable_api_stop(self) -> pulumi.Output[Optional[bool]]: """ - If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection). + If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html). """ return pulumi.get(self, "disable_api_stop") @@ -1751,7 +1751,7 @@ def disable_api_stop(self) -> pulumi.Output[Optional[bool]]: def disable_api_termination(self) -> pulumi.Output[Optional[bool]]: """ If `true`, enables [EC2 Instance - Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) + Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) """ return pulumi.get(self, "disable_api_termination") diff --git a/sdk/python/pulumi_aws/ec2/security_group.py b/sdk/python/pulumi_aws/ec2/security_group.py index d44be3c698b..9226c643387 100644 --- a/sdk/python/pulumi_aws/ec2/security_group.py +++ b/sdk/python/pulumi_aws/ec2/security_group.py @@ -363,7 +363,9 @@ def __init__(__self__, """ Provides a security group resource. - > **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 `vpc.SecurityGroupEgressRule` and `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 `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + > **NOTE:** Avoid using the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + + !> **WARNING:** You should not use the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) in conjunction with the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. > **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). @@ -549,7 +551,9 @@ def __init__(__self__, """ Provides a security group resource. - > **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 `vpc.SecurityGroupEgressRule` and `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 `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + > **NOTE:** Avoid using the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource to configure in-line rules, as they struggle with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + + !> **WARNING:** You should not use the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) in conjunction with the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. > **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). diff --git a/sdk/python/pulumi_aws/ec2/security_group_rule.py b/sdk/python/pulumi_aws/ec2/security_group_rule.py index 5e0161872e8..b851ca7811d 100644 --- a/sdk/python/pulumi_aws/ec2/security_group_rule.py +++ b/sdk/python/pulumi_aws/ec2/security_group_rule.py @@ -434,13 +434,11 @@ def __init__(__self__, type: Optional[pulumi.Input[str]] = None, __props__=None): """ - Provides a security group rule resource. Represents a single `ingress` or - `egress` group rule, which can be added to external Security Groups. + Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups. - > **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 `vpc.SecurityGroupEgressRule` and `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 `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + > **NOTE:** Avoid using the `ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. + + !> **WARNING:** You should not use the `ec2.SecurityGroupRule` resource in conjunction with `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources or with an `ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. > **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. @@ -586,13 +584,11 @@ def __init__(__self__, args: SecurityGroupRuleArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a security group rule resource. Represents a single `ingress` or - `egress` group rule, which can be added to external Security Groups. + Provides a security group rule resource. Represents a single `ingress` or `egress` group rule, which can be added to external Security Groups. + + > **NOTE:** Avoid using the `ec2.SecurityGroupRule` resource, as it struggles with managing multiple CIDR blocks, and, due to the historical lack of unique IDs, tags and descriptions. To avoid these problems, use the current best practice of the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources with one CIDR block per rule. - > **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 `vpc.SecurityGroupEgressRule` and `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 `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + !> **WARNING:** You should not use the `ec2.SecurityGroupRule` resource in conjunction with `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources or with an `ec2.SecurityGroup` resource that has in-line rules. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. > **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. diff --git a/sdk/python/pulumi_aws/ecs/task_definition.py b/sdk/python/pulumi_aws/ecs/task_definition.py index fcd24bc203a..cd502b816d5 100644 --- a/sdk/python/pulumi_aws/ecs/task_definition.py +++ b/sdk/python/pulumi_aws/ecs/task_definition.py @@ -61,7 +61,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] skip_destroy: Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is `false`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :param pulumi.Input[str] task_role_arn: ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. - :param pulumi.Input[bool] track_latest: Whether should track latest task definition or the one created with the resource. Default is `false`. + :param pulumi.Input[bool] track_latest: Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionVolumeArgs']]] volumes: Configuration block for volumes that containers in your task may use. Detailed below. """ pulumi.set(__self__, "container_definitions", container_definitions) @@ -311,7 +311,7 @@ def task_role_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="trackLatest") def track_latest(self) -> Optional[pulumi.Input[bool]]: """ - Whether should track latest task definition or the one created with the resource. Default is `false`. + Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. """ return pulumi.get(self, "track_latest") @@ -383,7 +383,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :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] task_role_arn: ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. - :param pulumi.Input[bool] track_latest: Whether should track latest task definition or the one created with the resource. Default is `false`. + :param pulumi.Input[bool] track_latest: Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionVolumeArgs']]] volumes: Configuration block for volumes that containers in your task may use. Detailed below. """ if arn is not None: @@ -695,7 +695,7 @@ def task_role_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="trackLatest") def track_latest(self) -> Optional[pulumi.Input[bool]]: """ - Whether should track latest task definition or the one created with the resource. Default is `false`. + Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. """ return pulumi.get(self, "track_latest") @@ -990,7 +990,7 @@ def __init__(__self__, :param pulumi.Input[bool] skip_destroy: Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is `false`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :param pulumi.Input[str] task_role_arn: ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. - :param pulumi.Input[bool] track_latest: Whether should track latest task definition or the one created with the resource. Default is `false`. + :param pulumi.Input[bool] track_latest: Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. :param pulumi.Input[Sequence[pulumi.Input[Union['TaskDefinitionVolumeArgs', 'TaskDefinitionVolumeArgsDict']]]] volumes: Configuration block for volumes that containers in your task may use. Detailed below. """ ... @@ -1360,7 +1360,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :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] task_role_arn: ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. - :param pulumi.Input[bool] track_latest: Whether should track latest task definition or the one created with the resource. Default is `false`. + :param pulumi.Input[bool] track_latest: Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. :param pulumi.Input[Sequence[pulumi.Input[Union['TaskDefinitionVolumeArgs', 'TaskDefinitionVolumeArgsDict']]]] volumes: Configuration block for volumes that containers in your task may use. Detailed below. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1567,7 +1567,7 @@ def task_role_arn(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="trackLatest") def track_latest(self) -> pulumi.Output[Optional[bool]]: """ - Whether should track latest task definition or the one created with the resource. Default is `false`. + Whether should track latest `ACTIVE` task definition on AWS or the one created with the resource stored in state. Default is `false`. Useful in the event the task definition is modified outside of this resource. """ return pulumi.get(self, "track_latest") diff --git a/sdk/python/pulumi_aws/get_service_principal.py b/sdk/python/pulumi_aws/get_service_principal.py new file mode 100644 index 00000000000..ccdea0c40ea --- /dev/null +++ b/sdk/python/pulumi_aws/get_service_principal.py @@ -0,0 +1,154 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetServicePrincipalResult', + 'AwaitableGetServicePrincipalResult', + 'get_service_principal', + 'get_service_principal_output', +] + +@pulumi.output_type +class GetServicePrincipalResult: + """ + A collection of values returned by getServicePrincipal. + """ + def __init__(__self__, id=None, name=None, region=None, service_name=None, suffix=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if service_name and not isinstance(service_name, str): + raise TypeError("Expected argument 'service_name' to be a str") + pulumi.set(__self__, "service_name", service_name) + if suffix and not isinstance(suffix, str): + raise TypeError("Expected argument 'suffix' to be a str") + pulumi.set(__self__, "suffix", suffix) + + @property + @pulumi.getter + def id(self) -> str: + """ + Identifier of the current Service Principal (compound of service, region and suffix). (e.g. `logs.us-east-1.amazonaws.com`in AWS Commercial, `logs.cn-north-1.amazonaws.com.cn` in AWS China). + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Service Principal Name (e.g., `logs.amazonaws.com` in AWS Commercial, `logs.amazonaws.com.cn` in AWS China). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def region(self) -> str: + """ + Region identifier of the generated SPN (e.g., `us-east-1` in AWS Commercial, `cn-north-1` in AWS China). + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + return pulumi.get(self, "service_name") + + @property + @pulumi.getter + def suffix(self) -> str: + """ + Suffix of the SPN (e.g., `amazonaws.com` in AWS Commercial, `amazonaws.com.cn` in AWS China). + """ + return pulumi.get(self, "suffix") + + +class AwaitableGetServicePrincipalResult(GetServicePrincipalResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetServicePrincipalResult( + id=self.id, + name=self.name, + region=self.region, + service_name=self.service_name, + suffix=self.suffix) + + +def get_service_principal(region: Optional[str] = None, + service_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServicePrincipalResult: + """ + Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_service_principal(service_name="s3") + test = aws.get_service_principal(service_name="s3", + region="us-iso-east-1") + ``` + + + :param str region: Region you'd like the SPN for. By default, uses the current region. + :param str service_name: Name of the service you want to generate a Service Principal Name for. + """ + __args__ = dict() + __args__['region'] = region + __args__['serviceName'] = service_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:index/getServicePrincipal:getServicePrincipal', __args__, opts=opts, typ=GetServicePrincipalResult).value + + return AwaitableGetServicePrincipalResult( + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + region=pulumi.get(__ret__, 'region'), + service_name=pulumi.get(__ret__, 'service_name'), + suffix=pulumi.get(__ret__, 'suffix')) + + +@_utilities.lift_output_func(get_service_principal) +def get_service_principal_output(region: Optional[pulumi.Input[Optional[str]]] = None, + service_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServicePrincipalResult]: + """ + Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_service_principal(service_name="s3") + test = aws.get_service_principal(service_name="s3", + region="us-iso-east-1") + ``` + + + :param str region: Region you'd like the SPN for. By default, uses the current region. + :param str service_name: Name of the service you want to generate a Service Principal Name for. + """ + ... diff --git a/sdk/python/pulumi_aws/glue/_inputs.py b/sdk/python/pulumi_aws/glue/_inputs.py index bd025bb5425..52c6a07a0d9 100644 --- a/sdk/python/pulumi_aws/glue/_inputs.py +++ b/sdk/python/pulumi_aws/glue/_inputs.py @@ -1396,7 +1396,7 @@ class ClassifierCsvClassifierArgsDict(TypedDict): """ delimiter: NotRequired[pulumi.Input[str]] """ - The delimiter used in the Csv to separate columns. + The delimiter used in the CSV to separate columns. """ disable_value_trimming: NotRequired[pulumi.Input[bool]] """ @@ -1411,6 +1411,9 @@ class ClassifierCsvClassifierArgsDict(TypedDict): A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. """ serde: NotRequired[pulumi.Input[str]] + """ + The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + """ elif False: ClassifierCsvClassifierArgsDict: TypeAlias = Mapping[str, Any] @@ -1431,10 +1434,11 @@ def __init__(__self__, *, :param pulumi.Input[str] contains_header: Indicates whether the CSV file contains a header. This can be one of "ABSENT", "PRESENT", or "UNKNOWN". :param pulumi.Input[bool] custom_datatype_configured: Enables the custom datatype to be configured. :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_datatypes: A list of supported custom datatypes. Valid values are `BINARY`, `BOOLEAN`, `DATE`, `DECIMAL`, `DOUBLE`, `FLOAT`, `INT`, `LONG`, `SHORT`, `STRING`, `TIMESTAMP`. - :param pulumi.Input[str] delimiter: The delimiter used in the Csv to separate columns. + :param pulumi.Input[str] delimiter: The delimiter used in the CSV to separate columns. :param pulumi.Input[bool] disable_value_trimming: Specifies whether to trim column values. :param pulumi.Input[Sequence[pulumi.Input[str]]] headers: A list of strings representing column names. :param pulumi.Input[str] quote_symbol: A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. + :param pulumi.Input[str] serde: The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. """ if allow_single_column is not None: pulumi.set(__self__, "allow_single_column", allow_single_column) @@ -1507,7 +1511,7 @@ def custom_datatypes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[st @pulumi.getter def delimiter(self) -> Optional[pulumi.Input[str]]: """ - The delimiter used in the Csv to separate columns. + The delimiter used in the CSV to separate columns. """ return pulumi.get(self, "delimiter") @@ -1554,6 +1558,9 @@ def quote_symbol(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def serde(self) -> Optional[pulumi.Input[str]]: + """ + The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + """ return pulumi.get(self, "serde") @serde.setter diff --git a/sdk/python/pulumi_aws/glue/classifier.py b/sdk/python/pulumi_aws/glue/classifier.py index 96245177e94..313f3a4420d 100644 --- a/sdk/python/pulumi_aws/glue/classifier.py +++ b/sdk/python/pulumi_aws/glue/classifier.py @@ -28,7 +28,7 @@ def __init__(__self__, *, xml_classifier: Optional[pulumi.Input['ClassifierXmlClassifierArgs']] = None): """ The set of arguments for constructing a Classifier resource. - :param pulumi.Input['ClassifierCsvClassifierArgs'] csv_classifier: A classifier for Csv content. Defined below. + :param pulumi.Input['ClassifierCsvClassifierArgs'] csv_classifier: A classifier for CSV content. Defined below. :param pulumi.Input['ClassifierGrokClassifierArgs'] grok_classifier: A classifier that uses grok patterns. Defined below. :param pulumi.Input['ClassifierJsonClassifierArgs'] json_classifier: A classifier for JSON content. Defined below. :param pulumi.Input[str] name: The name of the classifier. @@ -49,7 +49,7 @@ def __init__(__self__, *, @pulumi.getter(name="csvClassifier") def csv_classifier(self) -> Optional[pulumi.Input['ClassifierCsvClassifierArgs']]: """ - A classifier for Csv content. Defined below. + A classifier for CSV content. Defined below. """ return pulumi.get(self, "csv_classifier") @@ -116,7 +116,7 @@ def __init__(__self__, *, xml_classifier: Optional[pulumi.Input['ClassifierXmlClassifierArgs']] = None): """ Input properties used for looking up and filtering Classifier resources. - :param pulumi.Input['ClassifierCsvClassifierArgs'] csv_classifier: A classifier for Csv content. Defined below. + :param pulumi.Input['ClassifierCsvClassifierArgs'] csv_classifier: A classifier for CSV content. Defined below. :param pulumi.Input['ClassifierGrokClassifierArgs'] grok_classifier: A classifier that uses grok patterns. Defined below. :param pulumi.Input['ClassifierJsonClassifierArgs'] json_classifier: A classifier for JSON content. Defined below. :param pulumi.Input[str] name: The name of the classifier. @@ -137,7 +137,7 @@ def __init__(__self__, *, @pulumi.getter(name="csvClassifier") def csv_classifier(self) -> Optional[pulumi.Input['ClassifierCsvClassifierArgs']]: """ - A classifier for Csv content. Defined below. + A classifier for CSV content. Defined below. """ return pulumi.get(self, "csv_classifier") @@ -208,11 +208,11 @@ def __init__(__self__, """ Provides a Glue Classifier resource. - > **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier. + > **NOTE:** It is only valid to create one type of classifier (CSV, grok, JSON, or XML). Changing classifier types will recreate the classifier. ## Example Usage - ### Csv Classifier + ### CSV Classifier ```python import pulumi @@ -284,7 +284,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['ClassifierCsvClassifierArgs', 'ClassifierCsvClassifierArgsDict']] csv_classifier: A classifier for Csv content. Defined below. + :param pulumi.Input[Union['ClassifierCsvClassifierArgs', 'ClassifierCsvClassifierArgsDict']] csv_classifier: A classifier for CSV content. Defined below. :param pulumi.Input[Union['ClassifierGrokClassifierArgs', 'ClassifierGrokClassifierArgsDict']] grok_classifier: A classifier that uses grok patterns. Defined below. :param pulumi.Input[Union['ClassifierJsonClassifierArgs', 'ClassifierJsonClassifierArgsDict']] json_classifier: A classifier for JSON content. Defined below. :param pulumi.Input[str] name: The name of the classifier. @@ -299,11 +299,11 @@ def __init__(__self__, """ Provides a Glue Classifier resource. - > **NOTE:** It is only valid to create one type of classifier (csv, grok, JSON, or XML). Changing classifier types will recreate the classifier. + > **NOTE:** It is only valid to create one type of classifier (CSV, grok, JSON, or XML). Changing classifier types will recreate the classifier. ## Example Usage - ### Csv Classifier + ### CSV Classifier ```python import pulumi @@ -429,7 +429,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['ClassifierCsvClassifierArgs', 'ClassifierCsvClassifierArgsDict']] csv_classifier: A classifier for Csv content. Defined below. + :param pulumi.Input[Union['ClassifierCsvClassifierArgs', 'ClassifierCsvClassifierArgsDict']] csv_classifier: A classifier for CSV content. Defined below. :param pulumi.Input[Union['ClassifierGrokClassifierArgs', 'ClassifierGrokClassifierArgsDict']] grok_classifier: A classifier that uses grok patterns. Defined below. :param pulumi.Input[Union['ClassifierJsonClassifierArgs', 'ClassifierJsonClassifierArgsDict']] json_classifier: A classifier for JSON content. Defined below. :param pulumi.Input[str] name: The name of the classifier. @@ -450,7 +450,7 @@ def get(resource_name: str, @pulumi.getter(name="csvClassifier") def csv_classifier(self) -> pulumi.Output[Optional['outputs.ClassifierCsvClassifier']]: """ - A classifier for Csv content. Defined below. + A classifier for CSV content. Defined below. """ return pulumi.get(self, "csv_classifier") diff --git a/sdk/python/pulumi_aws/glue/connection.py b/sdk/python/pulumi_aws/glue/connection.py index f29bfbc122f..3ca9a8ee708 100644 --- a/sdk/python/pulumi_aws/glue/connection.py +++ b/sdk/python/pulumi_aws/glue/connection.py @@ -31,13 +31,17 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Connection resource. - :param pulumi.Input[str] catalog_id: The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: A map of key-value pairs used as parameters for this connection. - :param pulumi.Input[str] connection_type: The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + :param pulumi.Input[str] catalog_id: ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + + **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. + :param pulumi.Input[str] connection_type: Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. :param pulumi.Input[str] description: Description of the connection. - :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: A list of criteria that can be used in selecting this connection. - :param pulumi.Input[str] name: The name of the connection. - :param pulumi.Input['ConnectionPhysicalConnectionRequirementsArgs'] physical_connection_requirements: A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: List of criteria that can be used in selecting this connection. + :param pulumi.Input[str] name: Name of the connection. + + The following arguments are optional: + :param pulumi.Input['ConnectionPhysicalConnectionRequirementsArgs'] physical_connection_requirements: Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. """ if catalog_id is not None: @@ -61,7 +65,7 @@ def __init__(__self__, *, @pulumi.getter(name="catalogId") def catalog_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. """ return pulumi.get(self, "catalog_id") @@ -73,7 +77,9 @@ def catalog_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="connectionProperties") def connection_properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of key-value pairs used as parameters for this connection. + Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + + **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. """ return pulumi.get(self, "connection_properties") @@ -85,7 +91,7 @@ def connection_properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi @pulumi.getter(name="connectionType") def connection_type(self) -> Optional[pulumi.Input[str]]: """ - The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. """ return pulumi.get(self, "connection_type") @@ -109,7 +115,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="matchCriterias") def match_criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of criteria that can be used in selecting this connection. + List of criteria that can be used in selecting this connection. """ return pulumi.get(self, "match_criterias") @@ -121,7 +127,9 @@ def match_criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the connection. + Name of the connection. + + The following arguments are optional: """ return pulumi.get(self, "name") @@ -133,7 +141,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="physicalConnectionRequirements") def physical_connection_requirements(self) -> Optional[pulumi.Input['ConnectionPhysicalConnectionRequirementsArgs']]: """ - A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. """ return pulumi.get(self, "physical_connection_requirements") @@ -169,14 +177,18 @@ def __init__(__self__, *, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Connection resources. - :param pulumi.Input[str] arn: The ARN of the Glue Connection. - :param pulumi.Input[str] catalog_id: The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: A map of key-value pairs used as parameters for this connection. - :param pulumi.Input[str] connection_type: The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + :param pulumi.Input[str] arn: ARN of the Glue Connection. + :param pulumi.Input[str] catalog_id: ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + + **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. + :param pulumi.Input[str] connection_type: Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. :param pulumi.Input[str] description: Description of the connection. - :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: A list of criteria that can be used in selecting this connection. - :param pulumi.Input[str] name: The name of the connection. - :param pulumi.Input['ConnectionPhysicalConnectionRequirementsArgs'] physical_connection_requirements: A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: List of criteria that can be used in selecting this connection. + :param pulumi.Input[str] name: Name of the connection. + + The following arguments are optional: + :param pulumi.Input['ConnectionPhysicalConnectionRequirementsArgs'] physical_connection_requirements: Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ @@ -208,7 +220,7 @@ def __init__(__self__, *, @pulumi.getter def arn(self) -> Optional[pulumi.Input[str]]: """ - The ARN of the Glue Connection. + ARN of the Glue Connection. """ return pulumi.get(self, "arn") @@ -220,7 +232,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="catalogId") def catalog_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. """ return pulumi.get(self, "catalog_id") @@ -232,7 +244,9 @@ def catalog_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="connectionProperties") def connection_properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of key-value pairs used as parameters for this connection. + Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + + **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. """ return pulumi.get(self, "connection_properties") @@ -244,7 +258,7 @@ def connection_properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi @pulumi.getter(name="connectionType") def connection_type(self) -> Optional[pulumi.Input[str]]: """ - The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. """ return pulumi.get(self, "connection_type") @@ -268,7 +282,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="matchCriterias") def match_criterias(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of criteria that can be used in selecting this connection. + List of criteria that can be used in selecting this connection. """ return pulumi.get(self, "match_criterias") @@ -280,7 +294,9 @@ def match_criterias(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the connection. + Name of the connection. + + The following arguments are optional: """ return pulumi.get(self, "name") @@ -292,7 +308,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="physicalConnectionRequirements") def physical_connection_requirements(self) -> Optional[pulumi.Input['ConnectionPhysicalConnectionRequirementsArgs']]: """ - A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. """ return pulumi.get(self, "physical_connection_requirements") @@ -352,12 +368,12 @@ def __init__(__self__, import pulumi_aws as aws example = aws.glue.Connection("example", + name="example", connection_properties={ "JDBC_CONNECTION_URL": "jdbc:mysql://example.com/exampledatabase", "PASSWORD": "examplepassword", "USERNAME": "exampleusername", - }, - name="example") + }) ``` ### Non-VPC Connection with secret manager reference @@ -368,11 +384,11 @@ def __init__(__self__, example = aws.secretsmanager.get_secret(name="example-secret") example_connection = aws.glue.Connection("example", + name="example", connection_properties={ "JDBC_CONNECTION_URL": "jdbc:mysql://example.com/exampledatabase", "SECRET_ID": example.name, - }, - name="example") + }) ``` ### VPC Connection @@ -384,12 +400,12 @@ def __init__(__self__, import pulumi_aws as aws example = aws.glue.Connection("example", + name="example", connection_properties={ "JDBC_CONNECTION_URL": f"jdbc:mysql://{example_aws_rds_cluster['endpoint']}/exampledatabase", "PASSWORD": "examplepassword", "USERNAME": "exampleusername", }, - name="example", physical_connection_requirements={ "availability_zone": example_aws_subnet["availabilityZone"], "security_group_id_lists": [example_aws_security_group["id"]], @@ -406,7 +422,8 @@ def __init__(__self__, # Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection` # Example here being a snowflake jdbc connector with a secret having user and password as keys example = aws.secretsmanager.get_secret(name="example-secret") - example_connector = aws.glue.Connection("example_connector", + example1 = aws.glue.Connection("example1", + name="example1", connection_type="CUSTOM", connection_properties={ "CONNECTOR_CLASS_NAME": "net.snowflake.client.jdbc.SnowflakeDriver", @@ -414,10 +431,10 @@ def __init__(__self__, "CONNECTOR_URL": "s3://example/snowflake-jdbc.jar", "JDBC_CONNECTION_URL": "[[\\"default=jdbc:snowflake://example.com/?user=${user}&password=${password}\\"],\\",\\"]", }, - name="example_connector", match_criterias=["template-connection"]) # Reference the connector using match_criteria with the connector created above. - example_connection = aws.glue.Connection("example_connection", + example2 = aws.glue.Connection("example2", + name="example2", connection_type="CUSTOM", connection_properties={ "CONNECTOR_CLASS_NAME": "net.snowflake.client.jdbc.SnowflakeDriver", @@ -426,13 +443,164 @@ def __init__(__self__, "JDBC_CONNECTION_URL": "jdbc:snowflake://example.com/?user=${user}&password=${password}", "SECRET_ID": example.name, }, - name="example", match_criterias=[ "Connection", - example_connector.name, + example1.name, ]) ``` + ### Azure Cosmos Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "username": "exampleusername", + "password": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="AZURECOSMOS", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "spark.cosmos.accountEndpoint": "https://exampledbaccount.documents.azure.com:443/", + }), + }) + ``` + + ### Azure SQL Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "username": "exampleusername", + "password": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="AZURECOSMOS", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "url": "jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase", + }), + }) + ``` + + ### Google BigQuery Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery). + + ```python + import pulumi + import json + import pulumi_aws as aws + import pulumi_std as std + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "credentials": std.base64encode(input=\"\"\"{ + "type": "service_account", + "project_id": "example-project", + "private_key_id": "example-key", + "private_key": "-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----", + "client_email": "example-project@appspot.gserviceaccount.com", + "client_id": example-client", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com", + "universe_domain": "googleapis.com" + } + \"\"\").result, + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="BIGQUERY", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + }), + }) + ``` + + ### OpenSearch Service Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "opensearch.net.http.auth.user": "exampleusername", + "opensearch.net.http.auth.pass": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="OPENSEARCH", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "opensearch.nodes": "https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com", + "opensearch.port": "443", + "opensearch.aws.sigv4.region": "us-east-1", + "opensearch.nodes.wan.only": "true", + "opensearch.aws.sigv4.enabled": "true", + }), + }) + ``` + + ### Snowflake Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "sfUser": "exampleusername", + "sfPassword": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="SNOWFLAKE", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "sfRole": "EXAMPLEETLROLE", + "sfUrl": "exampleorg-exampleconnection.snowflakecomputing.com", + }), + }) + ``` + ## Import Using `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example: @@ -443,13 +611,17 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] catalog_id: The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: A map of key-value pairs used as parameters for this connection. - :param pulumi.Input[str] connection_type: The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + :param pulumi.Input[str] catalog_id: ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + + **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. + :param pulumi.Input[str] connection_type: Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. :param pulumi.Input[str] description: Description of the connection. - :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: A list of criteria that can be used in selecting this connection. - :param pulumi.Input[str] name: The name of the connection. - :param pulumi.Input[Union['ConnectionPhysicalConnectionRequirementsArgs', 'ConnectionPhysicalConnectionRequirementsArgsDict']] physical_connection_requirements: A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: List of criteria that can be used in selecting this connection. + :param pulumi.Input[str] name: Name of the connection. + + The following arguments are optional: + :param pulumi.Input[Union['ConnectionPhysicalConnectionRequirementsArgs', 'ConnectionPhysicalConnectionRequirementsArgsDict']] physical_connection_requirements: Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. """ ... @@ -470,12 +642,12 @@ def __init__(__self__, import pulumi_aws as aws example = aws.glue.Connection("example", + name="example", connection_properties={ "JDBC_CONNECTION_URL": "jdbc:mysql://example.com/exampledatabase", "PASSWORD": "examplepassword", "USERNAME": "exampleusername", - }, - name="example") + }) ``` ### Non-VPC Connection with secret manager reference @@ -486,11 +658,11 @@ def __init__(__self__, example = aws.secretsmanager.get_secret(name="example-secret") example_connection = aws.glue.Connection("example", + name="example", connection_properties={ "JDBC_CONNECTION_URL": "jdbc:mysql://example.com/exampledatabase", "SECRET_ID": example.name, - }, - name="example") + }) ``` ### VPC Connection @@ -502,12 +674,12 @@ def __init__(__self__, import pulumi_aws as aws example = aws.glue.Connection("example", + name="example", connection_properties={ "JDBC_CONNECTION_URL": f"jdbc:mysql://{example_aws_rds_cluster['endpoint']}/exampledatabase", "PASSWORD": "examplepassword", "USERNAME": "exampleusername", }, - name="example", physical_connection_requirements={ "availability_zone": example_aws_subnet["availabilityZone"], "security_group_id_lists": [example_aws_security_group["id"]], @@ -524,7 +696,8 @@ def __init__(__self__, # Define the custom connector using the connection_type of `CUSTOM` with the match_criteria of `template_connection` # Example here being a snowflake jdbc connector with a secret having user and password as keys example = aws.secretsmanager.get_secret(name="example-secret") - example_connector = aws.glue.Connection("example_connector", + example1 = aws.glue.Connection("example1", + name="example1", connection_type="CUSTOM", connection_properties={ "CONNECTOR_CLASS_NAME": "net.snowflake.client.jdbc.SnowflakeDriver", @@ -532,10 +705,10 @@ def __init__(__self__, "CONNECTOR_URL": "s3://example/snowflake-jdbc.jar", "JDBC_CONNECTION_URL": "[[\\"default=jdbc:snowflake://example.com/?user=${user}&password=${password}\\"],\\",\\"]", }, - name="example_connector", match_criterias=["template-connection"]) # Reference the connector using match_criteria with the connector created above. - example_connection = aws.glue.Connection("example_connection", + example2 = aws.glue.Connection("example2", + name="example2", connection_type="CUSTOM", connection_properties={ "CONNECTOR_CLASS_NAME": "net.snowflake.client.jdbc.SnowflakeDriver", @@ -544,13 +717,164 @@ def __init__(__self__, "JDBC_CONNECTION_URL": "jdbc:snowflake://example.com/?user=${user}&password=${password}", "SECRET_ID": example.name, }, - name="example", match_criterias=[ "Connection", - example_connector.name, + example1.name, ]) ``` + ### Azure Cosmos Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azurecosmos). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "username": "exampleusername", + "password": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="AZURECOSMOS", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "spark.cosmos.accountEndpoint": "https://exampledbaccount.documents.azure.com:443/", + }), + }) + ``` + + ### Azure SQL Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-azuresql). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "username": "exampleusername", + "password": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="AZURECOSMOS", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "url": "jdbc:sqlserver:exampledbserver.database.windows.net:1433;database=exampledatabase", + }), + }) + ``` + + ### Google BigQuery Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-bigquery). + + ```python + import pulumi + import json + import pulumi_aws as aws + import pulumi_std as std + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "credentials": std.base64encode(input=\"\"\"{ + "type": "service_account", + "project_id": "example-project", + "private_key_id": "example-key", + "private_key": "-----BEGIN RSA PRIVATE KEY-----\\nREDACTED\\n-----END RSA PRIVATE KEY-----", + "client_email": "example-project@appspot.gserviceaccount.com", + "client_id": example-client", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example-project%%40appspot.gserviceaccount.com", + "universe_domain": "googleapis.com" + } + \"\"\").result, + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="BIGQUERY", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + }), + }) + ``` + + ### OpenSearch Service Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-opensearch). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "opensearch.net.http.auth.user": "exampleusername", + "opensearch.net.http.auth.pass": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="OPENSEARCH", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "opensearch.nodes": "https://search-exampledomain-ixlmh4jieahrau3bfebcgp8cnm.us-east-1.es.amazonaws.com", + "opensearch.port": "443", + "opensearch.aws.sigv4.region": "us-east-1", + "opensearch.nodes.wan.only": "true", + "opensearch.aws.sigv4.enabled": "true", + }), + }) + ``` + + ### Snowflake Connection + + For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html#connection-properties-snowflake). + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.secretsmanager.Secret("example", name="example-secret") + example_secret_version = aws.secretsmanager.SecretVersion("example", + secret_id=example.id, + secret_string=json.dumps({ + "sfUser": "exampleusername", + "sfPassword": "examplepassword", + })) + example_connection = aws.glue.Connection("example", + name="example", + connection_type="SNOWFLAKE", + connection_properties={ + "SparkProperties": pulumi.Output.json_dumps({ + "secretId": example.name, + "sfRole": "EXAMPLEETLROLE", + "sfUrl": "exampleorg-exampleconnection.snowflakecomputing.com", + }), + }) + ``` + ## Import Using `pulumi import`, import Glue Connections using the `CATALOG-ID` (AWS account ID if not custom) and `NAME`. For example: @@ -630,14 +954,18 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] arn: The ARN of the Glue Connection. - :param pulumi.Input[str] catalog_id: The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: A map of key-value pairs used as parameters for this connection. - :param pulumi.Input[str] connection_type: The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + :param pulumi.Input[str] arn: ARN of the Glue Connection. + :param pulumi.Input[str] catalog_id: ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connection_properties: Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + + **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. + :param pulumi.Input[str] connection_type: Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. :param pulumi.Input[str] description: Description of the connection. - :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: A list of criteria that can be used in selecting this connection. - :param pulumi.Input[str] name: The name of the connection. - :param pulumi.Input[Union['ConnectionPhysicalConnectionRequirementsArgs', 'ConnectionPhysicalConnectionRequirementsArgsDict']] physical_connection_requirements: A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_criterias: List of criteria that can be used in selecting this connection. + :param pulumi.Input[str] name: Name of the connection. + + The following arguments are optional: + :param pulumi.Input[Union['ConnectionPhysicalConnectionRequirementsArgs', 'ConnectionPhysicalConnectionRequirementsArgsDict']] physical_connection_requirements: Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ @@ -661,7 +989,7 @@ def get(resource_name: str, @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - The ARN of the Glue Connection. + ARN of the Glue Connection. """ return pulumi.get(self, "arn") @@ -669,7 +997,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="catalogId") def catalog_id(self) -> pulumi.Output[str]: """ - The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. + ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. """ return pulumi.get(self, "catalog_id") @@ -677,7 +1005,9 @@ def catalog_id(self) -> pulumi.Output[str]: @pulumi.getter(name="connectionProperties") def connection_properties(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of key-value pairs used as parameters for this connection. + Map of key-value pairs used as parameters for this connection. For more information, see the [AWS Documentation](https://docs.aws.amazon.com/glue/latest/dg/connection-properties.html). + + **Note:** Some connection types require the `SparkProperties` property with a JSON document that contains the actual connection properties. For specific examples, refer to Example Usage. """ return pulumi.get(self, "connection_properties") @@ -685,7 +1015,7 @@ def connection_properties(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @pulumi.getter(name="connectionType") def connection_type(self) -> pulumi.Output[Optional[str]]: """ - The type of the connection. Supported are: `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, and `NETWORK`. Defaults to `JDBC`. + Type of the connection. Valid values: `AZURECOSMOS`, `AZURESQL`, `BIGQUERY`, `CUSTOM`, `JDBC`, `KAFKA`, `MARKETPLACE`, `MONGODB`, `NETWORK`, `OPENSEARCH`, `SNOWFLAKE`. Defaults to `JDBC`. """ return pulumi.get(self, "connection_type") @@ -701,7 +1031,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="matchCriterias") def match_criterias(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - A list of criteria that can be used in selecting this connection. + List of criteria that can be used in selecting this connection. """ return pulumi.get(self, "match_criterias") @@ -709,7 +1039,9 @@ def match_criterias(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The name of the connection. + Name of the connection. + + The following arguments are optional: """ return pulumi.get(self, "name") @@ -717,7 +1049,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="physicalConnectionRequirements") def physical_connection_requirements(self) -> pulumi.Output[Optional['outputs.ConnectionPhysicalConnectionRequirements']]: """ - A map of physical connection requirements, such as VPC and SecurityGroup. Defined below. + Map of physical connection requirements, such as VPC and SecurityGroup. See `physical_connection_requirements` Block for details. """ return pulumi.get(self, "physical_connection_requirements") diff --git a/sdk/python/pulumi_aws/glue/outputs.py b/sdk/python/pulumi_aws/glue/outputs.py index 25e9e48fd7e..ccdb59f4153 100644 --- a/sdk/python/pulumi_aws/glue/outputs.py +++ b/sdk/python/pulumi_aws/glue/outputs.py @@ -1126,10 +1126,11 @@ def __init__(__self__, *, :param str contains_header: Indicates whether the CSV file contains a header. This can be one of "ABSENT", "PRESENT", or "UNKNOWN". :param bool custom_datatype_configured: Enables the custom datatype to be configured. :param Sequence[str] custom_datatypes: A list of supported custom datatypes. Valid values are `BINARY`, `BOOLEAN`, `DATE`, `DECIMAL`, `DOUBLE`, `FLOAT`, `INT`, `LONG`, `SHORT`, `STRING`, `TIMESTAMP`. - :param str delimiter: The delimiter used in the Csv to separate columns. + :param str delimiter: The delimiter used in the CSV to separate columns. :param bool disable_value_trimming: Specifies whether to trim column values. :param Sequence[str] headers: A list of strings representing column names. :param str quote_symbol: A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter. + :param str serde: The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. """ if allow_single_column is not None: pulumi.set(__self__, "allow_single_column", allow_single_column) @@ -1186,7 +1187,7 @@ def custom_datatypes(self) -> Optional[Sequence[str]]: @pulumi.getter def delimiter(self) -> Optional[str]: """ - The delimiter used in the Csv to separate columns. + The delimiter used in the CSV to separate columns. """ return pulumi.get(self, "delimiter") @@ -1217,6 +1218,9 @@ def quote_symbol(self) -> Optional[str]: @property @pulumi.getter def serde(self) -> Optional[str]: + """ + The SerDe for processing CSV. Valid values are `OpenCSVSerDe`, `LazySimpleSerDe`, `None`. + """ return pulumi.get(self, "serde") diff --git a/sdk/python/pulumi_aws/iam/get_account_alias.py b/sdk/python/pulumi_aws/iam/get_account_alias.py index c29f6b2847b..2c5e76a0f36 100644 --- a/sdk/python/pulumi_aws/iam/get_account_alias.py +++ b/sdk/python/pulumi_aws/iam/get_account_alias.py @@ -73,7 +73,7 @@ def get_account_alias(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableG import pulumi_aws as aws current = aws.iam.get_account_alias() - pulumi.export("accountId", current.account_alias) + pulumi.export("accountAlias", current.account_alias) ``` """ __args__ = dict() @@ -98,7 +98,7 @@ def get_account_alias_output(opts: Optional[pulumi.InvokeOptions] = None) -> pul import pulumi_aws as aws current = aws.iam.get_account_alias() - pulumi.export("accountId", current.account_alias) + pulumi.export("accountAlias", current.account_alias) ``` """ ... diff --git a/sdk/python/pulumi_aws/lambda_/runtime_management_config.py b/sdk/python/pulumi_aws/lambda_/runtime_management_config.py index 08abdc50c17..7fb34307b60 100644 --- a/sdk/python/pulumi_aws/lambda_/runtime_management_config.py +++ b/sdk/python/pulumi_aws/lambda_/runtime_management_config.py @@ -199,7 +199,7 @@ def __init__(__self__, Refer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes. > Deletion of this resource returns the runtime update mode to `Auto` (the default behavior). - To leave the configured runtime management options in-place, use a `removed` block withe destroy lifecycle set to `false`. + To leave the configured runtime management options in-place, use a `removed` block with the destroy lifecycle set to `false`. ## Example Usage @@ -257,7 +257,7 @@ def __init__(__self__, Refer to the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) for supported runtimes. > Deletion of this resource returns the runtime update mode to `Auto` (the default behavior). - To leave the configured runtime management options in-place, use a `removed` block withe destroy lifecycle set to `false`. + To leave the configured runtime management options in-place, use a `removed` block with the destroy lifecycle set to `false`. ## Example Usage diff --git a/sdk/python/pulumi_aws/mwaa/environment.py b/sdk/python/pulumi_aws/mwaa/environment.py index acbe2158da2..2665e3c1b7f 100644 --- a/sdk/python/pulumi_aws/mwaa/environment.py +++ b/sdk/python/pulumi_aws/mwaa/environment.py @@ -50,15 +50,17 @@ def __init__(__self__, *, The set of arguments for constructing a Environment resource. :param pulumi.Input[str] dag_s3_path: The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). :param pulumi.Input[str] execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. - :param pulumi.Input['EnvironmentNetworkConfigurationArgs'] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + :param pulumi.Input['EnvironmentNetworkConfigurationArgs'] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. :param pulumi.Input[str] source_bucket_arn: The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] airflow_configuration_options: The `airflow_configuration_options` parameter specifies airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options. :param pulumi.Input[str] airflow_version: Airflow version of your environment, will be set by default to the latest version that MWAA supports. :param pulumi.Input[str] endpoint_management: Defines whether the VPC endpoints configured for the environment are created and managed by the customer or by AWS. If set to `SERVICE`, Amazon MWAA will create and manage the required VPC endpoints in your VPC. If set to `CUSTOMER`, you must create, and manage, the VPC endpoints for your VPC. Defaults to `SERVICE` if not set. :param pulumi.Input[str] environment_class: Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. :param pulumi.Input[str] kms_key: The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. - :param pulumi.Input['EnvironmentLoggingConfigurationArgs'] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + :param pulumi.Input['EnvironmentLoggingConfigurationArgs'] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. + :param pulumi.Input[int] max_webservers: The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] max_workers: The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. + :param pulumi.Input[int] min_webservers: The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] min_workers: The minimum number of workers that you want to run in your environment. Will be `1` by default. :param pulumi.Input[str] name: The name of the Apache Airflow Environment :param pulumi.Input[str] plugins_s3_object_version: The plugins.zip file version you want to use. @@ -147,7 +149,7 @@ def execution_role_arn(self, value: pulumi.Input[str]): @pulumi.getter(name="networkConfiguration") def network_configuration(self) -> pulumi.Input['EnvironmentNetworkConfigurationArgs']: """ - Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. """ return pulumi.get(self, "network_configuration") @@ -231,7 +233,7 @@ def kms_key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="loggingConfiguration") def logging_configuration(self) -> Optional[pulumi.Input['EnvironmentLoggingConfigurationArgs']]: """ - The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. """ return pulumi.get(self, "logging_configuration") @@ -242,6 +244,9 @@ def logging_configuration(self, value: Optional[pulumi.Input['EnvironmentLogging @property @pulumi.getter(name="maxWebservers") def max_webservers(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + """ return pulumi.get(self, "max_webservers") @max_webservers.setter @@ -263,6 +268,9 @@ def max_workers(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="minWebservers") def min_webservers(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + """ return pulumi.get(self, "min_webservers") @min_webservers.setter @@ -464,11 +472,13 @@ def __init__(__self__, *, :param pulumi.Input[str] environment_class: Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. :param pulumi.Input[str] execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. :param pulumi.Input[str] kms_key: The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. - :param pulumi.Input['EnvironmentLoggingConfigurationArgs'] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + :param pulumi.Input['EnvironmentLoggingConfigurationArgs'] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. + :param pulumi.Input[int] max_webservers: The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] max_workers: The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. + :param pulumi.Input[int] min_webservers: The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] min_workers: The minimum number of workers that you want to run in your environment. Will be `1` by default. :param pulumi.Input[str] name: The name of the Apache Airflow Environment - :param pulumi.Input['EnvironmentNetworkConfigurationArgs'] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + :param pulumi.Input['EnvironmentNetworkConfigurationArgs'] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. :param pulumi.Input[str] plugins_s3_object_version: The plugins.zip file version you want to use. :param pulumi.Input[str] plugins_s3_path: The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then plugins_s3_object_version is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). :param pulumi.Input[str] requirements_s3_object_version: The requirements.txt file version you want to use. @@ -692,7 +702,7 @@ def last_updateds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Envi @pulumi.getter(name="loggingConfiguration") def logging_configuration(self) -> Optional[pulumi.Input['EnvironmentLoggingConfigurationArgs']]: """ - The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. """ return pulumi.get(self, "logging_configuration") @@ -703,6 +713,9 @@ def logging_configuration(self, value: Optional[pulumi.Input['EnvironmentLogging @property @pulumi.getter(name="maxWebservers") def max_webservers(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + """ return pulumi.get(self, "max_webservers") @max_webservers.setter @@ -724,6 +737,9 @@ def max_workers(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="minWebservers") def min_webservers(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + """ return pulumi.get(self, "min_webservers") @min_webservers.setter @@ -758,7 +774,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="networkConfiguration") def network_configuration(self) -> Optional[pulumi.Input['EnvironmentNetworkConfigurationArgs']]: """ - Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. """ return pulumi.get(self, "network_configuration") @@ -1115,11 +1131,13 @@ def __init__(__self__, :param pulumi.Input[str] environment_class: Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. :param pulumi.Input[str] execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. :param pulumi.Input[str] kms_key: The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. - :param pulumi.Input[Union['EnvironmentLoggingConfigurationArgs', 'EnvironmentLoggingConfigurationArgsDict']] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + :param pulumi.Input[Union['EnvironmentLoggingConfigurationArgs', 'EnvironmentLoggingConfigurationArgsDict']] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. + :param pulumi.Input[int] max_webservers: The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] max_workers: The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. + :param pulumi.Input[int] min_webservers: The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] min_workers: The minimum number of workers that you want to run in your environment. Will be `1` by default. :param pulumi.Input[str] name: The name of the Apache Airflow Environment - :param pulumi.Input[Union['EnvironmentNetworkConfigurationArgs', 'EnvironmentNetworkConfigurationArgsDict']] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + :param pulumi.Input[Union['EnvironmentNetworkConfigurationArgs', 'EnvironmentNetworkConfigurationArgsDict']] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. :param pulumi.Input[str] plugins_s3_object_version: The plugins.zip file version you want to use. :param pulumi.Input[str] plugins_s3_path: The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then plugins_s3_object_version is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). :param pulumi.Input[str] requirements_s3_object_version: The requirements.txt file version you want to use. @@ -1408,11 +1426,13 @@ def get(resource_name: str, :param pulumi.Input[str] environment_class: Environment class for the cluster. Possible options are `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes. :param pulumi.Input[str] execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification. :param pulumi.Input[str] kms_key: The Amazon Resource Name (ARN) of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information. - :param pulumi.Input[Union['EnvironmentLoggingConfigurationArgs', 'EnvironmentLoggingConfigurationArgsDict']] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + :param pulumi.Input[Union['EnvironmentLoggingConfigurationArgs', 'EnvironmentLoggingConfigurationArgsDict']] logging_configuration: The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. + :param pulumi.Input[int] max_webservers: The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] max_workers: The maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default. + :param pulumi.Input[int] min_webservers: The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. :param pulumi.Input[int] min_workers: The minimum number of workers that you want to run in your environment. Will be `1` by default. :param pulumi.Input[str] name: The name of the Apache Airflow Environment - :param pulumi.Input[Union['EnvironmentNetworkConfigurationArgs', 'EnvironmentNetworkConfigurationArgsDict']] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + :param pulumi.Input[Union['EnvironmentNetworkConfigurationArgs', 'EnvironmentNetworkConfigurationArgsDict']] network_configuration: Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. :param pulumi.Input[str] plugins_s3_object_version: The plugins.zip file version you want to use. :param pulumi.Input[str] plugins_s3_path: The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then plugins_s3_object_version is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). :param pulumi.Input[str] requirements_s3_object_version: The requirements.txt file version you want to use. @@ -1560,13 +1580,16 @@ def last_updateds(self) -> pulumi.Output[Sequence['outputs.EnvironmentLastUpdate @pulumi.getter(name="loggingConfiguration") def logging_configuration(self) -> pulumi.Output['outputs.EnvironmentLoggingConfiguration']: """ - The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + The Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `logging_configuration` Block for details. """ return pulumi.get(self, "logging_configuration") @property @pulumi.getter(name="maxWebservers") def max_webservers(self) -> pulumi.Output[int]: + """ + The maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + """ return pulumi.get(self, "max_webservers") @property @@ -1580,6 +1603,9 @@ def max_workers(self) -> pulumi.Output[int]: @property @pulumi.getter(name="minWebservers") def min_webservers(self) -> pulumi.Output[int]: + """ + The minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5`. Will be `2` by default. + """ return pulumi.get(self, "min_webservers") @property @@ -1602,7 +1628,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="networkConfiguration") def network_configuration(self) -> pulumi.Output['outputs.EnvironmentNetworkConfiguration']: """ - Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See Network configuration below for details. + Specifies the network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `network_configuration` Block for details. """ return pulumi.get(self, "network_configuration") diff --git a/sdk/python/pulumi_aws/rds/_inputs.py b/sdk/python/pulumi_aws/rds/_inputs.py index efac5ef115d..95a53f7a9b0 100644 --- a/sdk/python/pulumi_aws/rds/_inputs.py +++ b/sdk/python/pulumi_aws/rds/_inputs.py @@ -434,6 +434,10 @@ class ClusterScalingConfigurationArgsDict(TypedDict): """ Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`. """ + seconds_before_timeout: NotRequired[pulumi.Input[int]] + """ + Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + """ seconds_until_auto_pause: NotRequired[pulumi.Input[int]] """ Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. @@ -451,12 +455,14 @@ def __init__(__self__, *, auto_pause: Optional[pulumi.Input[bool]] = None, max_capacity: Optional[pulumi.Input[int]] = None, min_capacity: Optional[pulumi.Input[int]] = None, + seconds_before_timeout: Optional[pulumi.Input[int]] = None, seconds_until_auto_pause: Optional[pulumi.Input[int]] = None, timeout_action: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[bool] auto_pause: Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to `true`. :param pulumi.Input[int] max_capacity: Maximum capacity for an Aurora DB cluster in `serverless` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `16`. :param pulumi.Input[int] min_capacity: Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`. + :param pulumi.Input[int] seconds_before_timeout: Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. :param pulumi.Input[int] seconds_until_auto_pause: Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. :param pulumi.Input[str] timeout_action: Action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v1.how-it-works.html#aurora-serverless.how-it-works.timeout-action). """ @@ -466,6 +472,8 @@ def __init__(__self__, *, pulumi.set(__self__, "max_capacity", max_capacity) if min_capacity is not None: pulumi.set(__self__, "min_capacity", min_capacity) + if seconds_before_timeout is not None: + pulumi.set(__self__, "seconds_before_timeout", seconds_before_timeout) if seconds_until_auto_pause is not None: pulumi.set(__self__, "seconds_until_auto_pause", seconds_until_auto_pause) if timeout_action is not None: @@ -507,6 +515,18 @@ def min_capacity(self) -> Optional[pulumi.Input[int]]: def min_capacity(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "min_capacity", value) + @property + @pulumi.getter(name="secondsBeforeTimeout") + def seconds_before_timeout(self) -> Optional[pulumi.Input[int]]: + """ + Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + """ + return pulumi.get(self, "seconds_before_timeout") + + @seconds_before_timeout.setter + def seconds_before_timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "seconds_before_timeout", value) + @property @pulumi.getter(name="secondsUntilAutoPause") def seconds_until_auto_pause(self) -> Optional[pulumi.Input[int]]: diff --git a/sdk/python/pulumi_aws/rds/cluster.py b/sdk/python/pulumi_aws/rds/cluster.py index d7f5963cdbd..9622bd9dd76 100644 --- a/sdk/python/pulumi_aws/rds/cluster.py +++ b/sdk/python/pulumi_aws/rds/cluster.py @@ -2926,7 +2926,7 @@ def backup_retention_period(self) -> pulumi.Output[int]: @property @pulumi.getter(name="caCertificateIdentifier") - def ca_certificate_identifier(self) -> pulumi.Output[Optional[str]]: + def ca_certificate_identifier(self) -> pulumi.Output[str]: """ The CA certificate identifier to use for the DB cluster's server certificate. """ diff --git a/sdk/python/pulumi_aws/rds/cluster_snapshot.py b/sdk/python/pulumi_aws/rds/cluster_snapshot.py index 768161ed3e9..327e9344380 100644 --- a/sdk/python/pulumi_aws/rds/cluster_snapshot.py +++ b/sdk/python/pulumi_aws/rds/cluster_snapshot.py @@ -21,15 +21,19 @@ class ClusterSnapshotArgs: def __init__(__self__, *, db_cluster_identifier: pulumi.Input[str], db_cluster_snapshot_identifier: pulumi.Input[str], + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a ClusterSnapshot resource. :param pulumi.Input[str] db_cluster_identifier: The DB Cluster Identifier from which to take the snapshot. :param pulumi.Input[str] db_cluster_snapshot_identifier: The Identifier for the snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "db_cluster_identifier", db_cluster_identifier) pulumi.set(__self__, "db_cluster_snapshot_identifier", db_cluster_snapshot_identifier) + if shared_accounts is not None: + pulumi.set(__self__, "shared_accounts", shared_accounts) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -57,6 +61,18 @@ def db_cluster_snapshot_identifier(self) -> pulumi.Input[str]: def db_cluster_snapshot_identifier(self, value: pulumi.Input[str]): pulumi.set(self, "db_cluster_snapshot_identifier", value) + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + + @shared_accounts.setter + def shared_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "shared_accounts", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -83,6 +99,7 @@ def __init__(__self__, *, kms_key_id: Optional[pulumi.Input[str]] = None, license_model: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, snapshot_type: Optional[pulumi.Input[str]] = None, source_db_cluster_snapshot_arn: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, @@ -102,6 +119,7 @@ def __init__(__self__, *, :param pulumi.Input[str] kms_key_id: If storage_encrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot. :param pulumi.Input[str] license_model: License model information for the restored DB cluster. :param pulumi.Input[int] port: Port that the DB cluster was listening on at the time of the snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[str] status: The status of this DB Cluster Snapshot. :param pulumi.Input[bool] storage_encrypted: Whether the DB cluster snapshot is encrypted. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -128,6 +146,8 @@ def __init__(__self__, *, pulumi.set(__self__, "license_model", license_model) if port is not None: pulumi.set(__self__, "port", port) + if shared_accounts is not None: + pulumi.set(__self__, "shared_accounts", shared_accounts) if snapshot_type is not None: pulumi.set(__self__, "snapshot_type", snapshot_type) if source_db_cluster_snapshot_arn is not None: @@ -266,6 +286,18 @@ def port(self) -> Optional[pulumi.Input[int]]: def port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "port", value) + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + + @shared_accounts.setter + def shared_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "shared_accounts", value) + @property @pulumi.getter(name="snapshotType") def snapshot_type(self) -> Optional[pulumi.Input[str]]: @@ -353,6 +385,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, db_cluster_identifier: Optional[pulumi.Input[str]] = None, db_cluster_snapshot_identifier: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ @@ -381,6 +414,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] db_cluster_identifier: The DB Cluster Identifier from which to take the snapshot. :param pulumi.Input[str] db_cluster_snapshot_identifier: The Identifier for the snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @@ -428,6 +462,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, db_cluster_identifier: Optional[pulumi.Input[str]] = None, db_cluster_snapshot_identifier: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -444,6 +479,7 @@ def _internal_init(__self__, if db_cluster_snapshot_identifier is None and not opts.urn: raise TypeError("Missing required property 'db_cluster_snapshot_identifier'") __props__.__dict__["db_cluster_snapshot_identifier"] = db_cluster_snapshot_identifier + __props__.__dict__["shared_accounts"] = shared_accounts __props__.__dict__["tags"] = tags __props__.__dict__["allocated_storage"] = None __props__.__dict__["availability_zones"] = None @@ -479,6 +515,7 @@ def get(resource_name: str, kms_key_id: Optional[pulumi.Input[str]] = None, license_model: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, snapshot_type: Optional[pulumi.Input[str]] = None, source_db_cluster_snapshot_arn: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, @@ -503,6 +540,7 @@ def get(resource_name: str, :param pulumi.Input[str] kms_key_id: If storage_encrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot. :param pulumi.Input[str] license_model: License model information for the restored DB cluster. :param pulumi.Input[int] port: Port that the DB cluster was listening on at the time of the snapshot. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[str] status: The status of this DB Cluster Snapshot. :param pulumi.Input[bool] storage_encrypted: Whether the DB cluster snapshot is encrypted. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -523,6 +561,7 @@ def get(resource_name: str, __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["license_model"] = license_model __props__.__dict__["port"] = port + __props__.__dict__["shared_accounts"] = shared_accounts __props__.__dict__["snapshot_type"] = snapshot_type __props__.__dict__["source_db_cluster_snapshot_arn"] = source_db_cluster_snapshot_arn __props__.__dict__["status"] = status @@ -612,6 +651,14 @@ def port(self) -> pulumi.Output[int]: """ return pulumi.get(self, "port") + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + @property @pulumi.getter(name="snapshotType") def snapshot_type(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/rds/outputs.py b/sdk/python/pulumi_aws/rds/outputs.py index bcce1659241..093d70c577c 100644 --- a/sdk/python/pulumi_aws/rds/outputs.py +++ b/sdk/python/pulumi_aws/rds/outputs.py @@ -352,6 +352,8 @@ def __key_warning(key: str): suggest = "max_capacity" elif key == "minCapacity": suggest = "min_capacity" + elif key == "secondsBeforeTimeout": + suggest = "seconds_before_timeout" elif key == "secondsUntilAutoPause": suggest = "seconds_until_auto_pause" elif key == "timeoutAction": @@ -372,12 +374,14 @@ def __init__(__self__, *, auto_pause: Optional[bool] = None, max_capacity: Optional[int] = None, min_capacity: Optional[int] = None, + seconds_before_timeout: Optional[int] = None, seconds_until_auto_pause: Optional[int] = None, timeout_action: Optional[str] = None): """ :param bool auto_pause: Whether to enable automatic pause. A DB cluster can be paused only when it's idle (it has no connections). If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. Defaults to `true`. :param int max_capacity: Maximum capacity for an Aurora DB cluster in `serverless` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `16`. :param int min_capacity: Minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid Aurora MySQL capacity values are `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`. Valid Aurora PostgreSQL capacity values are (`2`, `4`, `8`, `16`, `32`, `64`, `192`, and `384`). Defaults to `1`. + :param int seconds_before_timeout: Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. :param int seconds_until_auto_pause: Time, in seconds, before an Aurora DB cluster in serverless mode is paused. Valid values are `300` through `86400`. Defaults to `300`. :param str timeout_action: Action to take when the timeout is reached. Valid values: `ForceApplyCapacityChange`, `RollbackCapacityChange`. Defaults to `RollbackCapacityChange`. See [documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v1.how-it-works.html#aurora-serverless.how-it-works.timeout-action). """ @@ -387,6 +391,8 @@ def __init__(__self__, *, pulumi.set(__self__, "max_capacity", max_capacity) if min_capacity is not None: pulumi.set(__self__, "min_capacity", min_capacity) + if seconds_before_timeout is not None: + pulumi.set(__self__, "seconds_before_timeout", seconds_before_timeout) if seconds_until_auto_pause is not None: pulumi.set(__self__, "seconds_until_auto_pause", seconds_until_auto_pause) if timeout_action is not None: @@ -416,6 +422,14 @@ def min_capacity(self) -> Optional[int]: """ return pulumi.get(self, "min_capacity") + @property + @pulumi.getter(name="secondsBeforeTimeout") + def seconds_before_timeout(self) -> Optional[int]: + """ + Amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. Valid values are `60` through `600`. Defaults to `300`. + """ + return pulumi.get(self, "seconds_before_timeout") + @property @pulumi.getter(name="secondsUntilAutoPause") def seconds_until_auto_pause(self) -> Optional[int]: diff --git a/sdk/python/pulumi_aws/rds/snapshot_copy.py b/sdk/python/pulumi_aws/rds/snapshot_copy.py index d4a379acdbc..75504c68111 100644 --- a/sdk/python/pulumi_aws/rds/snapshot_copy.py +++ b/sdk/python/pulumi_aws/rds/snapshot_copy.py @@ -26,6 +26,7 @@ def __init__(__self__, *, kms_key_id: Optional[pulumi.Input[str]] = None, option_group_name: Optional[pulumi.Input[str]] = None, presigned_url: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_custom_availability_zone: Optional[pulumi.Input[str]] = None): """ @@ -37,6 +38,7 @@ def __init__(__self__, *, :param pulumi.Input[str] kms_key_id: KMS key ID. :param pulumi.Input[str] option_group_name: The name of an option group to associate with the copy of the snapshot. :param pulumi.Input[str] presigned_url: he URL that contains a Signature Version 4 signed request. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :param pulumi.Input[str] target_custom_availability_zone: The external custom Availability Zone. """ @@ -52,6 +54,8 @@ def __init__(__self__, *, pulumi.set(__self__, "option_group_name", option_group_name) if presigned_url is not None: pulumi.set(__self__, "presigned_url", presigned_url) + if shared_accounts is not None: + pulumi.set(__self__, "shared_accounts", shared_accounts) if tags is not None: pulumi.set(__self__, "tags", tags) if target_custom_availability_zone is not None: @@ -141,6 +145,18 @@ def presigned_url(self) -> Optional[pulumi.Input[str]]: def presigned_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "presigned_url", value) + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + + @shared_accounts.setter + def shared_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "shared_accounts", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -183,6 +199,7 @@ def __init__(__self__, *, option_group_name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, presigned_url: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, snapshot_type: Optional[pulumi.Input[str]] = None, source_db_snapshot_identifier: Optional[pulumi.Input[str]] = None, source_region: Optional[pulumi.Input[str]] = None, @@ -207,6 +224,7 @@ def __init__(__self__, *, :param pulumi.Input[str] license_model: License model information for the restored DB instance. :param pulumi.Input[str] option_group_name: The name of an option group to associate with the copy of the snapshot. :param pulumi.Input[str] presigned_url: he URL that contains a Signature Version 4 signed request. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[str] source_db_snapshot_identifier: Snapshot identifier of the source snapshot. :param pulumi.Input[str] source_region: The region that the DB snapshot was created in or copied from. :param pulumi.Input[str] storage_type: Specifies the storage type associated with DB snapshot. @@ -244,6 +262,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if presigned_url is not None: pulumi.set(__self__, "presigned_url", presigned_url) + if shared_accounts is not None: + pulumi.set(__self__, "shared_accounts", shared_accounts) if snapshot_type is not None: pulumi.set(__self__, "snapshot_type", snapshot_type) if source_db_snapshot_identifier is not None: @@ -431,6 +451,18 @@ def presigned_url(self) -> Optional[pulumi.Input[str]]: def presigned_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "presigned_url", value) + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + + @shared_accounts.setter + def shared_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "shared_accounts", value) + @property @pulumi.getter(name="snapshotType") def snapshot_type(self) -> Optional[pulumi.Input[str]]: @@ -548,6 +580,7 @@ def __init__(__self__, kms_key_id: Optional[pulumi.Input[str]] = None, option_group_name: Optional[pulumi.Input[str]] = None, presigned_url: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, source_db_snapshot_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_custom_availability_zone: Optional[pulumi.Input[str]] = None, @@ -596,6 +629,7 @@ def __init__(__self__, :param pulumi.Input[str] kms_key_id: KMS key ID. :param pulumi.Input[str] option_group_name: The name of an option group to associate with the copy of the snapshot. :param pulumi.Input[str] presigned_url: he URL that contains a Signature Version 4 signed request. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[str] source_db_snapshot_identifier: Snapshot identifier of the source snapshot. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. :param pulumi.Input[str] target_custom_availability_zone: The external custom Availability Zone. @@ -663,6 +697,7 @@ def _internal_init(__self__, kms_key_id: Optional[pulumi.Input[str]] = None, option_group_name: Optional[pulumi.Input[str]] = None, presigned_url: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, source_db_snapshot_identifier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_custom_availability_zone: Optional[pulumi.Input[str]] = None, @@ -681,6 +716,7 @@ def _internal_init(__self__, __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["option_group_name"] = option_group_name __props__.__dict__["presigned_url"] = presigned_url + __props__.__dict__["shared_accounts"] = shared_accounts if source_db_snapshot_identifier is None and not opts.urn: raise TypeError("Missing required property 'source_db_snapshot_identifier'") __props__.__dict__["source_db_snapshot_identifier"] = source_db_snapshot_identifier @@ -727,6 +763,7 @@ def get(resource_name: str, option_group_name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, presigned_url: Optional[pulumi.Input[str]] = None, + shared_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, snapshot_type: Optional[pulumi.Input[str]] = None, source_db_snapshot_identifier: Optional[pulumi.Input[str]] = None, source_region: Optional[pulumi.Input[str]] = None, @@ -756,6 +793,7 @@ def get(resource_name: str, :param pulumi.Input[str] license_model: License model information for the restored DB instance. :param pulumi.Input[str] option_group_name: The name of an option group to associate with the copy of the snapshot. :param pulumi.Input[str] presigned_url: he URL that contains a Signature Version 4 signed request. + :param pulumi.Input[Sequence[pulumi.Input[str]]] shared_accounts: (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. :param pulumi.Input[str] source_db_snapshot_identifier: Snapshot identifier of the source snapshot. :param pulumi.Input[str] source_region: The region that the DB snapshot was created in or copied from. :param pulumi.Input[str] storage_type: Specifies the storage type associated with DB snapshot. @@ -783,6 +821,7 @@ def get(resource_name: str, __props__.__dict__["option_group_name"] = option_group_name __props__.__dict__["port"] = port __props__.__dict__["presigned_url"] = presigned_url + __props__.__dict__["shared_accounts"] = shared_accounts __props__.__dict__["snapshot_type"] = snapshot_type __props__.__dict__["source_db_snapshot_identifier"] = source_db_snapshot_identifier __props__.__dict__["source_region"] = source_region @@ -903,6 +942,14 @@ def presigned_url(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "presigned_url") + @property + @pulumi.getter(name="sharedAccounts") + def shared_accounts(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + (Optional) List of AWS Account ids to share snapshot with, use `all` to make snaphot public. + """ + return pulumi.get(self, "shared_accounts") + @property @pulumi.getter(name="snapshotType") def snapshot_type(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/sagemaker/_inputs.py b/sdk/python/pulumi_aws/sagemaker/_inputs.py index 83a8ad0b85f..7e89fc95f4f 100644 --- a/sdk/python/pulumi_aws/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws/sagemaker/_inputs.py @@ -9813,6 +9813,9 @@ class SpaceSpaceSettingsArgsDict(TypedDict): The kernel gateway app settings. See `kernel_gateway_app_settings` Block below. """ space_storage_settings: NotRequired[pulumi.Input['SpaceSpaceSettingsSpaceStorageSettingsArgsDict']] + """ + The storage settings. See `space_storage_settings` Block below. + """ elif False: SpaceSpaceSettingsArgsDict: TypeAlias = Mapping[str, Any] @@ -9833,6 +9836,7 @@ def __init__(__self__, *, :param pulumi.Input['SpaceSpaceSettingsJupyterLabAppSettingsArgs'] jupyter_lab_app_settings: The settings for the JupyterLab application. See `jupyter_lab_app_settings` Block below. :param pulumi.Input['SpaceSpaceSettingsJupyterServerAppSettingsArgs'] jupyter_server_app_settings: The Jupyter server's app settings. See `jupyter_server_app_settings` Block below. :param pulumi.Input['SpaceSpaceSettingsKernelGatewayAppSettingsArgs'] kernel_gateway_app_settings: The kernel gateway app settings. See `kernel_gateway_app_settings` Block below. + :param pulumi.Input['SpaceSpaceSettingsSpaceStorageSettingsArgs'] space_storage_settings: The storage settings. See `space_storage_settings` Block below. """ if app_type is not None: pulumi.set(__self__, "app_type", app_type) @@ -9924,6 +9928,9 @@ def kernel_gateway_app_settings(self, value: Optional[pulumi.Input['SpaceSpaceSe @property @pulumi.getter(name="spaceStorageSettings") def space_storage_settings(self) -> Optional[pulumi.Input['SpaceSpaceSettingsSpaceStorageSettingsArgs']]: + """ + The storage settings. See `space_storage_settings` Block below. + """ return pulumi.get(self, "space_storage_settings") @space_storage_settings.setter @@ -10800,6 +10807,9 @@ def sagemaker_image_version_arn(self, value: Optional[pulumi.Input[str]]): if not MYPY: class SpaceSpaceSettingsSpaceStorageSettingsArgsDict(TypedDict): ebs_storage_settings: pulumi.Input['SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgsDict'] + """ + A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + """ elif False: SpaceSpaceSettingsSpaceStorageSettingsArgsDict: TypeAlias = Mapping[str, Any] @@ -10807,11 +10817,17 @@ class SpaceSpaceSettingsSpaceStorageSettingsArgsDict(TypedDict): class SpaceSpaceSettingsSpaceStorageSettingsArgs: def __init__(__self__, *, ebs_storage_settings: pulumi.Input['SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs']): + """ + :param pulumi.Input['SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs'] ebs_storage_settings: A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + """ pulumi.set(__self__, "ebs_storage_settings", ebs_storage_settings) @property @pulumi.getter(name="ebsStorageSettings") def ebs_storage_settings(self) -> pulumi.Input['SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs']: + """ + A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + """ return pulumi.get(self, "ebs_storage_settings") @ebs_storage_settings.setter @@ -10822,6 +10838,9 @@ def ebs_storage_settings(self, value: pulumi.Input['SpaceSpaceSettingsSpaceStora if not MYPY: class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgsDict(TypedDict): ebs_volume_size_in_gb: pulumi.Input[int] + """ + The size of an EBS storage volume for a space. + """ elif False: SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgsDict: TypeAlias = Mapping[str, Any] @@ -10829,11 +10848,17 @@ class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgsDict(TypedDict class SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs: def __init__(__self__, *, ebs_volume_size_in_gb: pulumi.Input[int]): + """ + :param pulumi.Input[int] ebs_volume_size_in_gb: The size of an EBS storage volume for a space. + """ pulumi.set(__self__, "ebs_volume_size_in_gb", ebs_volume_size_in_gb) @property @pulumi.getter(name="ebsVolumeSizeInGb") def ebs_volume_size_in_gb(self) -> pulumi.Input[int]: + """ + The size of an EBS storage volume for a space. + """ return pulumi.get(self, "ebs_volume_size_in_gb") @ebs_volume_size_in_gb.setter diff --git a/sdk/python/pulumi_aws/sagemaker/outputs.py b/sdk/python/pulumi_aws/sagemaker/outputs.py index 531adaadffb..08cd523c071 100644 --- a/sdk/python/pulumi_aws/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws/sagemaker/outputs.py @@ -8342,6 +8342,7 @@ def __init__(__self__, *, :param 'SpaceSpaceSettingsJupyterLabAppSettingsArgs' jupyter_lab_app_settings: The settings for the JupyterLab application. See `jupyter_lab_app_settings` Block below. :param 'SpaceSpaceSettingsJupyterServerAppSettingsArgs' jupyter_server_app_settings: The Jupyter server's app settings. See `jupyter_server_app_settings` Block below. :param 'SpaceSpaceSettingsKernelGatewayAppSettingsArgs' kernel_gateway_app_settings: The kernel gateway app settings. See `kernel_gateway_app_settings` Block below. + :param 'SpaceSpaceSettingsSpaceStorageSettingsArgs' space_storage_settings: The storage settings. See `space_storage_settings` Block below. """ if app_type is not None: pulumi.set(__self__, "app_type", app_type) @@ -8409,6 +8410,9 @@ def kernel_gateway_app_settings(self) -> Optional['outputs.SpaceSpaceSettingsKer @property @pulumi.getter(name="spaceStorageSettings") def space_storage_settings(self) -> Optional['outputs.SpaceSpaceSettingsSpaceStorageSettings']: + """ + The storage settings. See `space_storage_settings` Block below. + """ return pulumi.get(self, "space_storage_settings") @@ -9213,11 +9217,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, ebs_storage_settings: 'outputs.SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings'): + """ + :param 'SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettingsArgs' ebs_storage_settings: A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + """ pulumi.set(__self__, "ebs_storage_settings", ebs_storage_settings) @property @pulumi.getter(name="ebsStorageSettings") def ebs_storage_settings(self) -> 'outputs.SpaceSpaceSettingsSpaceStorageSettingsEbsStorageSettings': + """ + A collection of EBS storage settings for a space. See `ebs_storage_settings` Block below. + """ return pulumi.get(self, "ebs_storage_settings") @@ -9242,11 +9252,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, ebs_volume_size_in_gb: int): + """ + :param int ebs_volume_size_in_gb: The size of an EBS storage volume for a space. + """ pulumi.set(__self__, "ebs_volume_size_in_gb", ebs_volume_size_in_gb) @property @pulumi.getter(name="ebsVolumeSizeInGb") def ebs_volume_size_in_gb(self) -> int: + """ + The size of an EBS storage volume for a space. + """ return pulumi.get(self, "ebs_volume_size_in_gb") diff --git a/sdk/python/pulumi_aws/sagemaker/space.py b/sdk/python/pulumi_aws/sagemaker/space.py index 2daa58e8cfb..b4ee22dbdcd 100644 --- a/sdk/python/pulumi_aws/sagemaker/space.py +++ b/sdk/python/pulumi_aws/sagemaker/space.py @@ -32,10 +32,10 @@ def __init__(__self__, *, The set of arguments for constructing a Space resource. :param pulumi.Input[str] domain_id: The ID of the associated Domain. :param pulumi.Input[str] space_name: The name of the space. - :param pulumi.Input['SpaceOwnershipSettingsArgs'] ownership_settings: A collection of ownership settings. See `ownership_settings` Block below. + :param pulumi.Input['SpaceOwnershipSettingsArgs'] ownership_settings: A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. :param pulumi.Input[str] space_display_name: The name of the space that appears in the SageMaker Studio UI. :param pulumi.Input['SpaceSpaceSettingsArgs'] space_settings: A collection of space settings. See `space_settings` Block below. - :param pulumi.Input['SpaceSpaceSharingSettingsArgs'] space_sharing_settings: A collection of space sharing settings. See `space_sharing_settings` Block below. + :param pulumi.Input['SpaceSpaceSharingSettingsArgs'] space_sharing_settings: A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. """ pulumi.set(__self__, "domain_id", domain_id) @@ -79,7 +79,7 @@ def space_name(self, value: pulumi.Input[str]): @pulumi.getter(name="ownershipSettings") def ownership_settings(self) -> Optional[pulumi.Input['SpaceOwnershipSettingsArgs']]: """ - A collection of ownership settings. See `ownership_settings` Block below. + A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. """ return pulumi.get(self, "ownership_settings") @@ -115,7 +115,7 @@ def space_settings(self, value: Optional[pulumi.Input['SpaceSpaceSettingsArgs']] @pulumi.getter(name="spaceSharingSettings") def space_sharing_settings(self) -> Optional[pulumi.Input['SpaceSpaceSharingSettingsArgs']]: """ - A collection of space sharing settings. See `space_sharing_settings` Block below. + A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. """ return pulumi.get(self, "space_sharing_settings") @@ -155,11 +155,11 @@ def __init__(__self__, *, :param pulumi.Input[str] arn: The space's Amazon Resource Name (ARN). :param pulumi.Input[str] domain_id: The ID of the associated Domain. :param pulumi.Input[str] home_efs_file_system_uid: The ID of the space's profile in the Amazon Elastic File System volume. - :param pulumi.Input['SpaceOwnershipSettingsArgs'] ownership_settings: A collection of ownership settings. See `ownership_settings` Block below. + :param pulumi.Input['SpaceOwnershipSettingsArgs'] ownership_settings: A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. :param pulumi.Input[str] space_display_name: The name of the space that appears in the SageMaker Studio UI. :param pulumi.Input[str] space_name: The name of the space. :param pulumi.Input['SpaceSpaceSettingsArgs'] space_settings: A collection of space settings. See `space_settings` Block below. - :param pulumi.Input['SpaceSpaceSharingSettingsArgs'] space_sharing_settings: A collection of space sharing settings. See `space_sharing_settings` Block below. + :param pulumi.Input['SpaceSpaceSharingSettingsArgs'] space_sharing_settings: A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] url: Returns the URL of the space. If the space is created with Amazon Web Services IAM Identity Center (Successor to Amazon Web Services Single Sign-On) authentication, users can navigate to the URL after appending the respective redirect parameter for the application type to be federated through Amazon Web Services IAM Identity Center. @@ -230,7 +230,7 @@ def home_efs_file_system_uid(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="ownershipSettings") def ownership_settings(self) -> Optional[pulumi.Input['SpaceOwnershipSettingsArgs']]: """ - A collection of ownership settings. See `ownership_settings` Block below. + A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. """ return pulumi.get(self, "ownership_settings") @@ -278,7 +278,7 @@ def space_settings(self, value: Optional[pulumi.Input['SpaceSpaceSettingsArgs']] @pulumi.getter(name="spaceSharingSettings") def space_sharing_settings(self) -> Optional[pulumi.Input['SpaceSpaceSharingSettingsArgs']]: """ - A collection of space sharing settings. See `space_sharing_settings` Block below. + A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. """ return pulumi.get(self, "space_sharing_settings") @@ -364,11 +364,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] domain_id: The ID of the associated Domain. - :param pulumi.Input[Union['SpaceOwnershipSettingsArgs', 'SpaceOwnershipSettingsArgsDict']] ownership_settings: A collection of ownership settings. See `ownership_settings` Block below. + :param pulumi.Input[Union['SpaceOwnershipSettingsArgs', 'SpaceOwnershipSettingsArgsDict']] ownership_settings: A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. :param pulumi.Input[str] space_display_name: The name of the space that appears in the SageMaker Studio UI. :param pulumi.Input[str] space_name: The name of the space. :param pulumi.Input[Union['SpaceSpaceSettingsArgs', 'SpaceSpaceSettingsArgsDict']] space_settings: A collection of space settings. See `space_settings` Block below. - :param pulumi.Input[Union['SpaceSpaceSharingSettingsArgs', 'SpaceSpaceSharingSettingsArgsDict']] space_sharing_settings: A collection of space sharing settings. See `space_sharing_settings` Block below. + :param pulumi.Input[Union['SpaceSpaceSharingSettingsArgs', 'SpaceSpaceSharingSettingsArgsDict']] space_sharing_settings: A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. """ ... @@ -478,11 +478,11 @@ def get(resource_name: str, :param pulumi.Input[str] arn: The space's Amazon Resource Name (ARN). :param pulumi.Input[str] domain_id: The ID of the associated Domain. :param pulumi.Input[str] home_efs_file_system_uid: The ID of the space's profile in the Amazon Elastic File System volume. - :param pulumi.Input[Union['SpaceOwnershipSettingsArgs', 'SpaceOwnershipSettingsArgsDict']] ownership_settings: A collection of ownership settings. See `ownership_settings` Block below. + :param pulumi.Input[Union['SpaceOwnershipSettingsArgs', 'SpaceOwnershipSettingsArgsDict']] ownership_settings: A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. :param pulumi.Input[str] space_display_name: The name of the space that appears in the SageMaker Studio UI. :param pulumi.Input[str] space_name: The name of the space. :param pulumi.Input[Union['SpaceSpaceSettingsArgs', 'SpaceSpaceSettingsArgsDict']] space_settings: A collection of space settings. See `space_settings` Block below. - :param pulumi.Input[Union['SpaceSpaceSharingSettingsArgs', 'SpaceSpaceSharingSettingsArgsDict']] space_sharing_settings: A collection of space sharing settings. See `space_sharing_settings` Block below. + :param pulumi.Input[Union['SpaceSpaceSharingSettingsArgs', 'SpaceSpaceSharingSettingsArgsDict']] space_sharing_settings: A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] url: Returns the URL of the space. If the space is created with Amazon Web Services IAM Identity Center (Successor to Amazon Web Services Single Sign-On) authentication, users can navigate to the URL after appending the respective redirect parameter for the application type to be federated through Amazon Web Services IAM Identity Center. @@ -532,7 +532,7 @@ def home_efs_file_system_uid(self) -> pulumi.Output[str]: @pulumi.getter(name="ownershipSettings") def ownership_settings(self) -> pulumi.Output[Optional['outputs.SpaceOwnershipSettings']]: """ - A collection of ownership settings. See `ownership_settings` Block below. + A collection of ownership settings. Required if `space_sharing_settings` is set. See `ownership_settings` Block below. """ return pulumi.get(self, "ownership_settings") @@ -564,7 +564,7 @@ def space_settings(self) -> pulumi.Output[Optional['outputs.SpaceSpaceSettings'] @pulumi.getter(name="spaceSharingSettings") def space_sharing_settings(self) -> pulumi.Output[Optional['outputs.SpaceSpaceSharingSettings']]: """ - A collection of space sharing settings. See `space_sharing_settings` Block below. + A collection of space sharing settings. Required if `ownership_settings` is set. See `space_sharing_settings` Block below. """ return pulumi.get(self, "space_sharing_settings") diff --git a/sdk/python/pulumi_aws/securitylake/_inputs.py b/sdk/python/pulumi_aws/securitylake/_inputs.py index c07784c59e8..94c857bd779 100644 --- a/sdk/python/pulumi_aws/securitylake/_inputs.py +++ b/sdk/python/pulumi_aws/securitylake/_inputs.py @@ -988,11 +988,11 @@ def __init__(__self__): class SubscriberSourceArgsDict(TypedDict): aws_log_source_resource: NotRequired[pulumi.Input['SubscriberSourceAwsLogSourceResourceArgsDict']] """ - Amazon Security Lake supports log and event collection for natively supported AWS services. + Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. """ custom_log_source_resource: NotRequired[pulumi.Input['SubscriberSourceCustomLogSourceResourceArgsDict']] """ - Amazon Security Lake supports custom source types. + Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. """ elif False: SubscriberSourceArgsDict: TypeAlias = Mapping[str, Any] @@ -1003,8 +1003,8 @@ def __init__(__self__, *, aws_log_source_resource: Optional[pulumi.Input['SubscriberSourceAwsLogSourceResourceArgs']] = None, custom_log_source_resource: Optional[pulumi.Input['SubscriberSourceCustomLogSourceResourceArgs']] = None): """ - :param pulumi.Input['SubscriberSourceAwsLogSourceResourceArgs'] aws_log_source_resource: Amazon Security Lake supports log and event collection for natively supported AWS services. - :param pulumi.Input['SubscriberSourceCustomLogSourceResourceArgs'] custom_log_source_resource: Amazon Security Lake supports custom source types. + :param pulumi.Input['SubscriberSourceAwsLogSourceResourceArgs'] aws_log_source_resource: Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. + :param pulumi.Input['SubscriberSourceCustomLogSourceResourceArgs'] custom_log_source_resource: Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. """ if aws_log_source_resource is not None: pulumi.set(__self__, "aws_log_source_resource", aws_log_source_resource) @@ -1015,7 +1015,7 @@ def __init__(__self__, *, @pulumi.getter(name="awsLogSourceResource") def aws_log_source_resource(self) -> Optional[pulumi.Input['SubscriberSourceAwsLogSourceResourceArgs']]: """ - Amazon Security Lake supports log and event collection for natively supported AWS services. + Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. """ return pulumi.get(self, "aws_log_source_resource") @@ -1027,7 +1027,7 @@ def aws_log_source_resource(self, value: Optional[pulumi.Input['SubscriberSource @pulumi.getter(name="customLogSourceResource") def custom_log_source_resource(self) -> Optional[pulumi.Input['SubscriberSourceCustomLogSourceResourceArgs']]: """ - Amazon Security Lake supports custom source types. + Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. """ return pulumi.get(self, "custom_log_source_resource") @@ -1040,11 +1040,11 @@ def custom_log_source_resource(self, value: Optional[pulumi.Input['SubscriberSou class SubscriberSourceAwsLogSourceResourceArgsDict(TypedDict): source_name: pulumi.Input[str] """ - The name for a third-party custom source. This must be a Regionally unique value. + Provides data expiration details of Amazon Security Lake object. """ source_version: NotRequired[pulumi.Input[str]] """ - The version for a third-party custom source. This must be a Regionally unique value. + Provides data storage transition details of Amazon Security Lake object. """ elif False: SubscriberSourceAwsLogSourceResourceArgsDict: TypeAlias = Mapping[str, Any] @@ -1055,8 +1055,8 @@ def __init__(__self__, *, source_name: pulumi.Input[str], source_version: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] source_name: The name for a third-party custom source. This must be a Regionally unique value. - :param pulumi.Input[str] source_version: The version for a third-party custom source. This must be a Regionally unique value. + :param pulumi.Input[str] source_name: Provides data expiration details of Amazon Security Lake object. + :param pulumi.Input[str] source_version: Provides data storage transition details of Amazon Security Lake object. """ pulumi.set(__self__, "source_name", source_name) if source_version is not None: @@ -1066,7 +1066,7 @@ def __init__(__self__, *, @pulumi.getter(name="sourceName") def source_name(self) -> pulumi.Input[str]: """ - The name for a third-party custom source. This must be a Regionally unique value. + Provides data expiration details of Amazon Security Lake object. """ return pulumi.get(self, "source_name") @@ -1078,7 +1078,7 @@ def source_name(self, value: pulumi.Input[str]): @pulumi.getter(name="sourceVersion") def source_version(self) -> Optional[pulumi.Input[str]]: """ - The version for a third-party custom source. This must be a Regionally unique value. + Provides data storage transition details of Amazon Security Lake object. """ return pulumi.get(self, "source_version") @@ -1095,9 +1095,12 @@ class SubscriberSourceCustomLogSourceResourceArgsDict(TypedDict): """ attributes: NotRequired[pulumi.Input[Sequence[pulumi.Input['SubscriberSourceCustomLogSourceResourceAttributeArgsDict']]]] """ - The attributes of a third-party custom source. + The attributes of the third-party custom source. See `attributes` Block below. """ providers: NotRequired[pulumi.Input[Sequence[pulumi.Input['SubscriberSourceCustomLogSourceResourceProviderArgsDict']]]] + """ + The details of the log provider for the third-party custom source. See `provider` Block below. + """ source_version: NotRequired[pulumi.Input[str]] """ The version for a third-party custom source. This must be a Regionally unique value. @@ -1114,7 +1117,8 @@ def __init__(__self__, *, source_version: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] source_name: The name for a third-party custom source. This must be a Regionally unique value. - :param pulumi.Input[Sequence[pulumi.Input['SubscriberSourceCustomLogSourceResourceAttributeArgs']]] attributes: The attributes of a third-party custom source. + :param pulumi.Input[Sequence[pulumi.Input['SubscriberSourceCustomLogSourceResourceAttributeArgs']]] attributes: The attributes of the third-party custom source. See `attributes` Block below. + :param pulumi.Input[Sequence[pulumi.Input['SubscriberSourceCustomLogSourceResourceProviderArgs']]] providers: The details of the log provider for the third-party custom source. See `provider` Block below. :param pulumi.Input[str] source_version: The version for a third-party custom source. This must be a Regionally unique value. """ pulumi.set(__self__, "source_name", source_name) @@ -1141,7 +1145,7 @@ def source_name(self, value: pulumi.Input[str]): @pulumi.getter def attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubscriberSourceCustomLogSourceResourceAttributeArgs']]]]: """ - The attributes of a third-party custom source. + The attributes of the third-party custom source. See `attributes` Block below. """ return pulumi.get(self, "attributes") @@ -1152,6 +1156,9 @@ def attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Subscri @property @pulumi.getter def providers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubscriberSourceCustomLogSourceResourceProviderArgs']]]]: + """ + The details of the log provider for the third-party custom source. See `provider` Block below. + """ return pulumi.get(self, "providers") @providers.setter diff --git a/sdk/python/pulumi_aws/securitylake/outputs.py b/sdk/python/pulumi_aws/securitylake/outputs.py index 8c7b52d81ce..db67dbf7714 100644 --- a/sdk/python/pulumi_aws/securitylake/outputs.py +++ b/sdk/python/pulumi_aws/securitylake/outputs.py @@ -833,8 +833,8 @@ def __init__(__self__, *, aws_log_source_resource: Optional['outputs.SubscriberSourceAwsLogSourceResource'] = None, custom_log_source_resource: Optional['outputs.SubscriberSourceCustomLogSourceResource'] = None): """ - :param 'SubscriberSourceAwsLogSourceResourceArgs' aws_log_source_resource: Amazon Security Lake supports log and event collection for natively supported AWS services. - :param 'SubscriberSourceCustomLogSourceResourceArgs' custom_log_source_resource: Amazon Security Lake supports custom source types. + :param 'SubscriberSourceAwsLogSourceResourceArgs' aws_log_source_resource: Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. + :param 'SubscriberSourceCustomLogSourceResourceArgs' custom_log_source_resource: Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. """ if aws_log_source_resource is not None: pulumi.set(__self__, "aws_log_source_resource", aws_log_source_resource) @@ -845,7 +845,7 @@ def __init__(__self__, *, @pulumi.getter(name="awsLogSourceResource") def aws_log_source_resource(self) -> Optional['outputs.SubscriberSourceAwsLogSourceResource']: """ - Amazon Security Lake supports log and event collection for natively supported AWS services. + Amazon Security Lake supports log and event collection for natively supported AWS services. See `aws_log_source_resource` Block below. """ return pulumi.get(self, "aws_log_source_resource") @@ -853,7 +853,7 @@ def aws_log_source_resource(self) -> Optional['outputs.SubscriberSourceAwsLogSou @pulumi.getter(name="customLogSourceResource") def custom_log_source_resource(self) -> Optional['outputs.SubscriberSourceCustomLogSourceResource']: """ - Amazon Security Lake supports custom source types. + Amazon Security Lake supports custom source types. See `custom_log_source_resource` Block below. """ return pulumi.get(self, "custom_log_source_resource") @@ -883,8 +883,8 @@ def __init__(__self__, *, source_name: str, source_version: Optional[str] = None): """ - :param str source_name: The name for a third-party custom source. This must be a Regionally unique value. - :param str source_version: The version for a third-party custom source. This must be a Regionally unique value. + :param str source_name: Provides data expiration details of Amazon Security Lake object. + :param str source_version: Provides data storage transition details of Amazon Security Lake object. """ pulumi.set(__self__, "source_name", source_name) if source_version is not None: @@ -894,7 +894,7 @@ def __init__(__self__, *, @pulumi.getter(name="sourceName") def source_name(self) -> str: """ - The name for a third-party custom source. This must be a Regionally unique value. + Provides data expiration details of Amazon Security Lake object. """ return pulumi.get(self, "source_name") @@ -902,7 +902,7 @@ def source_name(self) -> str: @pulumi.getter(name="sourceVersion") def source_version(self) -> Optional[str]: """ - The version for a third-party custom source. This must be a Regionally unique value. + Provides data storage transition details of Amazon Security Lake object. """ return pulumi.get(self, "source_version") @@ -935,7 +935,8 @@ def __init__(__self__, *, source_version: Optional[str] = None): """ :param str source_name: The name for a third-party custom source. This must be a Regionally unique value. - :param Sequence['SubscriberSourceCustomLogSourceResourceAttributeArgs'] attributes: The attributes of a third-party custom source. + :param Sequence['SubscriberSourceCustomLogSourceResourceAttributeArgs'] attributes: The attributes of the third-party custom source. See `attributes` Block below. + :param Sequence['SubscriberSourceCustomLogSourceResourceProviderArgs'] providers: The details of the log provider for the third-party custom source. See `provider` Block below. :param str source_version: The version for a third-party custom source. This must be a Regionally unique value. """ pulumi.set(__self__, "source_name", source_name) @@ -958,13 +959,16 @@ def source_name(self) -> str: @pulumi.getter def attributes(self) -> Optional[Sequence['outputs.SubscriberSourceCustomLogSourceResourceAttribute']]: """ - The attributes of a third-party custom source. + The attributes of the third-party custom source. See `attributes` Block below. """ return pulumi.get(self, "attributes") @property @pulumi.getter def providers(self) -> Optional[Sequence['outputs.SubscriberSourceCustomLogSourceResourceProvider']]: + """ + The details of the log provider for the third-party custom source. See `provider` Block below. + """ return pulumi.get(self, "providers") @property diff --git a/sdk/python/pulumi_aws/securitylake/subscriber.py b/sdk/python/pulumi_aws/securitylake/subscriber.py index f99e57765d0..eed4cc67c8b 100644 --- a/sdk/python/pulumi_aws/securitylake/subscriber.py +++ b/sdk/python/pulumi_aws/securitylake/subscriber.py @@ -30,9 +30,10 @@ def __init__(__self__, *, timeouts: Optional[pulumi.Input['SubscriberTimeoutsArgs']] = None): """ The set of arguments for constructing a Subscriber resource. - :param pulumi.Input['SubscriberSourceArgs'] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + :param pulumi.Input[str] access_type: The Amazon S3 or Lake Formation access type. + :param pulumi.Input['SubscriberSourceArgs'] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. :param pulumi.Input[str] subscriber_description: The description for your subscriber account in Security Lake. - :param pulumi.Input['SubscriberSubscriberIdentityArgs'] subscriber_identity: The AWS identity used to access your data. + :param pulumi.Input['SubscriberSubscriberIdentityArgs'] subscriber_identity: The AWS identity used to access your data. See `subscriber_identity` Block below. :param pulumi.Input[str] subscriber_name: The name of your Security Lake subscriber account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. """ @@ -54,6 +55,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="accessType") def access_type(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon S3 or Lake Formation access type. + """ return pulumi.get(self, "access_type") @access_type.setter @@ -64,7 +68,7 @@ def access_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def source(self) -> Optional[pulumi.Input['SubscriberSourceArgs']]: """ - The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. """ return pulumi.get(self, "source") @@ -88,7 +92,7 @@ def subscriber_description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="subscriberIdentity") def subscriber_identity(self) -> Optional[pulumi.Input['SubscriberSubscriberIdentityArgs']]: """ - The AWS identity used to access your data. + The AWS identity used to access your data. See `subscriber_identity` Block below. """ return pulumi.get(self, "subscriber_identity") @@ -150,15 +154,16 @@ def __init__(__self__, *, timeouts: Optional[pulumi.Input['SubscriberTimeoutsArgs']] = None): """ Input properties used for looking up and filtering Subscriber resources. + :param pulumi.Input[str] access_type: The Amazon S3 or Lake Formation access type. :param pulumi.Input[str] arn: ARN of the Data Lake. :param pulumi.Input[str] resource_share_arn: The Amazon Resource Name (ARN) which uniquely defines the AWS RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. :param pulumi.Input[str] resource_share_name: The name of the resource share. :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] s3_bucket_arn: The ARN for the Amazon Security Lake Amazon S3 bucket. - :param pulumi.Input['SubscriberSourceArgs'] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + :param pulumi.Input['SubscriberSourceArgs'] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. :param pulumi.Input[str] subscriber_description: The description for your subscriber account in Security Lake. :param pulumi.Input[str] subscriber_endpoint: The subscriber endpoint to which exception messages are posted. - :param pulumi.Input['SubscriberSubscriberIdentityArgs'] subscriber_identity: The AWS identity used to access your data. + :param pulumi.Input['SubscriberSubscriberIdentityArgs'] subscriber_identity: The AWS identity used to access your data. See `subscriber_identity` Block below. :param pulumi.Input[str] subscriber_name: The name of your Security Lake subscriber account. :param pulumi.Input[str] subscriber_status: The subscriber status of the Amazon Security Lake subscriber account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. @@ -201,6 +206,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="accessType") def access_type(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon S3 or Lake Formation access type. + """ return pulumi.get(self, "access_type") @access_type.setter @@ -271,7 +279,7 @@ def s3_bucket_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def source(self) -> Optional[pulumi.Input['SubscriberSourceArgs']]: """ - The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. """ return pulumi.get(self, "source") @@ -307,7 +315,7 @@ def subscriber_endpoint(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="subscriberIdentity") def subscriber_identity(self) -> Optional[pulumi.Input['SubscriberSubscriberIdentityArgs']]: """ - The AWS identity used to access your data. + The AWS identity used to access your data. See `subscriber_identity` Block below. """ return pulumi.get(self, "subscriber_identity") @@ -424,9 +432,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['SubscriberSourceArgs', 'SubscriberSourceArgsDict']] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + :param pulumi.Input[str] access_type: The Amazon S3 or Lake Formation access type. + :param pulumi.Input[Union['SubscriberSourceArgs', 'SubscriberSourceArgsDict']] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. :param pulumi.Input[str] subscriber_description: The description for your subscriber account in Security Lake. - :param pulumi.Input[Union['SubscriberSubscriberIdentityArgs', 'SubscriberSubscriberIdentityArgsDict']] subscriber_identity: The AWS identity used to access your data. + :param pulumi.Input[Union['SubscriberSubscriberIdentityArgs', 'SubscriberSubscriberIdentityArgsDict']] subscriber_identity: The AWS identity used to access your data. See `subscriber_identity` Block below. :param pulumi.Input[str] subscriber_name: The name of your Security Lake subscriber account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. """ @@ -549,15 +558,16 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_type: The Amazon S3 or Lake Formation access type. :param pulumi.Input[str] arn: ARN of the Data Lake. :param pulumi.Input[str] resource_share_arn: The Amazon Resource Name (ARN) which uniquely defines the AWS RAM resource share. Before accepting the RAM resource share invitation, you can view details related to the RAM resource share. :param pulumi.Input[str] resource_share_name: The name of the resource share. :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] s3_bucket_arn: The ARN for the Amazon Security Lake Amazon S3 bucket. - :param pulumi.Input[Union['SubscriberSourceArgs', 'SubscriberSourceArgsDict']] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + :param pulumi.Input[Union['SubscriberSourceArgs', 'SubscriberSourceArgsDict']] source: The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. :param pulumi.Input[str] subscriber_description: The description for your subscriber account in Security Lake. :param pulumi.Input[str] subscriber_endpoint: The subscriber endpoint to which exception messages are posted. - :param pulumi.Input[Union['SubscriberSubscriberIdentityArgs', 'SubscriberSubscriberIdentityArgsDict']] subscriber_identity: The AWS identity used to access your data. + :param pulumi.Input[Union['SubscriberSubscriberIdentityArgs', 'SubscriberSubscriberIdentityArgsDict']] subscriber_identity: The AWS identity used to access your data. See `subscriber_identity` Block below. :param pulumi.Input[str] subscriber_name: The name of your Security Lake subscriber account. :param pulumi.Input[str] subscriber_status: The subscriber status of the Amazon Security Lake subscriber account. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map 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. @@ -587,6 +597,9 @@ def get(resource_name: str, @property @pulumi.getter(name="accessType") def access_type(self) -> pulumi.Output[str]: + """ + The Amazon S3 or Lake Formation access type. + """ return pulumi.get(self, "access_type") @property @@ -633,7 +646,7 @@ def s3_bucket_arn(self) -> pulumi.Output[str]: @pulumi.getter def source(self) -> pulumi.Output[Optional['outputs.SubscriberSource']]: """ - The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. + The supported AWS services from which logs and events are collected. Security Lake supports log and event collection for natively supported AWS services. See `source` Blocks below. """ return pulumi.get(self, "source") @@ -657,7 +670,7 @@ def subscriber_endpoint(self) -> pulumi.Output[str]: @pulumi.getter(name="subscriberIdentity") def subscriber_identity(self) -> pulumi.Output[Optional['outputs.SubscriberSubscriberIdentity']]: """ - The AWS identity used to access your data. + The AWS identity used to access your data. See `subscriber_identity` Block below. """ return pulumi.get(self, "subscriber_identity") diff --git a/sdk/python/pulumi_aws/sesv2/_inputs.py b/sdk/python/pulumi_aws/sesv2/_inputs.py index 03e796f38b3..649371747b9 100644 --- a/sdk/python/pulumi_aws/sesv2/_inputs.py +++ b/sdk/python/pulumi_aws/sesv2/_inputs.py @@ -27,6 +27,8 @@ 'ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgsDict', 'ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs', 'ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgsDict', + 'ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs', + 'ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgsDict', 'ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs', 'ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgsDict', 'ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs', @@ -176,28 +178,27 @@ class ConfigurationSetEventDestinationEventDestinationArgsDict(TypedDict): matching_event_types: pulumi.Input[Sequence[pulumi.Input[str]]] """ An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - - The following arguments are optional: """ cloud_watch_destination: NotRequired[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgsDict']] """ - An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. """ enabled: NotRequired[pulumi.Input[bool]] """ When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. """ + event_bridge_destination: NotRequired[pulumi.Input['ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgsDict']] kinesis_firehose_destination: NotRequired[pulumi.Input['ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgsDict']] """ - An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. """ pinpoint_destination: NotRequired[pulumi.Input['ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgsDict']] """ - An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. """ sns_destination: NotRequired[pulumi.Input['ConfigurationSetEventDestinationEventDestinationSnsDestinationArgsDict']] """ - An object that defines an Amazon SNS destination for email events. See sns_destination below. + An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. """ elif False: ConfigurationSetEventDestinationEventDestinationArgsDict: TypeAlias = Mapping[str, Any] @@ -208,24 +209,25 @@ def __init__(__self__, *, matching_event_types: pulumi.Input[Sequence[pulumi.Input[str]]], cloud_watch_destination: Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs']] = None, enabled: Optional[pulumi.Input[bool]] = None, + event_bridge_destination: Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs']] = None, kinesis_firehose_destination: Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs']] = None, pinpoint_destination: Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs']] = None, sns_destination: Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs']] = None): """ :param pulumi.Input[Sequence[pulumi.Input[str]]] matching_event_types: An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - - The following arguments are optional: - :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs'] cloud_watch_destination: An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs'] cloud_watch_destination: An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. :param pulumi.Input[bool] enabled: When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. - :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs'] kinesis_firehose_destination: An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. - :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs'] pinpoint_destination: An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. - :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs'] sns_destination: An object that defines an Amazon SNS destination for email events. See sns_destination below. + :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs'] kinesis_firehose_destination: An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. + :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs'] pinpoint_destination: An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. + :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs'] sns_destination: An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. """ pulumi.set(__self__, "matching_event_types", matching_event_types) if cloud_watch_destination is not None: pulumi.set(__self__, "cloud_watch_destination", cloud_watch_destination) if enabled is not None: pulumi.set(__self__, "enabled", enabled) + if event_bridge_destination is not None: + pulumi.set(__self__, "event_bridge_destination", event_bridge_destination) if kinesis_firehose_destination is not None: pulumi.set(__self__, "kinesis_firehose_destination", kinesis_firehose_destination) if pinpoint_destination is not None: @@ -238,8 +240,6 @@ def __init__(__self__, *, def matching_event_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - - The following arguments are optional: """ return pulumi.get(self, "matching_event_types") @@ -251,7 +251,7 @@ def matching_event_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]) @pulumi.getter(name="cloudWatchDestination") def cloud_watch_destination(self) -> Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs']]: """ - An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. """ return pulumi.get(self, "cloud_watch_destination") @@ -271,11 +271,20 @@ def enabled(self) -> Optional[pulumi.Input[bool]]: def enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enabled", value) + @property + @pulumi.getter(name="eventBridgeDestination") + def event_bridge_destination(self) -> Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs']]: + return pulumi.get(self, "event_bridge_destination") + + @event_bridge_destination.setter + def event_bridge_destination(self, value: Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs']]): + pulumi.set(self, "event_bridge_destination", value) + @property @pulumi.getter(name="kinesisFirehoseDestination") def kinesis_firehose_destination(self) -> Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs']]: """ - An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. """ return pulumi.get(self, "kinesis_firehose_destination") @@ -287,7 +296,7 @@ def kinesis_firehose_destination(self, value: Optional[pulumi.Input['Configurati @pulumi.getter(name="pinpointDestination") def pinpoint_destination(self) -> Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs']]: """ - An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. """ return pulumi.get(self, "pinpoint_destination") @@ -299,7 +308,7 @@ def pinpoint_destination(self, value: Optional[pulumi.Input['ConfigurationSetEve @pulumi.getter(name="snsDestination") def sns_destination(self) -> Optional[pulumi.Input['ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs']]: """ - An object that defines an Amazon SNS destination for email events. See sns_destination below. + An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. """ return pulumi.get(self, "sns_destination") @@ -312,7 +321,7 @@ def sns_destination(self, value: Optional[pulumi.Input['ConfigurationSetEventDes class ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgsDict(TypedDict): dimension_configurations: pulumi.Input[Sequence[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgsDict']]] """ - An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. """ elif False: ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgsDict: TypeAlias = Mapping[str, Any] @@ -322,7 +331,7 @@ class ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs: def __init__(__self__, *, dimension_configurations: pulumi.Input[Sequence[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs']]]): """ - :param pulumi.Input[Sequence[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs']]] dimension_configurations: An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + :param pulumi.Input[Sequence[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs']]] dimension_configurations: An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. """ pulumi.set(__self__, "dimension_configurations", dimension_configurations) @@ -330,7 +339,7 @@ def __init__(__self__, *, @pulumi.getter(name="dimensionConfigurations") def dimension_configurations(self) -> pulumi.Input[Sequence[pulumi.Input['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs']]]: """ - An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. """ return pulumi.get(self, "dimension_configurations") @@ -408,6 +417,37 @@ def dimension_value_source(self, value: pulumi.Input[str]): pulumi.set(self, "dimension_value_source", value) +if not MYPY: + class ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgsDict(TypedDict): + event_bus_arn: pulumi.Input[str] + """ + The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + """ +elif False: + ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationArgs: + def __init__(__self__, *, + event_bus_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] event_bus_arn: The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + """ + pulumi.set(__self__, "event_bus_arn", event_bus_arn) + + @property + @pulumi.getter(name="eventBusArn") + def event_bus_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + """ + return pulumi.get(self, "event_bus_arn") + + @event_bus_arn.setter + def event_bus_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "event_bus_arn", value) + + if not MYPY: class ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgsDict(TypedDict): delivery_stream_arn: pulumi.Input[str] diff --git a/sdk/python/pulumi_aws/sesv2/configuration_set_event_destination.py b/sdk/python/pulumi_aws/sesv2/configuration_set_event_destination.py index 1d850168a4a..98d769faf90 100644 --- a/sdk/python/pulumi_aws/sesv2/configuration_set_event_destination.py +++ b/sdk/python/pulumi_aws/sesv2/configuration_set_event_destination.py @@ -28,7 +28,7 @@ def __init__(__self__, *, The set of arguments for constructing a ConfigurationSetEventDestination resource. :param pulumi.Input[str] configuration_set_name: The name of the configuration set. :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationArgs'] event_destination: A name that identifies the event destination within the configuration set. - :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See event_destination below. + :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See `event_destination` Block for details. """ pulumi.set(__self__, "configuration_set_name", configuration_set_name) pulumi.set(__self__, "event_destination", event_destination) @@ -62,7 +62,7 @@ def event_destination(self, value: pulumi.Input['ConfigurationSetEventDestinatio @pulumi.getter(name="eventDestinationName") def event_destination_name(self) -> pulumi.Input[str]: """ - An object that defines the event destination. See event_destination below. + An object that defines the event destination. See `event_destination` Block for details. """ return pulumi.get(self, "event_destination_name") @@ -81,7 +81,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering ConfigurationSetEventDestination resources. :param pulumi.Input[str] configuration_set_name: The name of the configuration set. :param pulumi.Input['ConfigurationSetEventDestinationEventDestinationArgs'] event_destination: A name that identifies the event destination within the configuration set. - :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See event_destination below. + :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See `event_destination` Block for details. """ if configuration_set_name is not None: pulumi.set(__self__, "configuration_set_name", configuration_set_name) @@ -118,7 +118,7 @@ def event_destination(self, value: Optional[pulumi.Input['ConfigurationSetEventD @pulumi.getter(name="eventDestinationName") def event_destination_name(self) -> Optional[pulumi.Input[str]]: """ - An object that defines the event destination. See event_destination below. + An object that defines the event destination. See `event_destination` Block for details. """ return pulumi.get(self, "event_destination_name") @@ -141,7 +141,7 @@ def __init__(__self__, ## Example Usage - ### Cloud Watch Destination + ### CloudWatch Destination ```python import pulumi @@ -164,6 +164,25 @@ def __init__(__self__, }) ``` + ### EventBridge Destination + + ```python + import pulumi + import pulumi_aws as aws + + default = aws.cloudwatch.get_event_bus(name="default") + example = aws.sesv2.ConfigurationSetEventDestination("example", + configuration_set_name=example_aws_sesv2_configuration_set["configurationSetName"], + event_destination_name="example", + event_destination={ + "event_bridge_destination": { + "event_bus_arn": default.arn, + }, + "enabled": True, + "matching_event_types": ["SEND"], + }) + ``` + ### Kinesis Firehose Destination ```python @@ -234,7 +253,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] configuration_set_name: The name of the configuration set. :param pulumi.Input[Union['ConfigurationSetEventDestinationEventDestinationArgs', 'ConfigurationSetEventDestinationEventDestinationArgsDict']] event_destination: A name that identifies the event destination within the configuration set. - :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See event_destination below. + :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See `event_destination` Block for details. """ ... @overload @@ -247,7 +266,7 @@ def __init__(__self__, ## Example Usage - ### Cloud Watch Destination + ### CloudWatch Destination ```python import pulumi @@ -270,6 +289,25 @@ def __init__(__self__, }) ``` + ### EventBridge Destination + + ```python + import pulumi + import pulumi_aws as aws + + default = aws.cloudwatch.get_event_bus(name="default") + example = aws.sesv2.ConfigurationSetEventDestination("example", + configuration_set_name=example_aws_sesv2_configuration_set["configurationSetName"], + event_destination_name="example", + event_destination={ + "event_bridge_destination": { + "event_bus_arn": default.arn, + }, + "enabled": True, + "matching_event_types": ["SEND"], + }) + ``` + ### Kinesis Firehose Destination ```python @@ -394,7 +432,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] configuration_set_name: The name of the configuration set. :param pulumi.Input[Union['ConfigurationSetEventDestinationEventDestinationArgs', 'ConfigurationSetEventDestinationEventDestinationArgsDict']] event_destination: A name that identifies the event destination within the configuration set. - :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See event_destination below. + :param pulumi.Input[str] event_destination_name: An object that defines the event destination. See `event_destination` Block for details. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -425,7 +463,7 @@ def event_destination(self) -> pulumi.Output['outputs.ConfigurationSetEventDesti @pulumi.getter(name="eventDestinationName") def event_destination_name(self) -> pulumi.Output[str]: """ - An object that defines the event destination. See event_destination below. + An object that defines the event destination. See `event_destination` Block for details. """ return pulumi.get(self, "event_destination_name") diff --git a/sdk/python/pulumi_aws/sesv2/outputs.py b/sdk/python/pulumi_aws/sesv2/outputs.py index 26ce1575a8c..27763553eee 100644 --- a/sdk/python/pulumi_aws/sesv2/outputs.py +++ b/sdk/python/pulumi_aws/sesv2/outputs.py @@ -22,6 +22,7 @@ 'ConfigurationSetEventDestinationEventDestination', 'ConfigurationSetEventDestinationEventDestinationCloudWatchDestination', 'ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration', + 'ConfigurationSetEventDestinationEventDestinationEventBridgeDestination', 'ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination', 'ConfigurationSetEventDestinationEventDestinationPinpointDestination', 'ConfigurationSetEventDestinationEventDestinationSnsDestination', @@ -177,6 +178,8 @@ def __key_warning(key: str): suggest = "matching_event_types" elif key == "cloudWatchDestination": suggest = "cloud_watch_destination" + elif key == "eventBridgeDestination": + suggest = "event_bridge_destination" elif key == "kinesisFirehoseDestination": suggest = "kinesis_firehose_destination" elif key == "pinpointDestination": @@ -199,24 +202,25 @@ def __init__(__self__, *, matching_event_types: Sequence[str], cloud_watch_destination: Optional['outputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestination'] = None, enabled: Optional[bool] = None, + event_bridge_destination: Optional['outputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestination'] = None, kinesis_firehose_destination: Optional['outputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination'] = None, pinpoint_destination: Optional['outputs.ConfigurationSetEventDestinationEventDestinationPinpointDestination'] = None, sns_destination: Optional['outputs.ConfigurationSetEventDestinationEventDestinationSnsDestination'] = None): """ :param Sequence[str] matching_event_types: An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - - The following arguments are optional: - :param 'ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs' cloud_watch_destination: An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + :param 'ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs' cloud_watch_destination: An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. :param bool enabled: When the event destination is enabled, the specified event types are sent to the destinations. Default: `false`. - :param 'ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs' kinesis_firehose_destination: An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. - :param 'ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs' pinpoint_destination: An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. - :param 'ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs' sns_destination: An object that defines an Amazon SNS destination for email events. See sns_destination below. + :param 'ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs' kinesis_firehose_destination: An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. + :param 'ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs' pinpoint_destination: An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. + :param 'ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs' sns_destination: An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. """ pulumi.set(__self__, "matching_event_types", matching_event_types) if cloud_watch_destination is not None: pulumi.set(__self__, "cloud_watch_destination", cloud_watch_destination) if enabled is not None: pulumi.set(__self__, "enabled", enabled) + if event_bridge_destination is not None: + pulumi.set(__self__, "event_bridge_destination", event_bridge_destination) if kinesis_firehose_destination is not None: pulumi.set(__self__, "kinesis_firehose_destination", kinesis_firehose_destination) if pinpoint_destination is not None: @@ -229,8 +233,6 @@ def __init__(__self__, *, def matching_event_types(self) -> Sequence[str]: """ An array that specifies which events the Amazon SES API v2 should send to the destinations. Valid values: `SEND`, `REJECT`, `BOUNCE`, `COMPLAINT`, `DELIVERY`, `OPEN`, `CLICK`, `RENDERING_FAILURE`, `DELIVERY_DELAY`, `SUBSCRIPTION`. - - The following arguments are optional: """ return pulumi.get(self, "matching_event_types") @@ -238,7 +240,7 @@ def matching_event_types(self) -> Sequence[str]: @pulumi.getter(name="cloudWatchDestination") def cloud_watch_destination(self) -> Optional['outputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestination']: """ - An object that defines an Amazon CloudWatch destination for email events. See cloud_watch_destination below + An object that defines an Amazon CloudWatch destination for email events. See `cloud_watch_destination` Block for details. """ return pulumi.get(self, "cloud_watch_destination") @@ -250,11 +252,16 @@ def enabled(self) -> Optional[bool]: """ return pulumi.get(self, "enabled") + @property + @pulumi.getter(name="eventBridgeDestination") + def event_bridge_destination(self) -> Optional['outputs.ConfigurationSetEventDestinationEventDestinationEventBridgeDestination']: + return pulumi.get(self, "event_bridge_destination") + @property @pulumi.getter(name="kinesisFirehoseDestination") def kinesis_firehose_destination(self) -> Optional['outputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination']: """ - An object that defines an Amazon Kinesis Data Firehose destination for email events. See kinesis_firehose_destination below. + An object that defines an Amazon Kinesis Data Firehose destination for email events. See `kinesis_firehose_destination` Block for details. """ return pulumi.get(self, "kinesis_firehose_destination") @@ -262,7 +269,7 @@ def kinesis_firehose_destination(self) -> Optional['outputs.ConfigurationSetEven @pulumi.getter(name="pinpointDestination") def pinpoint_destination(self) -> Optional['outputs.ConfigurationSetEventDestinationEventDestinationPinpointDestination']: """ - An object that defines an Amazon Pinpoint project destination for email events. See pinpoint_destination below. + An object that defines an Amazon Pinpoint project destination for email events. See `pinpoint_destination` Block for details. """ return pulumi.get(self, "pinpoint_destination") @@ -270,7 +277,7 @@ def pinpoint_destination(self) -> Optional['outputs.ConfigurationSetEventDestina @pulumi.getter(name="snsDestination") def sns_destination(self) -> Optional['outputs.ConfigurationSetEventDestinationEventDestinationSnsDestination']: """ - An object that defines an Amazon SNS destination for email events. See sns_destination below. + An object that defines an Amazon SNS destination for email events. See `sns_destination` Block for details. """ return pulumi.get(self, "sns_destination") @@ -297,7 +304,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, dimension_configurations: Sequence['outputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration']): """ - :param Sequence['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs'] dimension_configurations: An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + :param Sequence['ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs'] dimension_configurations: An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. """ pulumi.set(__self__, "dimension_configurations", dimension_configurations) @@ -305,7 +312,7 @@ def __init__(__self__, *, @pulumi.getter(name="dimensionConfigurations") def dimension_configurations(self) -> Sequence['outputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfiguration']: """ - An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See dimension_configuration below. + An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. See `dimension_configuration` Block for details. """ return pulumi.get(self, "dimension_configurations") @@ -371,6 +378,41 @@ def dimension_value_source(self) -> str: return pulumi.get(self, "dimension_value_source") +@pulumi.output_type +class ConfigurationSetEventDestinationEventDestinationEventBridgeDestination(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "eventBusArn": + suggest = "event_bus_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetEventDestinationEventDestinationEventBridgeDestination. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationSetEventDestinationEventDestinationEventBridgeDestination.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + event_bus_arn: str): + """ + :param str event_bus_arn: The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + """ + pulumi.set(__self__, "event_bus_arn", event_bus_arn) + + @property + @pulumi.getter(name="eventBusArn") + def event_bus_arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. + """ + return pulumi.get(self, "event_bus_arn") + + @pulumi.output_type class ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestination(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/shield/__init__.py b/sdk/python/pulumi_aws/shield/__init__.py index d12d0fe9465..ddd65e8286c 100644 --- a/sdk/python/pulumi_aws/shield/__init__.py +++ b/sdk/python/pulumi_aws/shield/__init__.py @@ -12,5 +12,6 @@ from .protection import * from .protection_group import * from .protection_health_check_association import * +from .subscription import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/shield/subscription.py b/sdk/python/pulumi_aws/shield/subscription.py new file mode 100644 index 00000000000..ef92d6aa9ea --- /dev/null +++ b/sdk/python/pulumi_aws/shield/subscription.py @@ -0,0 +1,243 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['SubscriptionArgs', 'Subscription'] + +@pulumi.input_type +class SubscriptionArgs: + def __init__(__self__, *, + auto_renew: Optional[pulumi.Input[str]] = None, + skip_destroy: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a Subscription resource. + :param pulumi.Input[str] auto_renew: Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + :param pulumi.Input[bool] skip_destroy: Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) + if skip_destroy is not None: + pulumi.set(__self__, "skip_destroy", skip_destroy) + + @property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[str]]: + """ + Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + """ + return pulumi.get(self, "auto_renew") + + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auto_renew", value) + + @property + @pulumi.getter(name="skipDestroy") + def skip_destroy(self) -> Optional[pulumi.Input[bool]]: + """ + Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + """ + return pulumi.get(self, "skip_destroy") + + @skip_destroy.setter + def skip_destroy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "skip_destroy", value) + + +@pulumi.input_type +class _SubscriptionState: + def __init__(__self__, *, + auto_renew: Optional[pulumi.Input[str]] = None, + skip_destroy: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering Subscription resources. + :param pulumi.Input[str] auto_renew: Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + :param pulumi.Input[bool] skip_destroy: Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + """ + if auto_renew is not None: + pulumi.set(__self__, "auto_renew", auto_renew) + if skip_destroy is not None: + pulumi.set(__self__, "skip_destroy", skip_destroy) + + @property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> Optional[pulumi.Input[str]]: + """ + Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + """ + return pulumi.get(self, "auto_renew") + + @auto_renew.setter + def auto_renew(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "auto_renew", value) + + @property + @pulumi.getter(name="skipDestroy") + def skip_destroy(self) -> Optional[pulumi.Input[bool]]: + """ + Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + """ + return pulumi.get(self, "skip_destroy") + + @skip_destroy.setter + def skip_destroy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "skip_destroy", value) + + +class Subscription(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[str]] = None, + skip_destroy: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource for managing an AWS Shield Subscription. + + > This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details. + + > Destruction of this resource will set `auto_renew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skip_destroy` to `true` to skip modifying the `auto_renew` argument during destruction. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.shield.Subscription("example", auto_renew="ENABLED") + ``` + + ## Import + + Using `pulumi import`, import Shield Subscription using the `id`. For example: + + ```sh + $ pulumi import aws:shield/subscription:Subscription example 012345678901 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] auto_renew: Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + :param pulumi.Input[bool] skip_destroy: Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[SubscriptionArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Shield Subscription. + + > This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details. + + > Destruction of this resource will set `auto_renew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skip_destroy` to `true` to skip modifying the `auto_renew` argument during destruction. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.shield.Subscription("example", auto_renew="ENABLED") + ``` + + ## Import + + Using `pulumi import`, import Shield Subscription using the `id`. For example: + + ```sh + $ pulumi import aws:shield/subscription:Subscription example 012345678901 + ``` + + :param str resource_name: The name of the resource. + :param SubscriptionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SubscriptionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[str]] = None, + skip_destroy: Optional[pulumi.Input[bool]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SubscriptionArgs.__new__(SubscriptionArgs) + + __props__.__dict__["auto_renew"] = auto_renew + __props__.__dict__["skip_destroy"] = skip_destroy + super(Subscription, __self__).__init__( + 'aws:shield/subscription:Subscription', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + auto_renew: Optional[pulumi.Input[str]] = None, + skip_destroy: Optional[pulumi.Input[bool]] = None) -> 'Subscription': + """ + Get an existing Subscription resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] auto_renew: Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + :param pulumi.Input[bool] skip_destroy: Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SubscriptionState.__new__(_SubscriptionState) + + __props__.__dict__["auto_renew"] = auto_renew + __props__.__dict__["skip_destroy"] = skip_destroy + return Subscription(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="autoRenew") + def auto_renew(self) -> pulumi.Output[str]: + """ + Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`. + """ + return pulumi.get(self, "auto_renew") + + @property + @pulumi.getter(name="skipDestroy") + def skip_destroy(self) -> pulumi.Output[Optional[bool]]: + """ + Skip attempting to disable automated renewal upon destruction. If set to `true`, the `auto_renew` value will be left as-is and the resource will simply be removed from state. + """ + return pulumi.get(self, "skip_destroy") + diff --git a/sdk/python/pulumi_aws/sns/topic.py b/sdk/python/pulumi_aws/sns/topic.py index e24e10e3442..5b7ee68e68a 100644 --- a/sdk/python/pulumi_aws/sns/topic.py +++ b/sdk/python/pulumi_aws/sns/topic.py @@ -55,7 +55,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] content_based_deduplication: Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html) :param pulumi.Input[str] delivery_policy: The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html). :param pulumi.Input[str] display_name: The display name for the topic - :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. :param pulumi.Input[str] firehose_failure_feedback_role_arn: IAM role for failure feedback :param pulumi.Input[str] firehose_success_feedback_role_arn: The IAM role permitted to receive success feedback for this topic :param pulumi.Input[int] firehose_success_feedback_sample_rate: Percentage of success to sample @@ -219,7 +219,7 @@ def display_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="fifoTopic") def fifo_topic(self) -> Optional[pulumi.Input[bool]]: """ - Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. """ return pulumi.get(self, "fifo_topic") @@ -501,7 +501,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] content_based_deduplication: Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html) :param pulumi.Input[str] delivery_policy: The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html). :param pulumi.Input[str] display_name: The display name for the topic - :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. :param pulumi.Input[str] firehose_failure_feedback_role_arn: IAM role for failure feedback :param pulumi.Input[str] firehose_success_feedback_role_arn: The IAM role permitted to receive success feedback for this topic :param pulumi.Input[int] firehose_success_feedback_sample_rate: Percentage of success to sample @@ -702,7 +702,7 @@ def display_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="fifoTopic") def fifo_topic(self) -> Optional[pulumi.Input[bool]]: """ - Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. """ return pulumi.get(self, "fifo_topic") @@ -1081,7 +1081,7 @@ def __init__(__self__, :param pulumi.Input[bool] content_based_deduplication: Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html) :param pulumi.Input[str] delivery_policy: The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html). :param pulumi.Input[str] display_name: The display name for the topic - :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. :param pulumi.Input[str] firehose_failure_feedback_role_arn: IAM role for failure feedback :param pulumi.Input[str] firehose_success_feedback_role_arn: The IAM role permitted to receive success feedback for this topic :param pulumi.Input[int] firehose_success_feedback_sample_rate: Percentage of success to sample @@ -1322,7 +1322,7 @@ def get(resource_name: str, :param pulumi.Input[bool] content_based_deduplication: Enables content-based deduplication for FIFO topics. For more information, see the [related documentation](https://docs.aws.amazon.com/sns/latest/dg/fifo-message-dedup.html) :param pulumi.Input[str] delivery_policy: The SNS delivery policy. More details in the [AWS documentation](https://docs.aws.amazon.com/sns/latest/dg/DeliveryPolicies.html). :param pulumi.Input[str] display_name: The display name for the topic - :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + :param pulumi.Input[bool] fifo_topic: Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. :param pulumi.Input[str] firehose_failure_feedback_role_arn: IAM role for failure feedback :param pulumi.Input[str] firehose_success_feedback_role_arn: The IAM role permitted to receive success feedback for this topic :param pulumi.Input[int] firehose_success_feedback_sample_rate: Percentage of success to sample @@ -1458,7 +1458,7 @@ def display_name(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="fifoTopic") def fifo_topic(self) -> pulumi.Output[Optional[bool]]: """ - Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is `false`). + Boolean indicating whether or not to create a FIFO (first-in-first-out) topic. FIFO topics can't deliver messages to customer managed endpoints, such as email addresses, mobile apps, SMS, or HTTP(S) endpoints. These endpoint types aren't guaranteed to preserve strict message ordering. Default is `false`. """ return pulumi.get(self, "fifo_topic") diff --git a/sdk/python/pulumi_aws/vpc/security_group_egress_rule.py b/sdk/python/pulumi_aws/vpc/security_group_egress_rule.py index 41a78cf88af..e2e09c7cd08 100644 --- a/sdk/python/pulumi_aws/vpc/security_group_egress_rule.py +++ b/sdk/python/pulumi_aws/vpc/security_group_egress_rule.py @@ -423,10 +423,9 @@ def __init__(__self__, When specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic. - > **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 `vpc.SecurityGroupEgressRule` resource has been added to address these limitations and should be used for all new security group rules. - You should not use the `vpc.SecurityGroupEgressRule` resource in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + > **NOTE:** Using `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + + !> **WARNING:** You should not use the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. ## Example Usage @@ -474,10 +473,9 @@ def __init__(__self__, When specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic. - > **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 `vpc.SecurityGroupEgressRule` resource has been added to address these limitations and should be used for all new security group rules. - You should not use the `vpc.SecurityGroupEgressRule` resource in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + > **NOTE:** Using `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + + !> **WARNING:** You should not use the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. ## Example Usage diff --git a/sdk/python/pulumi_aws/vpc/security_group_ingress_rule.py b/sdk/python/pulumi_aws/vpc/security_group_ingress_rule.py index afcc8830669..82e375414ba 100644 --- a/sdk/python/pulumi_aws/vpc/security_group_ingress_rule.py +++ b/sdk/python/pulumi_aws/vpc/security_group_ingress_rule.py @@ -423,10 +423,9 @@ def __init__(__self__, When specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic. - > **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 `vpc.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules. - You should not use the `vpc.SecurityGroupIngressRule` resource in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + > **NOTE:** Using `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + + !> **WARNING:** You should not use the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. ## Example Usage @@ -481,10 +480,9 @@ def __init__(__self__, When specifying an inbound rule for your security group in a VPC, the configuration must include a source for the traffic. - > **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 `vpc.SecurityGroupIngressRule` resource has been added to address these limitations and should be used for all new security group rules. - You should not use the `vpc.SecurityGroupIngressRule` resource in conjunction with an `ec2.SecurityGroup` resource with in-line rules or with `ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten. + > **NOTE:** Using `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources is the current best practice. Avoid using the `ec2.SecurityGroupRule` resource and the `ingress` and `egress` arguments of the `ec2.SecurityGroup` resource for configuring in-line rules, as they struggle with managing multiple CIDR blocks, and tags and descriptions due to the historical lack of unique IDs. + + !> **WARNING:** You should not use the `vpc.SecurityGroupEgressRule` and `vpc.SecurityGroupIngressRule` resources in conjunction with the `ec2.SecurityGroup` resource with _in-line rules_ (using the `ingress` and `egress` arguments of `ec2.SecurityGroup`) or the `ec2.SecurityGroupRule` resource. Doing so may cause rule conflicts, perpetual differences, and result in rules being overwritten. ## Example Usage diff --git a/sdk/python/pulumi_aws/wafv2/_inputs.py b/sdk/python/pulumi_aws/wafv2/_inputs.py index 3bbee47f309..f43ff2f43cc 100644 --- a/sdk/python/pulumi_aws/wafv2/_inputs.py +++ b/sdk/python/pulumi_aws/wafv2/_inputs.py @@ -9984,6 +9984,9 @@ class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStateme The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. """ sensitivity_level: NotRequired[pulumi.Input[str]] + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ elif False: RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgsDict: TypeAlias = Mapping[str, Any] @@ -9998,6 +10001,7 @@ def __init__(__self__, *, At least one required. See Text Transformation below for details. :param pulumi.Input['RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs'] field_to_match: The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. + :param pulumi.Input[str] sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -10034,6 +10038,9 @@ def field_to_match(self, value: Optional[pulumi.Input['RuleGroupRuleStatementRat @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[pulumi.Input[str]]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @sensitivity_level.setter @@ -14958,6 +14965,9 @@ class RuleGroupRuleStatementSqliMatchStatementArgsDict(TypedDict): The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. """ sensitivity_level: NotRequired[pulumi.Input[str]] + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ elif False: RuleGroupRuleStatementSqliMatchStatementArgsDict: TypeAlias = Mapping[str, Any] @@ -14972,6 +14982,7 @@ def __init__(__self__, *, At least one required. See Text Transformation below for details. :param pulumi.Input['RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs'] field_to_match: The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. + :param pulumi.Input[str] sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -15008,6 +15019,9 @@ def field_to_match(self, value: Optional[pulumi.Input['RuleGroupRuleStatementSql @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[pulumi.Input[str]]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @sensitivity_level.setter @@ -28085,6 +28099,9 @@ class WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchSta Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. """ sensitivity_level: NotRequired[pulumi.Input[str]] + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ elif False: WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementArgsDict: TypeAlias = Mapping[str, Any] @@ -28097,6 +28114,7 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArgs']]] text_transformations: Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. :param pulumi.Input['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs'] field_to_match: Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. + :param pulumi.Input[str] sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -28131,6 +28149,9 @@ def field_to_match(self, value: Optional[pulumi.Input['WebAclRuleStatementManage @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[pulumi.Input[str]]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @sensitivity_level.setter @@ -35774,6 +35795,9 @@ class WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementA Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. """ sensitivity_level: NotRequired[pulumi.Input[str]] + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ elif False: WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementArgsDict: TypeAlias = Mapping[str, Any] @@ -35786,6 +35810,7 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementTextTransformationArgs']]] text_transformations: Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. :param pulumi.Input['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs'] field_to_match: Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. + :param pulumi.Input[str] sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -35820,6 +35845,9 @@ def field_to_match(self, value: Optional[pulumi.Input['WebAclRuleStatementRateBa @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[pulumi.Input[str]]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @sensitivity_level.setter @@ -41640,6 +41668,9 @@ class WebAclRuleStatementSqliMatchStatementArgsDict(TypedDict): Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. """ sensitivity_level: NotRequired[pulumi.Input[str]] + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ elif False: WebAclRuleStatementSqliMatchStatementArgsDict: TypeAlias = Mapping[str, Any] @@ -41652,6 +41683,7 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input['WebAclRuleStatementSqliMatchStatementTextTransformationArgs']]] text_transformations: Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. :param pulumi.Input['WebAclRuleStatementSqliMatchStatementFieldToMatchArgs'] field_to_match: Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. + :param pulumi.Input[str] sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -41686,6 +41718,9 @@ def field_to_match(self, value: Optional[pulumi.Input['WebAclRuleStatementSqliMa @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[pulumi.Input[str]]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @sensitivity_level.setter diff --git a/sdk/python/pulumi_aws/wafv2/outputs.py b/sdk/python/pulumi_aws/wafv2/outputs.py index 8383cda48bf..654344abe2f 100644 --- a/sdk/python/pulumi_aws/wafv2/outputs.py +++ b/sdk/python/pulumi_aws/wafv2/outputs.py @@ -7485,6 +7485,7 @@ def __init__(__self__, *, At least one required. See Text Transformation below for details. :param 'RuleGroupRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs' field_to_match: The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. + :param str sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -7513,6 +7514,9 @@ def field_to_match(self) -> Optional['outputs.RuleGroupRuleStatementRateBasedSta @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[str]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @@ -11493,6 +11497,7 @@ def __init__(__self__, *, At least one required. See Text Transformation below for details. :param 'RuleGroupRuleStatementSqliMatchStatementFieldToMatchArgs' field_to_match: The part of a web request that you want AWS WAF to inspect. See Field to Match below for details. + :param str sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -11521,6 +11526,9 @@ def field_to_match(self) -> Optional['outputs.RuleGroupRuleStatementSqliMatchSta @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[str]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @@ -22139,6 +22147,7 @@ def __init__(__self__, *, """ :param Sequence['WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementTextTransformationArgs'] text_transformations: Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. :param 'WebAclRuleStatementManagedRuleGroupStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs' field_to_match: Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. + :param str sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -22165,6 +22174,9 @@ def field_to_match(self) -> Optional['outputs.WebAclRuleStatementManagedRuleGrou @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[str]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @@ -28233,6 +28245,7 @@ def __init__(__self__, *, """ :param Sequence['WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementTextTransformationArgs'] text_transformations: Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. :param 'WebAclRuleStatementRateBasedStatementScopeDownStatementSqliMatchStatementFieldToMatchArgs' field_to_match: Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. + :param str sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -28259,6 +28272,9 @@ def field_to_match(self) -> Optional['outputs.WebAclRuleStatementRateBasedStatem @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[str]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") @@ -32977,6 +32993,7 @@ def __init__(__self__, *, """ :param Sequence['WebAclRuleStatementSqliMatchStatementTextTransformationArgs'] text_transformations: Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. At least one transformation is required. See `text_transformation` below for details. :param 'WebAclRuleStatementSqliMatchStatementFieldToMatchArgs' field_to_match: Part of a web request that you want AWS WAF to inspect. See `field_to_match` below for details. + :param str sensitivity_level: Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. """ pulumi.set(__self__, "text_transformations", text_transformations) if field_to_match is not None: @@ -33003,6 +33020,9 @@ def field_to_match(self) -> Optional['outputs.WebAclRuleStatementSqliMatchStatem @property @pulumi.getter(name="sensitivityLevel") def sensitivity_level(self) -> Optional[str]: + """ + Sensitivity that you want AWS WAF to use to inspect for SQL injection attacks. Valid values include: `LOW`, `HIGH`. + """ return pulumi.get(self, "sensitivity_level") diff --git a/upstream b/upstream index c4acee31757..2856a79ce61 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit c4acee31757bf4c8792af16d773d6fa2b855ac4d +Subproject commit 2856a79ce614422b1dc21adbcec2ebc56982ffab