diff --git a/.docs.version b/.docs.version index 36b834d8d1..62d27c1d7b 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -d889c0ffa60e67860a97ecb57b38054bf83dcb8f +cddd40c58fe29009edc87b434dff37ed2144bea0 diff --git a/aws-cloudformation-schema/aws-appconfig-application.json b/aws-cloudformation-schema/aws-appconfig-application.json index 4da3c9b339..c896c1897c 100644 --- a/aws-cloudformation-schema/aws-appconfig-application.json +++ b/aws-cloudformation-schema/aws-appconfig-application.json @@ -12,8 +12,7 @@ "type" : "string", "description" : "The key-value string map. The valid character set is [a-zA-Z1-9 +-=._:/-]. The tag key can be up to 128 characters and must not start with aws:.", "minLength" : 1, - "maxLength" : 128, - "pattern" : "^(?!aws:.)[a-zA-Z1-9+=._:/-]*$" + "maxLength" : 128 }, "Value" : { "type" : "string", @@ -74,6 +73,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "appconfig:TagResource", "appconfig:UntagResource", "appconfig:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-appconfig-configurationprofile.json b/aws-cloudformation-schema/aws-appconfig-configurationprofile.json index bc3c3d7e1a..97d34d76c0 100644 --- a/aws-cloudformation-schema/aws-appconfig-configurationprofile.json +++ b/aws-cloudformation-schema/aws-appconfig-configurationprofile.json @@ -1,6 +1,7 @@ { "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", "tagging" : { + "permissions" : [ "appconfig:TagResource", "appconfig:UntagResource", "appconfig:ListTagsForResource" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, @@ -69,7 +70,6 @@ }, "Key" : { "minLength" : 1, - "pattern" : "^(?!aws:.)[a-zA-Z0-9 +=._:/-]*$", "description" : "The key-value string map. The tag key can be up to 128 characters and must not start with aws:.", "type" : "string", "maxLength" : 128 diff --git a/aws-cloudformation-schema/aws-appconfig-environment.json b/aws-cloudformation-schema/aws-appconfig-environment.json index 51dc4eeae0..c5eb7317f3 100644 --- a/aws-cloudformation-schema/aws-appconfig-environment.json +++ b/aws-cloudformation-schema/aws-appconfig-environment.json @@ -1,6 +1,7 @@ { "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", "tagging" : { + "permissions" : [ "appconfig:TagResource", "appconfig:UntagResource", "appconfig:ListTagsForResource" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, @@ -81,7 +82,6 @@ }, "Key" : { "minLength" : 1, - "pattern" : "^(?!aws:.)[a-zA-Z1-9+=._:/-]*$", "description" : "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.", "type" : "string", "maxLength" : 128 diff --git a/aws-cloudformation-schema/aws-appconfig-extension.json b/aws-cloudformation-schema/aws-appconfig-extension.json index 0642c8e45d..bb9fa10d9e 100644 --- a/aws-cloudformation-schema/aws-appconfig-extension.json +++ b/aws-cloudformation-schema/aws-appconfig-extension.json @@ -140,13 +140,6 @@ "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/VersionNumber" ], "writeOnlyProperties" : [ "/properties/LatestVersionNumber", "/properties/Tags", "/properties/Tags/*/Key", "/properties/Tags/*/Value" ], "primaryIdentifier" : [ "/properties/Id" ], - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" - }, "handlers" : { "create" : { "permissions" : [ "appconfig:CreateExtension", "appconfig:TagResource", "iam:PassRole" ] @@ -163,5 +156,13 @@ "list" : { "permissions" : [ "appconfig:ListExtensions" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "appconfig:TagResource", "appconfig:UntagResource", "appconfig:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-appconfig-extensionassociation.json b/aws-cloudformation-schema/aws-appconfig-extensionassociation.json index d3e087e907..ac4d97a04b 100644 --- a/aws-cloudformation-schema/aws-appconfig-extensionassociation.json +++ b/aws-cloudformation-schema/aws-appconfig-extensionassociation.json @@ -70,13 +70,6 @@ "createOnlyProperties" : [ "/properties/ExtensionIdentifier", "/properties/ResourceIdentifier", "/properties/ExtensionVersionNumber", "/properties/Tags", "/properties/Tags/*/Key", "/properties/Tags/*/Value" ], "writeOnlyProperties" : [ "/properties/ExtensionIdentifier", "/properties/ResourceIdentifier", "/properties/Tags", "/properties/Tags/*/Key", "/properties/Tags/*/Value" ], "primaryIdentifier" : [ "/properties/Id" ], - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" - }, "handlers" : { "create" : { "permissions" : [ "appconfig:CreateExtensionAssociation", "appconfig:TagResource" ] @@ -93,5 +86,13 @@ "list" : { "permissions" : [ "appconfig:ListExtensionAssociations" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "appconfig:TagResource", "appconfig:UntagResource", "appconfig:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-appsync-datasource.json b/aws-cloudformation-schema/aws-appsync-datasource.json index fb34a62aba..428ebf6efb 100644 --- a/aws-cloudformation-schema/aws-appsync-datasource.json +++ b/aws-cloudformation-schema/aws-appsync-datasource.json @@ -1,52 +1,68 @@ { "typeName" : "AWS::AppSync::DataSource", "description" : "Resource Type definition for AWS::AppSync::DataSource", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appsync", "additionalProperties" : false, + "tagging" : { + "taggable" : false + }, "properties" : { - "OpenSearchServiceConfig" : { - "$ref" : "#/definitions/OpenSearchServiceConfig" - }, - "Description" : { - "type" : "string" - }, - "ServiceRoleArn" : { - "type" : "string" - }, - "MetricsConfig" : { + "ApiId" : { + "description" : "Unique AWS AppSync GraphQL API identifier where this data source will be created.", "type" : "string" }, - "Name" : { + "Description" : { + "description" : "The description of the data source.", "type" : "string" }, - "DataSourceArn" : { - "type" : "string" + "DynamoDBConfig" : { + "description" : "AWS Region and TableName for an Amazon DynamoDB table in your account.", + "$ref" : "#/definitions/DynamoDBConfig" }, - "Type" : { - "type" : "string" + "ElasticsearchConfig" : { + "description" : "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source.", + "$ref" : "#/definitions/ElasticsearchConfig" }, "EventBridgeConfig" : { + "description" : "ARN for the EventBridge bus.", "$ref" : "#/definitions/EventBridgeConfig" }, "HttpConfig" : { + "description" : "Endpoints for an HTTP data source.", "$ref" : "#/definitions/HttpConfig" }, - "RelationalDatabaseConfig" : { - "$ref" : "#/definitions/RelationalDatabaseConfig" - }, "LambdaConfig" : { + "description" : "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account.", "$ref" : "#/definitions/LambdaConfig" }, - "Id" : { + "Name" : { + "description" : "Friendly name for you to identify your AppSync data source after creation.", "type" : "string" }, - "ApiId" : { + "OpenSearchServiceConfig" : { + "description" : "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.", + "$ref" : "#/definitions/OpenSearchServiceConfig" + }, + "RelationalDatabaseConfig" : { + "description" : "Relational Database configuration of the relational database data source.", + "$ref" : "#/definitions/RelationalDatabaseConfig" + }, + "ServiceRoleArn" : { + "description" : "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source.", "type" : "string" }, - "DynamoDBConfig" : { - "$ref" : "#/definitions/DynamoDBConfig" + "Type" : { + "description" : "The type of the data source.", + "type" : "string" }, - "ElasticsearchConfig" : { - "$ref" : "#/definitions/ElasticsearchConfig" + "DataSourceArn" : { + "description" : "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.", + "type" : "string" + }, + "MetricsConfig" : { + "description" : "", + "type" : "string", + "enum" : [ "DISABLED", "ENABLED" ] } }, "definitions" : { @@ -55,18 +71,23 @@ "additionalProperties" : false, "properties" : { "DatabaseName" : { + "description" : "Logical database name.", "type" : "string" }, "AwsRegion" : { + "description" : "AWS Region for RDS HTTP endpoint.", "type" : "string" }, "DbClusterIdentifier" : { + "description" : "Amazon RDS cluster Amazon Resource Name (ARN).", "type" : "string" }, "AwsSecretStoreArn" : { + "description" : "The ARN for database credentials stored in AWS Secrets Manager.", "type" : "string" }, "Schema" : { + "description" : "Logical schema name.", "type" : "string" } }, @@ -77,9 +98,11 @@ "additionalProperties" : false, "properties" : { "AwsRegion" : { + "description" : "The AWS Region.", "type" : "string" }, "Endpoint" : { + "description" : "The endpoint.", "type" : "string" } }, @@ -90,9 +113,11 @@ "additionalProperties" : false, "properties" : { "SigningRegion" : { + "description" : "The signing Region for AWS Identity and Access Management authorization.", "type" : "string" }, "SigningServiceName" : { + "description" : "The signing service name for AWS Identity and Access Management authorization.", "type" : "string" } } @@ -102,6 +127,7 @@ "additionalProperties" : false, "properties" : { "EventBusArn" : { + "description" : "ARN for the EventBridge bus.", "type" : "string" } }, @@ -112,9 +138,11 @@ "additionalProperties" : false, "properties" : { "AuthorizationType" : { + "description" : "The authorization type that the HTTP endpoint requires.", "type" : "string" }, "AwsIamConfig" : { + "description" : "The AWS Identity and Access Management settings.", "$ref" : "#/definitions/AwsIamConfig" } }, @@ -125,12 +153,15 @@ "additionalProperties" : false, "properties" : { "BaseTableTTL" : { + "description" : "The number of minutes that an Item is stored in the data source.", "type" : "string" }, "DeltaSyncTableTTL" : { + "description" : "The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.", "type" : "string" }, "DeltaSyncTableName" : { + "description" : "The Delta Sync table name.", "type" : "string" } }, @@ -141,9 +172,11 @@ "additionalProperties" : false, "properties" : { "RdsHttpEndpointConfig" : { + "description" : "Information about the Amazon RDS resource.", "$ref" : "#/definitions/RdsHttpEndpointConfig" }, "RelationalDatabaseSourceType" : { + "description" : "The type of relational data source.", "type" : "string" } }, @@ -154,9 +187,11 @@ "additionalProperties" : false, "properties" : { "Endpoint" : { + "description" : "The endpoint.", "type" : "string" }, "AuthorizationConfig" : { + "description" : "The authorization configuration.", "$ref" : "#/definitions/AuthorizationConfig" } }, @@ -167,6 +202,7 @@ "additionalProperties" : false, "properties" : { "LambdaFunctionArn" : { + "description" : "The ARN for the Lambda function.", "type" : "string" } }, @@ -177,9 +213,11 @@ "additionalProperties" : false, "properties" : { "AwsRegion" : { + "description" : "The AWS Region.", "type" : "string" }, "Endpoint" : { + "description" : "The endpoint.", "type" : "string" } }, @@ -190,18 +228,23 @@ "additionalProperties" : false, "properties" : { "TableName" : { + "description" : "The table name.", "type" : "string" }, "DeltaSyncConfig" : { + "description" : "The DeltaSyncConfig for a versioned datasource.", "$ref" : "#/definitions/DeltaSyncConfig" }, "UseCallerCredentials" : { + "description" : "Set to TRUE to use AWS Identity and Access Management with this data source.", "type" : "boolean" }, "AwsRegion" : { + "description" : "The AWS Region.", "type" : "string" }, "Versioned" : { + "description" : "Set to TRUE to use Conflict Detection and Resolution with this data source.", "type" : "boolean" } }, @@ -210,6 +253,32 @@ }, "required" : [ "Type", "ApiId", "Name" ], "createOnlyProperties" : [ "/properties/ApiId", "/properties/Name" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/DataSourceArn" ] + "primaryIdentifier" : [ "/properties/DataSourceArn" ], + "readOnlyProperties" : [ "/properties/DataSourceArn" ], + "deprecatedProperties" : [ "/properties/ElasticsearchConfig" ], + "handlers" : { + "create" : { + "permissions" : [ "appsync:CreateDataSource", "appsync:GetDataSource", "iam:PassRole" ] + }, + "read" : { + "permissions" : [ "appsync:GetDataSource" ] + }, + "update" : { + "permissions" : [ "appsync:UpdateDataSource", "iam:PassRole" ] + }, + "delete" : { + "permissions" : [ "appsync:DeleteDataSource", "appsync:GetDataSource" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "ApiId" : { + "$ref" : "resource-schema.json#/properties/ApiId" + } + }, + "required" : [ "ApiId" ] + }, + "permissions" : [ "appsync:ListDataSources" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-codepipeline-pipeline.json b/aws-cloudformation-schema/aws-codepipeline-pipeline.json index a82e660293..a2f5224d1f 100644 --- a/aws-cloudformation-schema/aws-codepipeline-pipeline.json +++ b/aws-cloudformation-schema/aws-codepipeline-pipeline.json @@ -60,7 +60,7 @@ "Category" : { "description" : "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.", "type" : "string", - "enum" : [ "Source", "Build", "Test", "Deploy", "Invoke", "Approval" ] + "enum" : [ "Source", "Build", "Test", "Deploy", "Invoke", "Approval", "Compute" ] }, "Version" : { "description" : "A string that describes the action version.", @@ -183,6 +183,22 @@ "$ref" : "#/definitions/OutputArtifact" } }, + "Commands" : { + "description" : "The shell commands to run with your compute action in CodePipeline.", + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string" + } + }, + "OutputVariables" : { + "description" : "The list of variables that are to be exported from the compute action.", + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } + }, "Region" : { "description" : "The action declaration's AWS Region, such as us-east-1.", "type" : "string" @@ -413,6 +429,14 @@ "Name" : { "description" : "The name of the output of an artifact, such as \"My App\".", "type" : "string" + }, + "Files" : { + "description" : "The files that you want to associate with the output artifact that will be exported from the compute action.", + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } } }, "required" : [ "Name" ] diff --git a/aws-cloudformation-schema/aws-ecs-service.json b/aws-cloudformation-schema/aws-ecs-service.json index 3e53b1adc4..8f05db4960 100644 --- a/aws-cloudformation-schema/aws-ecs-service.json +++ b/aws-cloudformation-schema/aws-ecs-service.json @@ -6,6 +6,9 @@ "tagProperty" : "/properties/Tags", "cloudFormationSystemTags" : true }, + "propertyTransform" : { + "/properties/Role" : "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" + }, "handlers" : { "read" : { "permissions" : [ "ecs:DescribeServices" ] diff --git a/aws-cloudformation-schema/aws-gamelift-containergroupdefinition.json b/aws-cloudformation-schema/aws-gamelift-containergroupdefinition.json index 3628072734..2028bae60d 100644 --- a/aws-cloudformation-schema/aws-gamelift-containergroupdefinition.json +++ b/aws-cloudformation-schema/aws-gamelift-containergroupdefinition.json @@ -9,7 +9,7 @@ }, "$schema" : "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", "typeName" : "AWS::GameLift::ContainerGroupDefinition", - "readOnlyProperties" : [ "/properties/ContainerGroupDefinitionArn", "/properties/CreationTime", "/properties/ContainerDefinitions/*/ResolvedImageDigest" ], + "readOnlyProperties" : [ "/properties/ContainerGroupDefinitionArn", "/properties/CreationTime", "/properties/ContainerDefinitions/*/ResolvedImageDigest", "/properties/Status", "/properties/StatusReason" ], "description" : "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition.", "createOnlyProperties" : [ "/properties/Name", "/properties/SchedulingStrategy", "/properties/TotalMemoryLimit", "/properties/TotalCpuLimit", "/properties/ContainerDefinitions", "/properties/OperatingSystem" ], "primaryIdentifier" : [ "/properties/Name" ], @@ -59,6 +59,33 @@ }, "required" : [ "FromPort", "Protocol", "ToPort" ] }, + "ContainerMountPoint" : { + "description" : "Defines the mount point configuration within a container.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "InstancePath" : { + "minLength" : 1, + "pattern" : "^\\/[\\s\\S]*$", + "description" : "The path on the host that will be mounted in the container.", + "type" : "string", + "maxLength" : 1024 + }, + "ContainerPath" : { + "minLength" : 1, + "pattern" : "^(\\/+[^\\/]+\\/*)+$", + "description" : "The path inside the container where the mount is accessible.", + "type" : "string", + "maxLength" : 1024 + }, + "AccessLevel" : { + "description" : "The access permissions for the mounted path.", + "type" : "string", + "enum" : [ "READ_ONLY", "READ_AND_WRITE" ] + } + }, + "required" : [ "InstancePath" ] + }, "MemoryLimits" : { "description" : "Specifies how much memory is available to the container.", "additionalProperties" : false, @@ -314,11 +341,20 @@ } }, "properties" : { + "Status" : { + "description" : "A string indicating ContainerGroupDefinition status.", + "type" : "string", + "enum" : [ "READY", "COPYING", "FAILED" ] + }, "OperatingSystem" : { "description" : "The operating system of the container group", "type" : "string", "enum" : [ "AMAZON_LINUX_2023" ] }, + "StatusReason" : { + "description" : "A string indicating the reason for ContainerGroupDefinition status.", + "type" : "string" + }, "Name" : { "minLength" : 1, "pattern" : "^[a-zA-Z0-9-]+$", @@ -359,6 +395,11 @@ "$ref" : "#/definitions/ContainerDefinition" } }, + "SourceVersionNumber" : { + "description" : "A specific ContainerGroupDefinition version to be updated", + "type" : "integer", + "minimum" : 0 + }, "Tags" : { "minItems" : 0, "maxItems" : 200, @@ -370,6 +411,15 @@ "$ref" : "#/definitions/Tag" } }, + "SupportContainerDefinitions" : { + "minItems" : 1, + "maxItems" : 10, + "uniqueItems" : true, + "description" : "A collection of support container definitions that define the containers in this group.", + "insertionOrder" : false, + "type" : "array", + "items" : { } + }, "TotalCpuLimit" : { "description" : "The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.)", "maximum" : 10240, diff --git a/aws-cloudformation-schema/aws-glue-registry.json b/aws-cloudformation-schema/aws-glue-registry.json index 5ee7913c9a..1502595587 100644 --- a/aws-cloudformation-schema/aws-glue-registry.json +++ b/aws-cloudformation-schema/aws-glue-registry.json @@ -1,6 +1,14 @@ { "typeName" : "AWS::Glue::Registry", "description" : "This resource creates a Registry for authoring schemas as part of Glue Schema Registry.", + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "glue:GetTags", "glue:TagResource", "glue:UntagResource" ] + }, "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "definitions" : { "Tag" : { @@ -58,7 +66,7 @@ "required" : [ "Name" ], "handlers" : { "create" : { - "permissions" : [ "glue:CreateRegistry", "glue:GetRegistry", "glue:GetTags" ] + "permissions" : [ "glue:CreateRegistry", "glue:GetRegistry", "glue:GetTags", "glue:TagResource" ] }, "read" : { "permissions" : [ "glue:GetRegistry", "glue:GetTags" ] diff --git a/aws-cloudformation-schema/aws-glue-schema.json b/aws-cloudformation-schema/aws-glue-schema.json index c82e3acfe2..79de502448 100644 --- a/aws-cloudformation-schema/aws-glue-schema.json +++ b/aws-cloudformation-schema/aws-glue-schema.json @@ -1,6 +1,14 @@ { "typeName" : "AWS::Glue::Schema", "description" : "This resource represents a schema of Glue Schema Registry.", + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "glue:GetTags", "glue:TagResource", "glue:UntagResource" ] + }, "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "definitions" : { "Registry" : { @@ -114,14 +122,14 @@ } }, "additionalProperties" : false, - "required" : [ "Name", "DataFormat", "SchemaDefinition", "Compatibility" ], + "required" : [ "Name", "DataFormat", "Compatibility" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/InitialSchemaVersionId" ], "createOnlyProperties" : [ "/properties/Registry", "/properties/Name", "/properties/DataFormat", "/properties/SchemaDefinition" ], "writeOnlyProperties" : [ "/properties/SchemaDefinition" ], "primaryIdentifier" : [ "/properties/Arn" ], "handlers" : { "create" : { - "permissions" : [ "glue:CreateSchema" ] + "permissions" : [ "glue:CreateSchema", "glue:TagResource" ] }, "read" : { "permissions" : [ "glue:GetSchemaVersion", "glue:GetSchema", "glue:GetTags" ] diff --git a/aws-cloudformation-schema/aws-iam-oidcprovider.json b/aws-cloudformation-schema/aws-iam-oidcprovider.json index 8837f4eba4..b27d551144 100644 --- a/aws-cloudformation-schema/aws-iam-oidcprovider.json +++ b/aws-cloudformation-schema/aws-iam-oidcprovider.json @@ -89,6 +89,8 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iam:TagOpenIDConnectProvider", "iam:UntagOpenIDConnectProvider", "iam:ListOpenIDConnectProviderTags" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-iam-samlprovider.json b/aws-cloudformation-schema/aws-iam-samlprovider.json index 0583e2d2fd..15cce382ec 100644 --- a/aws-cloudformation-schema/aws-iam-samlprovider.json +++ b/aws-cloudformation-schema/aws-iam-samlprovider.json @@ -76,6 +76,8 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iam:TagSAMLProvider", "iam:ListSAMLProviderTags", "iam:UntagSAMLProvider" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-iam-servercertificate.json b/aws-cloudformation-schema/aws-iam-servercertificate.json index b045c600b9..a2d6fe07fc 100644 --- a/aws-cloudformation-schema/aws-iam-servercertificate.json +++ b/aws-cloudformation-schema/aws-iam-servercertificate.json @@ -95,6 +95,8 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iam:TagServerCertificate", "iam:UntagServerCertificate", "iam:ListServerCertificateTags" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json b/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json index 6428ff21c3..bbbbc8860c 100644 --- a/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json +++ b/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json @@ -1,313 +1,194 @@ { - "typeName" : "AWS::Lambda::EventSourceMapping", - "description" : "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html)", - "additionalProperties" : false, - "properties" : { - "Id" : { - "description" : "", - "type" : "string", - "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", - "minLength" : 36, - "maxLength" : 36 - }, - "BatchSize" : { - "description" : "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* – Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* – Default 100. Max 10,000.\n + *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.\n + *Self-managed Apache Kafka* – Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.\n + *DocumentDB* – Default 100. Max 10,000.", - "type" : "integer", - "minimum" : 1, - "maximum" : 10000 - }, - "BisectBatchOnFunctionError" : { - "description" : "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", - "type" : "boolean" - }, - "DestinationConfig" : { - "description" : "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", - "$ref" : "#/definitions/DestinationConfig" - }, - "Enabled" : { - "description" : "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", - "type" : "boolean" - }, - "EventSourceArn" : { - "description" : "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* – The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* – The ARN of the stream.\n + *Amazon Simple Queue Service* – The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* – The ARN of the broker.\n + *Amazon DocumentDB* – The ARN of the DocumentDB change stream.", - "type" : "string", - "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "minLength" : 12, - "maxLength" : 1024 - }, - "EventSourceMappingArn" : { - "description" : "", - "type" : "string", - "pattern" : "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:event-source-mapping:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", - "minLength" : 85, - "maxLength" : 120 - }, - "FilterCriteria" : { - "description" : "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", - "$ref" : "#/definitions/FilterCriteria" - }, - "KmsKeyArn" : { - "description" : "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).", - "type" : "string", - "pattern" : "(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()", - "minLength" : 12, - "maxLength" : 2048 - }, - "FunctionName" : { - "description" : "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* – ``MyFunction``.\n + *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* – ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", - "type" : "string", - "pattern" : "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", - "minLength" : 1, - "maxLength" : 140 - }, - "MaximumBatchingWindowInSeconds" : { - "description" : "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", - "type" : "integer", - "minimum" : 0, - "maximum" : 300 - }, - "MaximumRecordAgeInSeconds" : { - "description" : "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", - "type" : "integer", - "minimum" : -1, - "maximum" : 604800 - }, - "MaximumRetryAttempts" : { - "description" : "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", - "type" : "integer", - "minimum" : -1, - "maximum" : 10000 + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : true + }, + "propertyTransform" : { + "/properties/StartingPositionTimestamp" : "StartingPositionTimestamp * 1000" + }, + "handlers" : { + "read" : { + "permissions" : [ "lambda:GetEventSourceMapping", "lambda:ListTags", "kms:Decrypt" ] }, - "ParallelizationFactor" : { - "description" : "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", - "type" : "integer", - "minimum" : 1, - "maximum" : 10 + "create" : { + "permissions" : [ "lambda:CreateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] }, - "StartingPosition" : { - "description" : "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", - "type" : "string", - "pattern" : "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+", - "minLength" : 6, - "maxLength" : 12 + "update" : { + "permissions" : [ "lambda:UpdateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] }, - "StartingPositionTimestamp" : { - "description" : "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", - "type" : "number" + "list" : { + "permissions" : [ "lambda:ListEventSourceMappings" ] }, - "Tags" : { - "description" : "", - "type" : "array", - "uniqueItems" : true, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/Tag" + "delete" : { + "permissions" : [ "lambda:DeleteEventSourceMapping", "lambda:GetEventSourceMapping", "kms:Decrypt" ] + } + }, + "typeName" : "AWS::Lambda::EventSourceMapping", + "readOnlyProperties" : [ "/properties/Id", "/properties/EventSourceMappingArn" ], + "description" : "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html)", + "createOnlyProperties" : [ "/properties/EventSourceArn", "/properties/StartingPosition", "/properties/StartingPositionTimestamp", "/properties/SelfManagedEventSource", "/properties/AmazonManagedKafkaEventSourceConfig", "/properties/SelfManagedKafkaEventSourceConfig" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Id" ], + "definitions" : { + "ScalingConfig" : { + "description" : "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "MaximumConcurrency" : { + "description" : "Limits the number of concurrent instances that the SQS event source can invoke.", + "$ref" : "#/definitions/MaximumConcurrency" + } } }, - "Topics" : { - "description" : "The name of the Kafka topic.", - "type" : "array", - "uniqueItems" : true, - "items" : { - "type" : "string", - "pattern" : "^[^.]([a-zA-Z0-9\\-_.]+)", - "minLength" : 1, - "maxLength" : 249 - }, - "minItems" : 1, - "maxItems" : 1 - }, - "Queues" : { - "description" : "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", - "type" : "array", - "uniqueItems" : true, - "items" : { - "type" : "string", - "pattern" : "[\\s\\S]*", - "minLength" : 1, - "maxLength" : 1000 - }, - "minItems" : 1, - "maxItems" : 1 - }, - "SourceAccessConfigurations" : { - "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/SourceAccessConfiguration" - }, - "minItems" : 1, - "maxItems" : 22 - }, - "TumblingWindowInSeconds" : { - "description" : "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", - "type" : "integer", - "minimum" : 0, - "maximum" : 900 - }, - "FunctionResponseTypes" : { - "description" : "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", - "type" : "array", - "uniqueItems" : true, - "items" : { - "type" : "string", - "enum" : [ "ReportBatchItemFailures" ] - }, - "minLength" : 0, - "maxLength" : 1 - }, "SelfManagedEventSource" : { "description" : "The self-managed Apache Kafka cluster for your event source.", - "$ref" : "#/definitions/SelfManagedEventSource" - }, - "AmazonManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "$ref" : "#/definitions/AmazonManagedKafkaEventSourceConfig" - }, - "SelfManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", - "$ref" : "#/definitions/SelfManagedKafkaEventSourceConfig" + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Endpoints" : { + "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "$ref" : "#/definitions/Endpoints" + } + } }, - "ScalingConfig" : { - "description" : "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", - "$ref" : "#/definitions/ScalingConfig" + "MaximumConcurrency" : { + "description" : "The maximum number of concurrent functions that an event source can invoke.", + "maximum" : 1000, + "type" : "integer", + "minimum" : 2 }, - "DocumentDBEventSourceConfig" : { - "description" : "Specific configuration settings for a DocumentDB event source.", - "$ref" : "#/definitions/DocumentDBEventSourceConfig" - } - }, - "definitions" : { - "DestinationConfig" : { - "type" : "object", + "SourceAccessConfiguration" : { + "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", "additionalProperties" : false, - "description" : "A configuration object that specifies the destination of an event after Lambda processes it.", + "type" : "object", "properties" : { - "OnFailure" : { - "description" : "The destination configuration for failed invocations.", - "$ref" : "#/definitions/OnFailure" + "Type" : { + "description" : "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` – (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` – (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` – (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` –- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` – (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.", + "type" : "string", + "enum" : [ "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST", "CLIENT_CERTIFICATE_TLS_AUTH", "SERVER_ROOT_CA_CERTIFICATE" ] + }, + "URI" : { + "minLength" : 1, + "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", + "description" : "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.", + "type" : "string", + "maxLength" : 200 } } }, "FilterCriteria" : { - "type" : "object", "description" : "An object that contains the filters for an event source.", "additionalProperties" : false, + "type" : "object", "properties" : { "Filters" : { + "minItems" : 1, + "maxItems" : 20, + "uniqueItems" : true, "description" : "A list of filters.", "type" : "array", - "uniqueItems" : true, "items" : { "$ref" : "#/definitions/Filter" - }, - "minItems" : 1, - "maxItems" : 20 + } } } }, - "Filter" : { - "type" : "object", - "description" : "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", + "SelfManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", "additionalProperties" : false, - "properties" : { - "Pattern" : { - "type" : "string", - "description" : "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", - "pattern" : ".*", - "minLength" : 0, - "maxLength" : 4096 - } - } - }, - "OnFailure" : { "type" : "object", - "description" : "A destination for events that failed processing.", - "additionalProperties" : false, "properties" : { - "Destination" : { - "description" : "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", - "type" : "string", - "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "minLength" : 12, - "maxLength" : 1024 + "ConsumerGroupId" : { + "description" : "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", + "$ref" : "#/definitions/ConsumerGroupId" } } }, - "SourceAccessConfiguration" : { - "type" : "object", + "DocumentDBEventSourceConfig" : { + "description" : "Specific configuration settings for a DocumentDB event source.", "additionalProperties" : false, - "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "type" : "object", "properties" : { - "Type" : { - "description" : "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` – (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` – (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` – (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` –- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` – (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.", - "enum" : [ "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST", "CLIENT_CERTIFICATE_TLS_AUTH", "SERVER_ROOT_CA_CERTIFICATE" ], - "type" : "string" + "FullDocument" : { + "description" : "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", + "type" : "string", + "enum" : [ "UpdateLookup", "Default" ] }, - "URI" : { - "description" : "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.", + "CollectionName" : { + "minLength" : 1, + "description" : "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", "type" : "string", - "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", + "maxLength" : 57 + }, + "DatabaseName" : { "minLength" : 1, - "maxLength" : 200 - } - } - }, - "SelfManagedEventSource" : { - "type" : "object", - "additionalProperties" : false, - "description" : "The self-managed Apache Kafka cluster for your event source.", - "properties" : { - "Endpoints" : { - "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", - "$ref" : "#/definitions/Endpoints" + "description" : "The name of the database to consume within the DocumentDB cluster.", + "type" : "string", + "maxLength" : 63 } } }, "Endpoints" : { - "type" : "object", - "additionalProperties" : false, "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "additionalProperties" : false, + "type" : "object", "properties" : { "KafkaBootstrapServers" : { - "type" : "array", - "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "minItems" : 1, + "maxItems" : 10, "uniqueItems" : true, + "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "type" : "array", "items" : { - "type" : "string", - "description" : "The URL of a Kafka server.", - "pattern" : "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}", "minLength" : 1, + "pattern" : "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}", + "description" : "The URL of a Kafka server.", + "type" : "string", "maxLength" : 300 - }, - "minItems" : 1, - "maxItems" : 10 + } + } + } + }, + "DestinationConfig" : { + "description" : "A configuration object that specifies the destination of an event after Lambda processes it.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "OnFailure" : { + "description" : "The destination configuration for failed invocations.", + "$ref" : "#/definitions/OnFailure" } } }, "ConsumerGroupId" : { + "minLength" : 1, + "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", "description" : "The identifier for the Kafka Consumer Group to join.", "type" : "string", - "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", - "minLength" : 1, "maxLength" : 200 }, - "AmazonManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "type" : "object", + "Filter" : { + "description" : "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", "additionalProperties" : false, + "type" : "object", "properties" : { - "ConsumerGroupId" : { - "description" : "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", - "$ref" : "#/definitions/ConsumerGroupId" + "Pattern" : { + "minLength" : 0, + "pattern" : ".*", + "description" : "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", + "type" : "string", + "maxLength" : 4096 } } }, - "SelfManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", - "type" : "object", + "AmazonManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", "additionalProperties" : false, + "type" : "object", "properties" : { "ConsumerGroupId" : { "description" : "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", @@ -315,97 +196,216 @@ } } }, - "MaximumConcurrency" : { - "description" : "The maximum number of concurrent functions that an event source can invoke.", - "type" : "integer", - "minimum" : 2, - "maximum" : 1000 - }, - "ScalingConfig" : { - "description" : "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", - "type" : "object", - "additionalProperties" : false, - "properties" : { - "MaximumConcurrency" : { - "description" : "Limits the number of concurrent instances that the SQS event source can invoke.", - "$ref" : "#/definitions/MaximumConcurrency" - } - } - }, "Tag" : { - "type" : "object", + "description" : "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping.", "additionalProperties" : false, + "type" : "object", "properties" : { - "Key" : { - "type" : "string", - "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "minLength" : 1, - "maxLength" : 128 - }, "Value" : { - "type" : "string", - "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", "minLength" : 0, + "description" : "The value for this tag.", + "type" : "string", "maxLength" : 256 + }, + "Key" : { + "minLength" : 1, + "description" : "The key for this tag.", + "type" : "string", + "maxLength" : 128 } }, - "required" : [ "Key" ], - "description" : "" + "required" : [ "Key" ] }, - "DocumentDBEventSourceConfig" : { - "description" : "Specific configuration settings for a DocumentDB event source.", - "type" : "object", + "OnFailure" : { + "description" : "A destination for events that failed processing.", "additionalProperties" : false, + "type" : "object", "properties" : { - "DatabaseName" : { - "description" : "The name of the database to consume within the DocumentDB cluster.", - "type" : "string", - "minLength" : 1, - "maxLength" : 63 - }, - "CollectionName" : { - "description" : "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", - "type" : "string", - "minLength" : 1, - "maxLength" : 57 - }, - "FullDocument" : { - "description" : "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", + "Destination" : { + "minLength" : 12, + "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "description" : "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", "type" : "string", - "enum" : [ "UpdateLookup", "Default" ] + "maxLength" : 1024 } } } }, "required" : [ "FunctionName" ], - "createOnlyProperties" : [ "/properties/EventSourceArn", "/properties/StartingPosition", "/properties/StartingPositionTimestamp", "/properties/SelfManagedEventSource", "/properties/AmazonManagedKafkaEventSourceConfig", "/properties/SelfManagedKafkaEventSourceConfig" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/EventSourceMappingArn" ], - "primaryIdentifier" : [ "/properties/Id" ], - "propertyTransform" : { - "/properties/StartingPositionTimestamp" : "StartingPositionTimestamp * 1000" - }, - "handlers" : { - "create" : { - "permissions" : [ "lambda:CreateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] + "properties" : { + "StartingPosition" : { + "minLength" : 6, + "pattern" : "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+", + "description" : "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", + "type" : "string", + "maxLength" : 12 }, - "delete" : { - "permissions" : [ "lambda:DeleteEventSourceMapping", "lambda:GetEventSourceMapping", "kms:Decrypt" ] + "SelfManagedEventSource" : { + "description" : "The self-managed Apache Kafka cluster for your event source.", + "$ref" : "#/definitions/SelfManagedEventSource" }, - "list" : { - "permissions" : [ "lambda:ListEventSourceMappings" ] + "ParallelizationFactor" : { + "description" : "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", + "maximum" : 10, + "type" : "integer", + "minimum" : 1 }, - "read" : { - "permissions" : [ "lambda:GetEventSourceMapping", "lambda:ListTags", "kms:Decrypt" ] + "FilterCriteria" : { + "description" : "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", + "$ref" : "#/definitions/FilterCriteria" }, - "update" : { - "permissions" : [ "lambda:UpdateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] + "FunctionName" : { + "minLength" : 1, + "pattern" : "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "description" : "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* – ``MyFunction``.\n + *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* – ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", + "type" : "string", + "maxLength" : 140 + }, + "DestinationConfig" : { + "description" : "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", + "$ref" : "#/definitions/DestinationConfig" + }, + "KmsKeyArn" : { + "minLength" : 12, + "pattern" : "(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()", + "description" : "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).", + "type" : "string", + "maxLength" : 2048 + }, + "AmazonManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", + "$ref" : "#/definitions/AmazonManagedKafkaEventSourceConfig" + }, + "SourceAccessConfigurations" : { + "minItems" : 1, + "maxItems" : 22, + "uniqueItems" : true, + "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "type" : "array", + "items" : { + "$ref" : "#/definitions/SourceAccessConfiguration" + } + }, + "Tags" : { + "uniqueItems" : true, + "description" : "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } + }, + "MaximumBatchingWindowInSeconds" : { + "description" : "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", + "maximum" : 300, + "type" : "integer", + "minimum" : 0 + }, + "BatchSize" : { + "description" : "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* – Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* – Default 100. Max 10,000.\n + *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.\n + *Self-managed Apache Kafka* – Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.\n + *DocumentDB* – Default 100. Max 10,000.", + "maximum" : 10000, + "type" : "integer", + "minimum" : 1 + }, + "MaximumRetryAttempts" : { + "description" : "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", + "maximum" : 10000, + "type" : "integer", + "minimum" : -1 + }, + "Topics" : { + "minItems" : 1, + "maxItems" : 1, + "uniqueItems" : true, + "description" : "The name of the Kafka topic.", + "type" : "array", + "items" : { + "minLength" : 1, + "pattern" : "^[^.]([a-zA-Z0-9\\-_.]+)", + "type" : "string", + "maxLength" : 249 + } + }, + "ScalingConfig" : { + "description" : "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", + "$ref" : "#/definitions/ScalingConfig" + }, + "Enabled" : { + "description" : "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", + "type" : "boolean" + }, + "EventSourceArn" : { + "minLength" : 12, + "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "description" : "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* – The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* – The ARN of the stream.\n + *Amazon Simple Queue Service* – The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* – The ARN of the broker.\n + *Amazon DocumentDB* – The ARN of the DocumentDB change stream.", + "type" : "string", + "maxLength" : 1024 + }, + "SelfManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", + "$ref" : "#/definitions/SelfManagedKafkaEventSourceConfig" + }, + "DocumentDBEventSourceConfig" : { + "description" : "Specific configuration settings for a DocumentDB event source.", + "$ref" : "#/definitions/DocumentDBEventSourceConfig" + }, + "TumblingWindowInSeconds" : { + "description" : "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", + "maximum" : 900, + "type" : "integer", + "minimum" : 0 + }, + "BisectBatchOnFunctionError" : { + "description" : "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", + "type" : "boolean" + }, + "EventSourceMappingArn" : { + "minLength" : 85, + "pattern" : "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:event-source-mapping:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", + "description" : "", + "type" : "string", + "maxLength" : 120 + }, + "MaximumRecordAgeInSeconds" : { + "description" : "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", + "maximum" : 604800, + "type" : "integer", + "minimum" : -1 + }, + "StartingPositionTimestamp" : { + "description" : "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", + "type" : "number" + }, + "Queues" : { + "minItems" : 1, + "maxItems" : 1, + "uniqueItems" : true, + "description" : "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", + "type" : "array", + "items" : { + "minLength" : 1, + "pattern" : "[\\s\\S]*", + "type" : "string", + "maxLength" : 1000 + } + }, + "Id" : { + "minLength" : 36, + "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "description" : "", + "type" : "string", + "maxLength" : 36 + }, + "FunctionResponseTypes" : { + "uniqueItems" : true, + "minLength" : 0, + "description" : "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", + "type" : "array", + "items" : { + "type" : "string", + "enum" : [ "ReportBatchItemFailures" ] + }, + "maxLength" : 1 } - }, - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-lambda-version.json b/aws-cloudformation-schema/aws-lambda-version.json index 28bc811f3d..fcf6e4056e 100644 --- a/aws-cloudformation-schema/aws-lambda-version.json +++ b/aws-cloudformation-schema/aws-lambda-version.json @@ -27,22 +27,7 @@ "description" : "The name of the Lambda function.", "minLength" : 1, "maxLength" : 140, - "pattern" : "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$", - "anyOf" : [ { - "relationshipRef" : { - "typeName" : "AWS::Lambda::Function", - "propertyPath" : "/properties/FunctionName" - } - }, { - "relationshipRef" : { - "typeName" : "AWS::Lambda::Function", - "propertyPath" : "/properties/Arn" - } - } ] - }, - "Policy" : { - "description" : "The resource policy of your function", - "type" : "object" + "pattern" : "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" }, "ProvisionedConcurrencyConfig" : { "description" : "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property.", diff --git a/aws-cloudformation-schema/aws-mediapackage-originendpoint.json b/aws-cloudformation-schema/aws-mediapackage-originendpoint.json index 2bc7e3d9ca..83378e13f7 100644 --- a/aws-cloudformation-schema/aws-mediapackage-originendpoint.json +++ b/aws-cloudformation-schema/aws-mediapackage-originendpoint.json @@ -506,9 +506,10 @@ "tagging" : { "taggable" : true, "tagOnCreate" : true, - "tagUpdatable" : false, + "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "mediapackage:TagResource", "mediapackage:UntagResource" ] }, "additionalProperties" : false, "required" : [ "Id", "ChannelId" ], @@ -524,7 +525,7 @@ "permissions" : [ "mediapackage:DescribeOriginEndpoint" ] }, "update" : { - "permissions" : [ "mediapackage:UpdateOriginEndpoint", "iam:PassRole" ] + "permissions" : [ "mediapackage:UpdateOriginEndpoint", "mediapackage:TagResource", "mediapackage:ListTagsForResource", "mediapackage:UntagResource", "mediapackage:DescribeOriginEndpoint", "iam:PassRole" ] }, "delete" : { "permissions" : [ "mediapackage:DeleteOriginEndpoint" ] diff --git a/aws-cloudformation-schema/aws-msk-cluster.json b/aws-cloudformation-schema/aws-msk-cluster.json index 23e0c94bdf..ecdfed49ba 100644 --- a/aws-cloudformation-schema/aws-msk-cluster.json +++ b/aws-cloudformation-schema/aws-msk-cluster.json @@ -466,7 +466,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "kafka:TagResource", "kafka:UntagResource", "kafka:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-organizations-account.json b/aws-cloudformation-schema/aws-organizations-account.json index 7d9a7681ae..15583047f0 100644 --- a/aws-cloudformation-schema/aws-organizations-account.json +++ b/aws-cloudformation-schema/aws-organizations-account.json @@ -99,7 +99,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "organizations:TagResource", "organizations:UntagResource", "organizations:ListTagsForResource" ] }, "additionalProperties" : false, "required" : [ "AccountName", "Email" ], diff --git a/aws-cloudformation-schema/aws-organizations-organizationalunit.json b/aws-cloudformation-schema/aws-organizations-organizationalunit.json index fb50ee0169..dcf805a79f 100644 --- a/aws-cloudformation-schema/aws-organizations-organizationalunit.json +++ b/aws-cloudformation-schema/aws-organizations-organizationalunit.json @@ -89,7 +89,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "organizations:TagResource", "organizations:UntagResource", "organizations:ListTagsForResource" ] }, "required" : [ "Name", "ParentId" ], "createOnlyProperties" : [ "/properties/ParentId" ], diff --git a/aws-cloudformation-schema/aws-organizations-policy.json b/aws-cloudformation-schema/aws-organizations-policy.json index 247aa66274..1d179d37cc 100644 --- a/aws-cloudformation-schema/aws-organizations-policy.json +++ b/aws-cloudformation-schema/aws-organizations-policy.json @@ -11,9 +11,9 @@ "maxLength" : 128 }, "Type" : { - "description" : "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY", + "description" : "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY", "type" : "string", - "enum" : [ "SERVICE_CONTROL_POLICY", "AISERVICES_OPT_OUT_POLICY", "BACKUP_POLICY", "TAG_POLICY" ] + "enum" : [ "SERVICE_CONTROL_POLICY", "AISERVICES_OPT_OUT_POLICY", "BACKUP_POLICY", "TAG_POLICY", "CHATBOT_POLICY" ] }, "Content" : { "description" : "The Policy text content. For AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it.", @@ -92,7 +92,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "organizations:TagResource", "organizations:UntagResource", "organizations:ListTagsForResource" ] }, "required" : [ "Name", "Type", "Content" ], "primaryIdentifier" : [ "/properties/Id" ], diff --git a/aws-cloudformation-schema/aws-organizations-resourcepolicy.json b/aws-cloudformation-schema/aws-organizations-resourcepolicy.json index 80f9cf4f10..124f2f947b 100644 --- a/aws-cloudformation-schema/aws-organizations-resourcepolicy.json +++ b/aws-cloudformation-schema/aws-organizations-resourcepolicy.json @@ -75,7 +75,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "organizations:TagResource", "organizations:UntagResource", "organizations:ListTagsForResource" ] }, "required" : [ "Content" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ], diff --git a/aws-cloudformation-schema/aws-qbusiness-webexperience.json b/aws-cloudformation-schema/aws-qbusiness-webexperience.json index a65bb8758d..006f63ba73 100644 --- a/aws-cloudformation-schema/aws-qbusiness-webexperience.json +++ b/aws-cloudformation-schema/aws-qbusiness-webexperience.json @@ -81,6 +81,12 @@ "WebExperienceStatus" : { "type" : "string", "enum" : [ "CREATING", "ACTIVE", "DELETING", "FAILED", "PENDING_AUTH_CONFIG" ] + }, + "Origin" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^(http:\\/\\/|https:\\/\\/)[a-zA-Z0-9-_.]+(?::[0-9]{1,5})?$" } }, "properties" : { @@ -156,6 +162,15 @@ "type" : "string", "maxLength" : 300, "minLength" : 0 + }, + "Origins" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Origin" + }, + "maxItems" : 10, + "minItems" : 0 } }, "required" : [ "ApplicationId" ], diff --git a/aws-cloudformation-schema/aws-quicksight-analysis.json b/aws-cloudformation-schema/aws-quicksight-analysis.json index a524adcbd2..7d36abd520 100644 --- a/aws-cloudformation-schema/aws-quicksight-analysis.json +++ b/aws-cloudformation-schema/aws-quicksight-analysis.json @@ -5,7 +5,7 @@ "permissions" : [ "quicksight:DescribeAnalysis", "quicksight:DescribeAnalysisPermissions", "quicksight:ListTagsForResource" ] }, "create" : { - "permissions" : [ "quicksight:DescribeAnalysis", "quicksight:DescribeAnalysisPermissions", "quicksight:CreateAnalysis", "quicksight:DescribeTemplate", "quicksight:DescribeTheme", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] + "permissions" : [ "quicksight:DescribeAnalysis", "quicksight:DescribeAnalysisPermissions", "quicksight:CreateAnalysis", "quicksight:DescribeTemplate", "quicksight:DescribeTheme", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource" ] }, "update" : { "permissions" : [ "quicksight:DescribeAnalysis", "quicksight:DescribeAnalysisPermissions", "quicksight:UpdateAnalysis", "quicksight:UpdateAnalysisPermissions", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource", "quicksight:DescribeTemplate", "quicksight:DescribeTheme", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] @@ -28,7 +28,7 @@ "typeName" : "AWS::QuickSight::Analysis", "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedTime", "/properties/DataSetArns", "/properties/LastUpdatedTime" ], "description" : "Definition of the AWS::QuickSight::Analysis Resource Type.", - "writeOnlyProperties" : [ "/properties/Definition", "/properties/Parameters", "/properties/SourceEntity", "/properties/Status", "/properties/ValidationStrategy" ], + "writeOnlyProperties" : [ "/properties/Definition", "/properties/Parameters", "/properties/SourceEntity", "/properties/Status", "/properties/ValidationStrategy", "/properties/FolderArns" ], "createOnlyProperties" : [ "/properties/AnalysisId", "/properties/AwsAccountId" ], "additionalProperties" : false, "primaryIdentifier" : [ "/properties/AnalysisId", "/properties/AwsAccountId" ], @@ -10384,6 +10384,14 @@ "ValidationStrategy" : { "$ref" : "#/definitions/ValidationStrategy" }, + "FolderArns" : { + "minItems" : 0, + "maxItems" : 10, + "type" : "array", + "items" : { + "type" : "string" + } + }, "Name" : { "minLength" : 1, "description" : "

The descriptive name of the analysis.

", diff --git a/aws-cloudformation-schema/aws-quicksight-dashboard.json b/aws-cloudformation-schema/aws-quicksight-dashboard.json index 621a17b4b2..9ca460df64 100644 --- a/aws-cloudformation-schema/aws-quicksight-dashboard.json +++ b/aws-cloudformation-schema/aws-quicksight-dashboard.json @@ -5,7 +5,7 @@ "permissions" : [ "quicksight:DescribeDashboard", "quicksight:DescribeDashboardPermissions", "quicksight:ListTagsForResource" ] }, "create" : { - "permissions" : [ "quicksight:DescribeDashboard", "quicksight:DescribeDashboardPermissions", "quicksight:CreateDashboard", "quicksight:DescribeTemplate", "quicksight:DescribeTheme", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] + "permissions" : [ "quicksight:DescribeDashboard", "quicksight:DescribeDashboardPermissions", "quicksight:CreateDashboard", "quicksight:DescribeTemplate", "quicksight:DescribeTheme", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource" ] }, "update" : { "permissions" : [ "quicksight:DescribeDashboard", "quicksight:DescribeDashboardPermissions", "quicksight:UpdateDashboard", "quicksight:UpdateDashboardLinks", "quicksight:UpdateDashboardPermissions", "quicksight:UpdateDashboardPublishedVersion", "quicksight:DescribeTemplate", "quicksight:DescribeTheme", "quicksight:PassDataSet", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] @@ -28,7 +28,7 @@ "typeName" : "AWS::QuickSight::Dashboard", "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedTime", "/properties/LastPublishedTime", "/properties/LastUpdatedTime", "/properties/Version" ], "description" : "Definition of the AWS::QuickSight::Dashboard Resource Type.", - "writeOnlyProperties" : [ "/properties/DashboardPublishOptions", "/properties/Definition", "/properties/LinkSharingConfiguration", "/properties/Parameters", "/properties/SourceEntity", "/properties/ThemeArn", "/properties/VersionDescription", "/properties/ValidationStrategy" ], + "writeOnlyProperties" : [ "/properties/DashboardPublishOptions", "/properties/Definition", "/properties/LinkSharingConfiguration", "/properties/Parameters", "/properties/SourceEntity", "/properties/ThemeArn", "/properties/VersionDescription", "/properties/ValidationStrategy", "/properties/FolderArns" ], "createOnlyProperties" : [ "/properties/AwsAccountId", "/properties/DashboardId" ], "additionalProperties" : false, "primaryIdentifier" : [ "/properties/AwsAccountId", "/properties/DashboardId" ], @@ -10604,6 +10604,14 @@ "ValidationStrategy" : { "$ref" : "#/definitions/ValidationStrategy" }, + "FolderArns" : { + "minItems" : 0, + "maxItems" : 10, + "type" : "array", + "items" : { + "type" : "string" + } + }, "DashboardId" : { "minLength" : 1, "pattern" : "^[\\w\\-]+$", diff --git a/aws-cloudformation-schema/aws-quicksight-dataset.json b/aws-cloudformation-schema/aws-quicksight-dataset.json index 1b68bdf981..c5d8c48e53 100644 --- a/aws-cloudformation-schema/aws-quicksight-dataset.json +++ b/aws-cloudformation-schema/aws-quicksight-dataset.json @@ -11,7 +11,7 @@ "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:ListTagsForResource", "quicksight:DescribeDataSetRefreshProperties" ] }, "create" : { - "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:DescribeIngestion", "quicksight:ListIngestions", "quicksight:CreateDataSet", "quicksight:PassDataSource", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:ListTagsForResource", "quicksight:DescribeDataSetRefreshProperties", "quicksight:PutDataSetRefreshProperties" ] + "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:DescribeIngestion", "quicksight:ListIngestions", "quicksight:CreateDataSet", "quicksight:PassDataSource", "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:ListTagsForResource", "quicksight:DescribeDataSetRefreshProperties", "quicksight:PutDataSetRefreshProperties", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource" ] }, "update" : { "permissions" : [ "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:PassDataSource", "quicksight:UpdateDataSet", "quicksight:UpdateDataSetPermissions", "quicksight:PassDataSet", "quicksight:DescribeIngestion", "quicksight:ListIngestions", "quicksight:CancelIngestion", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource", "quicksight:PutDataSetRefreshProperties", "quicksight:DescribeDataSetRefreshProperties", "quicksight:DeleteDataSetRefreshProperties" ] @@ -463,7 +463,7 @@ "maxLength" : 256 } }, - "required" : [ "DataSourceArn", "InputColumns", "Name" ] + "required" : [ "DataSourceArn", "Name" ] }, "DatasetParameterValueType" : { "type" : "string", @@ -1200,7 +1200,7 @@ "maxLength" : 128 } }, - "required" : [ "Columns", "DataSourceArn", "Name", "SqlQuery" ] + "required" : [ "DataSourceArn", "Name", "SqlQuery" ] }, "ProjectOperation" : { "description" : "

A transform operation that projects columns. Operations that come after a projection\n can only refer to projected columns.

", diff --git a/aws-cloudformation-schema/aws-quicksight-datasource.json b/aws-cloudformation-schema/aws-quicksight-datasource.json index 9bb8e76494..9716fefd4f 100644 --- a/aws-cloudformation-schema/aws-quicksight-datasource.json +++ b/aws-cloudformation-schema/aws-quicksight-datasource.json @@ -1,903 +1,911 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", - "handlers" : { - "read" : { - "permissions" : [ "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:ListTagsForResource" ] - }, - "create" : { - "permissions" : [ "quicksight:CreateDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:TagResource", "quicksight:ListTagsForResource" ] - }, - "update" : { - "permissions" : [ "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:UpdateDataSource", "quicksight:UpdateDataSourcePermissions", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] - }, - "list" : { - "permissions" : [ "quicksight:DescribeDataSource", "quicksight:ListDataSources" ] - }, - "delete" : { - "permissions" : [ "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:DeleteDataSource", "quicksight:ListTagsForResource" ] - } - }, "typeName" : "AWS::QuickSight::DataSource", - "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedTime", "/properties/LastUpdatedTime", "/properties/Status" ], "description" : "Definition of the AWS::QuickSight::DataSource Resource Type.", - "writeOnlyProperties" : [ "/properties/Credentials" ], - "createOnlyProperties" : [ "/properties/AwsAccountId", "/properties/DataSourceId", "/properties/Type" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/AwsAccountId", "/properties/DataSourceId" ], "definitions" : { - "AuroraPostgreSqlParameters" : { - "description" : "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

", - "additionalProperties" : false, + "AmazonElasticsearchParameters" : { "type" : "object", + "description" : "

The parameters for OpenSearch.

", "properties" : { - "Port" : { - "default" : 0, - "maximum" : 65535, - "description" : "

The port that Amazon Aurora PostgreSQL is listening on.

", - "type" : "number", - "minimum" : 1 - }, - "Database" : { - "minLength" : 1, - "description" : "

The Amazon Aurora PostgreSQL database to connect to.

", + "Domain" : { "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 64, "minLength" : 1, - "description" : "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

", - "type" : "string", - "maxLength" : 256 + "description" : "

The OpenSearch domain.

" } }, - "required" : [ "Database", "Host", "Port" ] - }, - "DataSourceCredentials" : { - "description" : "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "SecretArn" : { - "minLength" : 1, - "pattern" : "^arn:[-a-z0-9]*:secretsmanager:[-a-z0-9]*:[0-9]{12}:secret:.+$", - "description" : "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

", - "type" : "string", - "maxLength" : 2048 - }, - "CopySourceArn" : { - "pattern" : "^arn:[-a-z0-9]*:quicksight:[-a-z0-9]*:[0-9]{12}:datasource/.+$", - "description" : "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

", - "type" : "string" - }, - "CredentialPair" : { - "$ref" : "#/definitions/CredentialPair" - } - } + "required" : [ "Domain" ], + "additionalProperties" : false }, - "ManifestFileLocation" : { - "description" : "

Amazon S3 manifest file location.

", - "additionalProperties" : false, + "AmazonOpenSearchParameters" : { "type" : "object", + "description" : "

The parameters for OpenSearch.

", "properties" : { - "Bucket" : { - "minLength" : 1, - "description" : "

Amazon S3 bucket.

", + "Domain" : { "type" : "string", - "maxLength" : 1024 - }, - "Key" : { + "maxLength" : 64, "minLength" : 1, - "description" : "

Amazon S3 key that identifies an object.

", - "type" : "string", - "maxLength" : 1024 + "description" : "

The OpenSearch domain.

" } }, - "required" : [ "Bucket", "Key" ] + "required" : [ "Domain" ], + "additionalProperties" : false }, - "StarburstParameters" : { - "description" : "

The parameters that are required to connect to a Starburst data source.

", - "additionalProperties" : false, + "AthenaParameters" : { "type" : "object", + "description" : "

Parameters for Amazon Athena.

", "properties" : { - "Port" : { - "default" : 0, - "maximum" : 65535, - "description" : "

The port for the Starburst data source.

", - "type" : "number", - "minimum" : 1 - }, - "ProductType" : { - "$ref" : "#/definitions/StarburstProductType" - }, - "Host" : { - "minLength" : 1, - "description" : "

The host name of the Starburst data source.

", + "WorkGroup" : { "type" : "string", - "maxLength" : 256 + "maxLength" : 128, + "minLength" : 1, + "description" : "

The workgroup that Amazon Athena uses.

" }, - "Catalog" : { - "minLength" : 0, - "description" : "

The catalog name for the Starburst data source.

", + "RoleArn" : { "type" : "string", - "maxLength" : 128 + "maxLength" : 2048, + "minLength" : 20, + "description" : "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

" } }, - "required" : [ "Catalog", "Host", "Port" ] + "additionalProperties" : false }, - "RedshiftParameters" : { - "description" : "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

", - "additionalProperties" : false, + "AuroraParameters" : { "type" : "object", + "description" : "

Parameters for Amazon Aurora.

", "properties" : { - "IAMParameters" : { - "$ref" : "#/definitions/RedshiftIAMParameters" - }, - "ClusterId" : { - "minLength" : 1, - "description" : "

Cluster ID. This field can be blank if the Host and Port are\n provided.

", + "Host" : { "type" : "string", - "maxLength" : 64 + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

Port. This field can be blank if the ClusterId is provided.

", - "type" : "number", - "minimum" : 0 + "minimum" : 1, + "description" : "

Port.

" }, "Database" : { - "minLength" : 1, - "description" : "

Database.

", "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 128, "minLength" : 1, - "description" : "

Host. This field can be blank if ClusterId is provided.

", - "type" : "string", - "maxLength" : 256 - }, - "IdentityCenterConfiguration" : { - "$ref" : "#/definitions/IdentityCenterConfiguration" + "description" : "

Database.

" } }, - "required" : [ "Database" ] + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false }, - "VpcConnectionProperties" : { - "description" : "

VPC connection properties.

", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "VpcConnectionArn" : { - "description" : "

The Amazon Resource Name (ARN) for the VPC connection.

", - "type" : "string" - } - }, - "required" : [ "VpcConnectionArn" ] - }, - "SnowflakeParameters" : { - "description" : "

The parameters for Snowflake.

", - "additionalProperties" : false, + "AuroraPostgreSqlParameters" : { "type" : "object", + "description" : "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

", "properties" : { - "Warehouse" : { - "minLength" : 0, - "description" : "

Warehouse.

", + "Host" : { "type" : "string", - "maxLength" : 128 + "maxLength" : 256, + "minLength" : 1, + "description" : "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

" + }, + "Port" : { + "type" : "number", + "default" : 0, + "maximum" : 65535, + "minimum" : 1, + "description" : "

The port that Amazon Aurora PostgreSQL is listening on.

" }, "Database" : { - "minLength" : 1, - "description" : "

Database.

", "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 128, "minLength" : 1, - "description" : "

Host.

", - "type" : "string", - "maxLength" : 256 + "description" : "

The Amazon Aurora PostgreSQL database to connect to.

" } }, - "required" : [ "Database", "Host", "Warehouse" ] + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false }, - "DataSourceType" : { - "type" : "string", - "enum" : [ "ADOBE_ANALYTICS", "AMAZON_ELASTICSEARCH", "AMAZON_OPENSEARCH", "ATHENA", "AURORA", "AURORA_POSTGRESQL", "AWS_IOT_ANALYTICS", "DATABRICKS", "DENODO", "DREMIO", "DYNAMODB", "SAPHANA", "DB2_AS400", "EXASOL", "FILE", "GITHUB", "JIRA", "MARIADB", "MYSQL", "ORACLE", "POSTGRESQL", "PRESTO", "REDSHIFT", "S3", "SALESFORCE", "SERVICENOW", "SNOWFLAKE", "SPARK", "SQLSERVER", "TERADATA", "TIMESTREAM", "TWITTER", "BIGQUERY", "GOOGLE_ANALYTICS", "TRINO", "STARBURST", "MONGO", "MONGO_ATLAS", "DOCUMENTDB", "APPFLOW", "IMPALA", "GLUE" ] - }, - "AmazonElasticsearchParameters" : { - "description" : "

The parameters for OpenSearch.

", - "additionalProperties" : false, + "AwsIotAnalyticsParameters" : { "type" : "object", + "description" : "

The parameters for IoT Analytics.

", "properties" : { - "Domain" : { - "minLength" : 1, - "description" : "

The OpenSearch domain.

", + "DataSetName" : { "type" : "string", - "maxLength" : 64 + "maxLength" : 128, + "minLength" : 1, + "description" : "

Dataset name.

" } }, - "required" : [ "Domain" ] + "required" : [ "DataSetName" ], + "additionalProperties" : false }, - "AmazonOpenSearchParameters" : { - "description" : "

The parameters for OpenSearch.

", - "additionalProperties" : false, + "CredentialPair" : { "type" : "object", + "description" : "

The combination of user name and password that are used as credentials.

", "properties" : { - "Domain" : { + "Username" : { + "type" : "string", + "maxLength" : 64, "minLength" : 1, - "description" : "

The OpenSearch domain.

", + "description" : "

User name.

" + }, + "Password" : { "type" : "string", - "maxLength" : 64 + "maxLength" : 1024, + "minLength" : 1, + "description" : "

Password.

" + }, + "AlternateDataSourceParameters" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/DataSourceParameters" + }, + "maxItems" : 50, + "minItems" : 1, + "description" : "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

" } }, - "required" : [ "Domain" ] + "required" : [ "Password", "Username" ], + "additionalProperties" : false }, - "ResourceStatus" : { - "type" : "string", - "enum" : [ "CREATION_IN_PROGRESS", "CREATION_SUCCESSFUL", "CREATION_FAILED", "UPDATE_IN_PROGRESS", "UPDATE_SUCCESSFUL", "UPDATE_FAILED", "DELETED" ] - }, - "AuroraParameters" : { - "description" : "

Parameters for Amazon Aurora.

", - "additionalProperties" : false, + "DataSourceCredentials" : { "type" : "object", + "description" : "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

", "properties" : { - "Port" : { - "default" : 0, - "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "CredentialPair" : { + "$ref" : "#/definitions/CredentialPair" }, - "Database" : { - "minLength" : 1, - "description" : "

Database.

", + "CopySourceArn" : { "type" : "string", - "maxLength" : 128 + "pattern" : "^arn:[-a-z0-9]*:quicksight:[-a-z0-9]*:[0-9]{12}:datasource/.+$", + "description" : "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

" }, - "Host" : { - "minLength" : 1, - "description" : "

Host.

", + "SecretArn" : { "type" : "string", - "maxLength" : 256 + "maxLength" : 2048, + "minLength" : 1, + "pattern" : "^arn:[-a-z0-9]*:secretsmanager:[-a-z0-9]*:[0-9]{12}:secret:.+$", + "description" : "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

" } }, - "required" : [ "Database", "Host", "Port" ] + "additionalProperties" : false }, - "S3Parameters" : { - "description" : "

The parameters for S3.

", - "additionalProperties" : false, + "DataSourceErrorInfo" : { "type" : "object", + "description" : "

Error information for the data source creation or update.

", "properties" : { - "ManifestFileLocation" : { - "$ref" : "#/definitions/ManifestFileLocation" + "Type" : { + "$ref" : "#/definitions/DataSourceErrorInfoType" }, - "RoleArn" : { - "minLength" : 20, - "description" : "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

", + "Message" : { "type" : "string", - "maxLength" : 2048 + "description" : "

Error message.

" } }, - "required" : [ "ManifestFileLocation" ] - }, - "IdentityCenterConfiguration" : { - "description" : "

The parameters for an IAM Identity Center configuration.

", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "EnableIdentityPropagation" : { - "default" : null, - "description" : "

A Boolean option that controls whether Trusted Identity Propagation should be used.

", - "type" : "boolean" - } - } - }, - "SslProperties" : { - "description" : "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "DisableSsl" : { - "default" : false, - "description" : "

A Boolean option to control whether SSL should be disabled.

", - "type" : "boolean" - } - } + "additionalProperties" : false }, "DataSourceErrorInfoType" : { "type" : "string", "enum" : [ "ACCESS_DENIED", "COPY_SOURCE_NOT_FOUND", "TIMEOUT", "ENGINE_VERSION_NOT_SUPPORTED", "UNKNOWN_HOST", "GENERIC_SQL_FAILURE", "CONFLICT", "UNKNOWN" ] }, - "ResourcePermission" : { - "description" : "

Permission for the resource.

", - "additionalProperties" : false, + "DataSourceParameters" : { "type" : "object", + "description" : "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

", "properties" : { - "Actions" : { - "minItems" : 1, - "maxItems" : 20, - "description" : "

The IAM action to grant or revoke permissions on.

", - "type" : "array", - "items" : { - "type" : "string" - } + "AmazonElasticsearchParameters" : { + "$ref" : "#/definitions/AmazonElasticsearchParameters" }, - "Resource" : { - "type" : "string" + "AthenaParameters" : { + "$ref" : "#/definitions/AthenaParameters" + }, + "AuroraParameters" : { + "$ref" : "#/definitions/AuroraParameters" + }, + "AuroraPostgreSqlParameters" : { + "$ref" : "#/definitions/AuroraPostgreSqlParameters" + }, + "MariaDbParameters" : { + "$ref" : "#/definitions/MariaDbParameters" + }, + "MySqlParameters" : { + "$ref" : "#/definitions/MySqlParameters" + }, + "OracleParameters" : { + "$ref" : "#/definitions/OracleParameters" + }, + "PostgreSqlParameters" : { + "$ref" : "#/definitions/PostgreSqlParameters" + }, + "PrestoParameters" : { + "$ref" : "#/definitions/PrestoParameters" + }, + "RdsParameters" : { + "$ref" : "#/definitions/RdsParameters" + }, + "RedshiftParameters" : { + "$ref" : "#/definitions/RedshiftParameters" + }, + "S3Parameters" : { + "$ref" : "#/definitions/S3Parameters" + }, + "SnowflakeParameters" : { + "$ref" : "#/definitions/SnowflakeParameters" + }, + "SparkParameters" : { + "$ref" : "#/definitions/SparkParameters" + }, + "SqlServerParameters" : { + "$ref" : "#/definitions/SqlServerParameters" + }, + "TeradataParameters" : { + "$ref" : "#/definitions/TeradataParameters" + }, + "AmazonOpenSearchParameters" : { + "$ref" : "#/definitions/AmazonOpenSearchParameters" + }, + "DatabricksParameters" : { + "$ref" : "#/definitions/DatabricksParameters" + }, + "StarburstParameters" : { + "$ref" : "#/definitions/StarburstParameters" }, - "Principal" : { - "minLength" : 1, - "description" : "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n ", - "type" : "string", - "maxLength" : 256 + "TrinoParameters" : { + "$ref" : "#/definitions/TrinoParameters" } }, - "required" : [ "Actions", "Principal" ] + "additionalProperties" : false }, - "DataSourceErrorInfo" : { - "description" : "

Error information for the data source creation or update.

", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Type" : { - "$ref" : "#/definitions/DataSourceErrorInfoType" - }, - "Message" : { - "description" : "

Error message.

", - "type" : "string" - } - } + "DataSourceType" : { + "type" : "string", + "enum" : [ "ADOBE_ANALYTICS", "AMAZON_ELASTICSEARCH", "AMAZON_OPENSEARCH", "ATHENA", "AURORA", "AURORA_POSTGRESQL", "AWS_IOT_ANALYTICS", "DATABRICKS", "DENODO", "DREMIO", "DYNAMODB", "SAPHANA", "DB2_AS400", "EXASOL", "FILE", "GITHUB", "JIRA", "MARIADB", "MYSQL", "ORACLE", "POSTGRESQL", "PRESTO", "REDSHIFT", "S3", "S3_TABLES", "SALESFORCE", "SERVICENOW", "SNOWFLAKE", "SPARK", "SQLSERVER", "TERADATA", "TIMESTREAM", "TWITTER", "BIGQUERY", "GOOGLE_ANALYTICS", "TRINO", "STARBURST", "MONGO", "MONGO_ATLAS", "DOCUMENTDB", "APPFLOW", "IMPALA", "GLUE" ] }, - "TeradataParameters" : { - "description" : "

The parameters for Teradata.

", - "additionalProperties" : false, + "DatabricksParameters" : { "type" : "object", + "description" : "

The parameters that are required to connect to a Databricks data source.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

The host name of the Databricks data source.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

The port for the Databricks data source.

" }, - "Database" : { - "minLength" : 1, - "description" : "

Database.

", + "SqlEndpointPath" : { "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 4096, "minLength" : 1, - "description" : "

Host.

", - "type" : "string", - "maxLength" : 256 + "description" : "

The HTTP path of the Databricks data source.

" } }, - "required" : [ "Database", "Host", "Port" ] + "required" : [ "Host", "Port", "SqlEndpointPath" ], + "additionalProperties" : false }, - "RdsParameters" : { - "description" : "

The parameters for Amazon RDS.

", - "additionalProperties" : false, + "IdentityCenterConfiguration" : { "type" : "object", + "description" : "

The parameters for an IAM Identity Center configuration.

", "properties" : { - "InstanceId" : { - "minLength" : 1, - "description" : "

Instance ID.

", - "type" : "string", - "maxLength" : 64 - }, - "Database" : { - "minLength" : 1, - "description" : "

Database.

", - "type" : "string", - "maxLength" : 128 + "EnableIdentityPropagation" : { + "type" : "boolean", + "default" : null, + "description" : "

A Boolean option that controls whether Trusted Identity Propagation should be used.

" } }, - "required" : [ "Database", "InstanceId" ] + "additionalProperties" : false }, - "AthenaParameters" : { - "description" : "

Parameters for Amazon Athena.

", - "additionalProperties" : false, + "ManifestFileLocation" : { "type" : "object", + "description" : "

Amazon S3 manifest file location.

", "properties" : { - "WorkGroup" : { - "minLength" : 1, - "description" : "

The workgroup that Amazon Athena uses.

", + "Bucket" : { "type" : "string", - "maxLength" : 128 + "maxLength" : 1024, + "minLength" : 1, + "description" : "

Amazon S3 bucket.

" }, - "RoleArn" : { - "minLength" : 20, - "description" : "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

", + "Key" : { "type" : "string", - "maxLength" : 2048 + "maxLength" : 1024, + "minLength" : 1, + "description" : "

Amazon S3 key that identifies an object.

" } - } + }, + "required" : [ "Bucket", "Key" ], + "additionalProperties" : false }, - "SparkParameters" : { - "description" : "

The parameters for Spark.

", - "additionalProperties" : false, + "MariaDbParameters" : { "type" : "object", + "description" : "

The parameters for MariaDB.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

Port.

" }, - "Host" : { - "minLength" : 1, - "description" : "

Host.

", + "Database" : { "type" : "string", - "maxLength" : 256 + "maxLength" : 128, + "minLength" : 1, + "description" : "

Database.

" } }, - "required" : [ "Host", "Port" ] + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false }, - "MariaDbParameters" : { - "description" : "

The parameters for MariaDB.

", - "additionalProperties" : false, + "MySqlParameters" : { "type" : "object", + "description" : "

The parameters for MySQL.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

Port.

" }, "Database" : { - "minLength" : 1, - "description" : "

Database.

", "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 128, "minLength" : 1, - "description" : "

Host.

", - "type" : "string", - "maxLength" : 256 + "description" : "

Database.

" } }, - "required" : [ "Database", "Host", "Port" ] + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false }, "OracleParameters" : { - "description" : "

The parameters for Oracle.

", - "additionalProperties" : false, "type" : "object", + "description" : "

The parameters for Oracle.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

An Oracle host.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

The port.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

The port.

" }, "Database" : { - "minLength" : 1, - "description" : "

The database.

", "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 128, "minLength" : 1, - "description" : "

An Oracle host.

", - "type" : "string", - "maxLength" : 256 + "description" : "

The database.

" } }, - "required" : [ "Database", "Host", "Port" ] + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false }, - "PrestoParameters" : { - "description" : "

The parameters for Presto.

", - "additionalProperties" : false, + "PostgreSqlParameters" : { "type" : "object", + "description" : "

The parameters for PostgreSQL.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

Port.

" }, - "Host" : { + "Database" : { + "type" : "string", + "maxLength" : 128, "minLength" : 1, - "description" : "

Host.

", + "description" : "

Database.

" + } + }, + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false + }, + "PrestoParameters" : { + "type" : "object", + "description" : "

The parameters for Presto.

", + "properties" : { + "Host" : { "type" : "string", - "maxLength" : 256 + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" + }, + "Port" : { + "type" : "number", + "default" : 0, + "maximum" : 65535, + "minimum" : 1, + "description" : "

Port.

" }, "Catalog" : { - "minLength" : 0, - "description" : "

Catalog.

", "type" : "string", - "maxLength" : 128 + "maxLength" : 128, + "minLength" : 0, + "description" : "

Catalog.

" } }, - "required" : [ "Catalog", "Host", "Port" ] + "required" : [ "Catalog", "Host", "Port" ], + "additionalProperties" : false }, - "AwsIotAnalyticsParameters" : { - "description" : "

The parameters for IoT Analytics.

", - "additionalProperties" : false, + "RdsParameters" : { "type" : "object", + "description" : "

The parameters for Amazon RDS.

", "properties" : { - "DataSetName" : { + "InstanceId" : { + "type" : "string", + "maxLength" : 64, "minLength" : 1, - "description" : "

Dataset name.

", + "description" : "

Instance ID.

" + }, + "Database" : { "type" : "string", - "maxLength" : 128 + "maxLength" : 128, + "minLength" : 1, + "description" : "

Database.

" } }, - "required" : [ "DataSetName" ] - }, - "StarburstProductType" : { - "type" : "string", - "enum" : [ "GALAXY", "ENTERPRISE" ] + "required" : [ "Database", "InstanceId" ], + "additionalProperties" : false }, - "DataSourceParameters" : { - "description" : "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

", - "additionalProperties" : false, + "RedshiftIAMParameters" : { "type" : "object", + "description" : "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

", "properties" : { - "AuroraPostgreSqlParameters" : { - "$ref" : "#/definitions/AuroraPostgreSqlParameters" - }, - "TeradataParameters" : { - "$ref" : "#/definitions/TeradataParameters" - }, - "RdsParameters" : { - "$ref" : "#/definitions/RdsParameters" - }, - "AthenaParameters" : { - "$ref" : "#/definitions/AthenaParameters" - }, - "SparkParameters" : { - "$ref" : "#/definitions/SparkParameters" - }, - "MariaDbParameters" : { - "$ref" : "#/definitions/MariaDbParameters" - }, - "OracleParameters" : { - "$ref" : "#/definitions/OracleParameters" - }, - "PrestoParameters" : { - "$ref" : "#/definitions/PrestoParameters" - }, - "StarburstParameters" : { - "$ref" : "#/definitions/StarburstParameters" + "RoleArn" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "description" : "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

" }, - "RedshiftParameters" : { - "$ref" : "#/definitions/RedshiftParameters" + "DatabaseUser" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "description" : "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

" }, - "MySqlParameters" : { - "$ref" : "#/definitions/MySqlParameters" + "DatabaseGroups" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1 + }, + "maxItems" : 50, + "minItems" : 1, + "description" : "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

" }, - "SqlServerParameters" : { - "$ref" : "#/definitions/SqlServerParameters" + "AutoCreateDatabaseUser" : { + "type" : "boolean", + "default" : false, + "description" : "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

" + } + }, + "required" : [ "RoleArn" ], + "additionalProperties" : false + }, + "RedshiftParameters" : { + "type" : "object", + "description" : "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

", + "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host. This field can be blank if ClusterId is provided.

" }, - "SnowflakeParameters" : { - "$ref" : "#/definitions/SnowflakeParameters" + "Port" : { + "type" : "number", + "default" : 0, + "maximum" : 65535, + "minimum" : 0, + "description" : "

Port. This field can be blank if the ClusterId is provided.

" }, - "AmazonElasticsearchParameters" : { - "$ref" : "#/definitions/AmazonElasticsearchParameters" + "Database" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1, + "description" : "

Database.

" }, - "AmazonOpenSearchParameters" : { - "$ref" : "#/definitions/AmazonOpenSearchParameters" + "ClusterId" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "description" : "

Cluster ID. This field can be blank if the Host and Port are\n provided.

" }, - "PostgreSqlParameters" : { - "$ref" : "#/definitions/PostgreSqlParameters" + "IAMParameters" : { + "$ref" : "#/definitions/RedshiftIAMParameters" }, - "AuroraParameters" : { - "$ref" : "#/definitions/AuroraParameters" + "IdentityCenterConfiguration" : { + "$ref" : "#/definitions/IdentityCenterConfiguration" + } + }, + "required" : [ "Database" ], + "additionalProperties" : false + }, + "ResourcePermission" : { + "type" : "object", + "description" : "

Permission for the resource.

", + "properties" : { + "Principal" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n " }, - "S3Parameters" : { - "$ref" : "#/definitions/S3Parameters" + "Resource" : { + "type" : "string" }, - "TrinoParameters" : { - "$ref" : "#/definitions/TrinoParameters" + "Actions" : { + "type" : "array", + "items" : { + "type" : "string" + }, + "maxItems" : 20, + "minItems" : 1, + "description" : "

The IAM action to grant or revoke permissions on.

" + } + }, + "required" : [ "Actions", "Principal" ], + "additionalProperties" : false + }, + "ResourceStatus" : { + "type" : "string", + "enum" : [ "CREATION_IN_PROGRESS", "CREATION_SUCCESSFUL", "CREATION_FAILED", "UPDATE_IN_PROGRESS", "UPDATE_SUCCESSFUL", "UPDATE_FAILED", "DELETED" ] + }, + "S3Parameters" : { + "type" : "object", + "description" : "

The parameters for S3.

", + "properties" : { + "ManifestFileLocation" : { + "$ref" : "#/definitions/ManifestFileLocation" }, - "DatabricksParameters" : { - "$ref" : "#/definitions/DatabricksParameters" + "RoleArn" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "description" : "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

" } - } + }, + "required" : [ "ManifestFileLocation" ], + "additionalProperties" : false }, - "MySqlParameters" : { - "description" : "

The parameters for MySQL.

", - "additionalProperties" : false, + "SnowflakeParameters" : { "type" : "object", + "description" : "

The parameters for Snowflake.

", "properties" : { - "Port" : { - "default" : 0, - "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" }, "Database" : { - "minLength" : 1, - "description" : "

Database.

", "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 128, "minLength" : 1, - "description" : "

Host.

", + "description" : "

Database.

" + }, + "Warehouse" : { "type" : "string", - "maxLength" : 256 + "maxLength" : 128, + "minLength" : 0, + "description" : "

Warehouse.

" } }, - "required" : [ "Database", "Host", "Port" ] + "required" : [ "Database", "Host", "Warehouse" ], + "additionalProperties" : false }, - "RedshiftIAMParameters" : { - "description" : "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

", - "additionalProperties" : false, + "SparkParameters" : { "type" : "object", + "description" : "

The parameters for Spark.

", "properties" : { - "AutoCreateDatabaseUser" : { - "default" : false, - "description" : "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

", - "type" : "boolean" - }, - "DatabaseUser" : { - "minLength" : 1, - "description" : "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

", - "type" : "string", - "maxLength" : 64 - }, - "RoleArn" : { - "minLength" : 20, - "description" : "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

", + "Host" : { "type" : "string", - "maxLength" : 2048 + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" }, - "DatabaseGroups" : { - "minItems" : 1, - "maxItems" : 50, - "description" : "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

", - "type" : "array", - "items" : { - "minLength" : 1, - "type" : "string", - "maxLength" : 64 - } + "Port" : { + "type" : "number", + "default" : 0, + "maximum" : 65535, + "minimum" : 1, + "description" : "

Port.

" } }, - "required" : [ "RoleArn" ] + "required" : [ "Host", "Port" ], + "additionalProperties" : false }, "SqlServerParameters" : { - "description" : "

The parameters for SQL Server.

", - "additionalProperties" : false, "type" : "object", + "description" : "

The parameters for SQL Server.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

Port.

" }, "Database" : { - "minLength" : 1, - "description" : "

Database.

", "type" : "string", - "maxLength" : 128 - }, - "Host" : { + "maxLength" : 128, "minLength" : 1, - "description" : "

Host.

", - "type" : "string", - "maxLength" : 256 + "description" : "

Database.

" } }, - "required" : [ "Database", "Host", "Port" ] + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false }, - "CredentialPair" : { - "description" : "

The combination of user name and password that are used as credentials.

", - "additionalProperties" : false, + "SslProperties" : { "type" : "object", + "description" : "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

", "properties" : { - "AlternateDataSourceParameters" : { - "minItems" : 1, - "maxItems" : 50, - "description" : "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

", - "type" : "array", - "items" : { - "$ref" : "#/definitions/DataSourceParameters" - } - }, - "Username" : { - "minLength" : 1, - "description" : "

User name.

", - "type" : "string", - "maxLength" : 64 - }, - "Password" : { - "minLength" : 1, - "description" : "

Password.

", - "type" : "string", - "maxLength" : 1024 + "DisableSsl" : { + "type" : "boolean", + "default" : false, + "description" : "

A Boolean option to control whether SSL should be disabled.

" } }, - "required" : [ "Password", "Username" ] + "additionalProperties" : false }, - "PostgreSqlParameters" : { - "description" : "

The parameters for PostgreSQL.

", - "additionalProperties" : false, + "StarburstParameters" : { "type" : "object", + "description" : "

The parameters that are required to connect to a Starburst data source.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

The host name of the Starburst data source.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

Port.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

The port for the Starburst data source.

" }, - "Database" : { - "minLength" : 1, - "description" : "

Database.

", + "Catalog" : { "type" : "string", - "maxLength" : 128 + "maxLength" : 128, + "minLength" : 0, + "description" : "

The catalog name for the Starburst data source.

" }, - "Host" : { - "minLength" : 1, - "description" : "

Host.

", - "type" : "string", - "maxLength" : 256 + "ProductType" : { + "$ref" : "#/definitions/StarburstProductType" } }, - "required" : [ "Database", "Host", "Port" ] + "required" : [ "Catalog", "Host", "Port" ], + "additionalProperties" : false + }, + "StarburstProductType" : { + "type" : "string", + "enum" : [ "GALAXY", "ENTERPRISE" ] }, "Tag" : { - "description" : "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", - "additionalProperties" : false, "type" : "object", + "description" : "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", "properties" : { - "Value" : { - "minLength" : 1, - "description" : "

Tag value.

", - "type" : "string", - "maxLength" : 256 - }, "Key" : { + "type" : "string", + "maxLength" : 128, "minLength" : 1, - "description" : "

Tag key.

", + "description" : "

Tag key.

" + }, + "Value" : { "type" : "string", - "maxLength" : 128 + "maxLength" : 256, + "minLength" : 1, + "description" : "

Tag value.

" } }, - "required" : [ "Key", "Value" ] + "required" : [ "Key", "Value" ], + "additionalProperties" : false }, - "TrinoParameters" : { - "description" : "

The parameters that are required to connect to a Trino data source.

", - "additionalProperties" : false, + "TeradataParameters" : { "type" : "object", + "description" : "

The parameters for Teradata.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Host.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

The port for the Trino data source.

", - "type" : "number", - "minimum" : 1 - }, - "Host" : { - "minLength" : 1, - "description" : "

The host name of the Trino data source.

", - "type" : "string", - "maxLength" : 256 + "minimum" : 1, + "description" : "

Port.

" }, - "Catalog" : { - "minLength" : 0, - "description" : "

The catalog name for the Trino data source.

", + "Database" : { "type" : "string", - "maxLength" : 128 + "maxLength" : 128, + "minLength" : 1, + "description" : "

Database.

" } }, - "required" : [ "Catalog", "Host", "Port" ] + "required" : [ "Database", "Host", "Port" ], + "additionalProperties" : false }, - "DatabricksParameters" : { - "description" : "

The parameters that are required to connect to a Databricks data source.

", - "additionalProperties" : false, + "TrinoParameters" : { "type" : "object", + "description" : "

The parameters that are required to connect to a Trino data source.

", "properties" : { + "Host" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

The host name of the Trino data source.

" + }, "Port" : { + "type" : "number", "default" : 0, "maximum" : 65535, - "description" : "

The port for the Databricks data source.

", - "type" : "number", - "minimum" : 1 + "minimum" : 1, + "description" : "

The port for the Trino data source.

" }, - "Host" : { - "minLength" : 1, - "description" : "

The host name of the Databricks data source.

", + "Catalog" : { "type" : "string", - "maxLength" : 256 - }, - "SqlEndpointPath" : { - "minLength" : 1, - "description" : "

The HTTP path of the Databricks data source.

", + "maxLength" : 128, + "minLength" : 0, + "description" : "

The catalog name for the Trino data source.

" + } + }, + "required" : [ "Catalog", "Host", "Port" ], + "additionalProperties" : false + }, + "VpcConnectionProperties" : { + "type" : "object", + "description" : "

VPC connection properties.

", + "properties" : { + "VpcConnectionArn" : { "type" : "string", - "maxLength" : 4096 + "description" : "

The Amazon Resource Name (ARN) for the VPC connection.

" } }, - "required" : [ "Host", "Port", "SqlEndpointPath" ] + "required" : [ "VpcConnectionArn" ], + "additionalProperties" : false } }, - "required" : [ "Name", "Type" ], "properties" : { - "Status" : { - "$ref" : "#/definitions/ResourceStatus" + "AlternateDataSourceParameters" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/DataSourceParameters" + }, + "maxItems" : 50, + "minItems" : 1, + "description" : "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

" + }, + "Arn" : { + "type" : "string", + "description" : "

The Amazon Resource Name (ARN) of the data source.

" + }, + "AwsAccountId" : { + "type" : "string", + "maxLength" : 12, + "minLength" : 12, + "pattern" : "^[0-9]{12}$" }, "CreatedTime" : { - "format" : "date-time", + "type" : "string", "description" : "

The time that this data source was created.

", - "type" : "string" + "format" : "date-time" }, - "ErrorInfo" : { - "$ref" : "#/definitions/DataSourceErrorInfo" + "Credentials" : { + "$ref" : "#/definitions/DataSourceCredentials" }, - "LastUpdatedTime" : { - "format" : "date-time", - "description" : "

The last time that this data source was updated.

", + "DataSourceId" : { "type" : "string" }, - "Name" : { - "minLength" : 1, - "type" : "string", - "maxLength" : 128 - }, "DataSourceParameters" : { "$ref" : "#/definitions/DataSourceParameters" }, - "Type" : { - "$ref" : "#/definitions/DataSourceType" - }, - "VpcConnectionProperties" : { - "$ref" : "#/definitions/VpcConnectionProperties" + "ErrorInfo" : { + "$ref" : "#/definitions/DataSourceErrorInfo" }, - "AlternateDataSourceParameters" : { - "minItems" : 1, - "maxItems" : 50, - "description" : "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

", + "FolderArns" : { "type" : "array", "items" : { - "$ref" : "#/definitions/DataSourceParameters" - } + "type" : "string" + }, + "maxItems" : 10, + "minItems" : 0 }, - "AwsAccountId" : { - "minLength" : 12, - "pattern" : "^[0-9]{12}$", + "LastUpdatedTime" : { + "type" : "string", + "description" : "

The last time that this data source was updated.

", + "format" : "date-time" + }, + "Name" : { "type" : "string", - "maxLength" : 12 + "maxLength" : 128, + "minLength" : 1 }, "Permissions" : { - "minItems" : 1, - "maxItems" : 64, "type" : "array", "items" : { "$ref" : "#/definitions/ResourcePermission" - } - }, - "Arn" : { - "description" : "

The Amazon Resource Name (ARN) of the data source.

", - "type" : "string" + }, + "maxItems" : 64, + "minItems" : 1 }, "SslProperties" : { "$ref" : "#/definitions/SslProperties" }, - "Credentials" : { - "$ref" : "#/definitions/DataSourceCredentials" - }, - "DataSourceId" : { - "type" : "string" + "Status" : { + "$ref" : "#/definitions/ResourceStatus" }, "Tags" : { - "minItems" : 1, - "maxItems" : 200, "type" : "array", "items" : { "$ref" : "#/definitions/Tag" - } + }, + "maxItems" : 200, + "minItems" : 1 + }, + "Type" : { + "$ref" : "#/definitions/DataSourceType" + }, + "VpcConnectionProperties" : { + "$ref" : "#/definitions/VpcConnectionProperties" + } + }, + "required" : [ "Name", "Type" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedTime", "/properties/LastUpdatedTime", "/properties/Status" ], + "writeOnlyProperties" : [ "/properties/Credentials", "/properties/FolderArns" ], + "createOnlyProperties" : [ "/properties/AwsAccountId", "/properties/DataSourceId", "/properties/Type" ], + "primaryIdentifier" : [ "/properties/AwsAccountId", "/properties/DataSourceId" ], + "handlers" : { + "read" : { + "permissions" : [ "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:ListTagsForResource" ] + }, + "create" : { + "permissions" : [ "quicksight:CreateDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:TagResource", "quicksight:ListTagsForResource", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource" ] + }, + "update" : { + "permissions" : [ "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:UpdateDataSource", "quicksight:UpdateDataSourcePermissions", "quicksight:CreateFolderMembership", "quicksight:DeleteFolderMembership", "quicksight:ListFoldersForResource", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:DeleteDataSource", "quicksight:ListTagsForResource" ] + }, + "list" : { + "permissions" : [ "quicksight:DescribeDataSource", "quicksight:ListDataSources" ] } - } + }, + "additionalProperties" : false, + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight" } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-rds-dbcluster.json b/aws-cloudformation-schema/aws-rds-dbcluster.json index 9ff806926d..c376d33cc5 100644 --- a/aws-cloudformation-schema/aws-rds-dbcluster.json +++ b/aws-cloudformation-schema/aws-rds-dbcluster.json @@ -1,458 +1,458 @@ { + "tagging" : { + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : true + }, "typeName" : "AWS::RDS::DBCluster", + "readOnlyProperties" : [ "/properties/DBClusterArn", "/properties/DBClusterResourceId", "/properties/Endpoint", "/properties/Endpoint/Address", "/properties/Endpoint/Port", "/properties/ReadEndpoint/Address", "/properties/MasterUserSecret/SecretArn", "/properties/StorageThroughput" ], "description" : "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).", + "createOnlyProperties" : [ "/properties/AvailabilityZones", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", "/properties/DatabaseName", "/properties/EngineMode", "/properties/KmsKeyId", "/properties/PubliclyAccessible", "/properties/RestoreToTime", "/properties/RestoreType", "/properties/SnapshotIdentifier", "/properties/SourceDBClusterIdentifier", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/UseLatestRestorableTime" ], + "primaryIdentifier" : [ "/properties/DBClusterIdentifier" ], + "conditionalCreateOnlyProperties" : [ "/properties/Engine", "/properties/GlobalClusterIdentifier", "/properties/MasterUsername" ], "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", - "properties" : { - "Endpoint" : { - "$ref" : "#/definitions/Endpoint", - "description" : "" + "propertyTransform" : { + "/properties/KmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", + "/properties/SourceDBClusterIdentifier" : "$lowercase(SourceDBClusterIdentifier)", + "/properties/StorageType" : "$lowercase(StorageType)", + "/properties/MasterUserSecret/KmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/DBClusterIdentifier" : "$lowercase(DBClusterIdentifier)", + "/properties/EnableHttpEndpoint" : "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/NetworkType" : "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", + "/properties/DBSubnetGroupName" : "$lowercase(DBSubnetGroupName)", + "/properties/SnapshotIdentifier" : "$lowercase(SnapshotIdentifier)", + "/properties/PreferredMaintenanceWindow" : "$lowercase(PreferredMaintenanceWindow)", + "/properties/DBClusterParameterGroupName" : "$lowercase(DBClusterParameterGroupName)", + "/properties/EngineVersion" : "$join([$string(EngineVersion), \".*\"])", + "/properties/Engine" : "$lowercase(Engine)" + }, + "handlers" : { + "read" : { + "permissions" : [ "rds:DescribeDBClusters" ] }, - "ReadEndpoint" : { - "$ref" : "#/definitions/ReadEndpoint", - "description" : "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``." + "create" : { + "permissions" : [ "iam:CreateServiceLinkedRole", "iam:PassRole", "rds:AddRoleToDBCluster", "rds:AddTagsToResource", "rds:CreateDBCluster", "rds:CreateDBInstance", "rds:DescribeDBClusters", "rds:DescribeDBClusterSnapshots", "rds:DescribeDBSnapshots", "rds:DescribeEvents", "rds:EnableHttpEndpoint", "rds:ModifyDBCluster", "rds:RestoreDBClusterFromSnapshot", "rds:RestoreDBClusterToPointInTime", "secretsmanager:CreateSecret", "secretsmanager:TagResource" ], + "timeoutInMinutes" : 2160 }, - "AllocatedStorage" : { - "description" : "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n This setting is required to create a Multi-AZ DB cluster.", - "type" : "integer" + "update" : { + "permissions" : [ "ec2:DescribeSecurityGroups", "iam:PassRole", "rds:AddRoleToDBCluster", "rds:AddTagsToResource", "rds:DescribeDBClusters", "rds:DescribeDBSubnetGroups", "rds:DescribeEvents", "rds:DescribeGlobalClusters", "rds:DisableHttpEndpoint", "rds:EnableHttpEndpoint", "rds:ModifyDBCluster", "rds:ModifyDBInstance", "rds:RemoveFromGlobalCluster", "rds:RemoveRoleFromDBCluster", "rds:RemoveTagsFromResource", "secretsmanager:CreateSecret", "secretsmanager:TagResource" ], + "timeoutInMinutes" : 2160 }, - "AssociatedRoles" : { - "description" : "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/DBClusterRole" - } + "list" : { + "permissions" : [ "rds:DescribeDBClusters" ] }, - "AvailabilityZones" : { - "description" : "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide*. \n Valid for: Aurora DB clusters only", - "type" : "array", - "uniqueItems" : true, - "items" : { - "type" : "string" + "delete" : { + "permissions" : [ "rds:AddTagsToResource", "rds:CreateDBClusterSnapshot", "rds:DeleteDBCluster", "rds:DeleteDBInstance", "rds:DescribeDBClusters", "rds:DescribeGlobalClusters", "rds:RemoveFromGlobalCluster" ] + } + }, + "writeOnlyProperties" : [ "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", "/properties/RestoreType", "/properties/SnapshotIdentifier", "/properties/SourceDBClusterIdentifier", "/properties/SourceRegion", "/properties/UseLatestRestorableTime" ], + "additionalProperties" : false, + "definitions" : { + "MasterUserSecret" : { + "description" : "The ``MasterUserSecret`` return value specifies the secret managed by RDS in AWS Secrets Manager for the master user password.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "SecretArn" : { + "description" : "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the ``Fn::GetAtt`` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values).", + "type" : "string" + }, + "KmsKeyId" : { + "description" : "The AWS KMS key identifier that is used to encrypt the secret.", + "type" : "string" + } } }, - "AutoMinorVersionUpgrade" : { - "description" : "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n Valid for Cluster Type: Multi-AZ DB clusters only", - "type" : "boolean" - }, - "BacktrackWindow" : { - "description" : "The target backtrack window, in seconds. To disable backtracking, set this value to ``0``.\n Valid for Cluster Type: Aurora MySQL DB clusters only\n Default: ``0`` \n Constraints:\n + If specified, this value must be set to a number from 0 to 259,200 (72 hours).", - "minimum" : 0, - "type" : "integer" + "Endpoint" : { + "description" : "The ``Endpoint`` return value specifies the connection endpoint for the primary instance of the DB cluster.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Address" : { + "description" : "Specifies the connection endpoint for the primary instance of the DB cluster.", + "type" : "string" + }, + "Port" : { + "description" : "Specifies the port that the database engine is listening on.", + "type" : "string" + } + } }, - "BackupRetentionPeriod" : { - "description" : "The number of days for which automated backups are retained.\n Default: 1\n Constraints:\n + Must be a value from 1 to 35\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "default" : 1, - "minimum" : 1, - "type" : "integer" + "ServerlessV2ScalingConfiguration" : { + "description" : "The ``ServerlessV2ScalingConfiguration`` property type specifies the scaling configuration of an Aurora Serverless V2 DB cluster. For more information, see [Using Amazon Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) in the *Amazon Aurora User Guide*.\n If you have an Aurora cluster, you must set this attribute before you add a DB instance that uses the ``db.serverless`` DB instance class. For more information, see [Clusters that use Aurora Serverless v2 must have a capacity range specified](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html#aurora-serverless-v2.requirements.capacity-range) in the *Amazon Aurora User Guide*.\n This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, use the ``ScalingConfiguration`` property.\n Valid for: Aurora Serverless v2 DB clusters", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "MinCapacity" : { + "description" : "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5.", + "type" : "number" + }, + "MaxCapacity" : { + "description" : "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n The maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide*.\n Aurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the ``ParameterApplyStatus`` value for the DB instance changes to ``pending-reboot``. You can update the parameter values by rebooting the DB instance after changing the capacity range.", + "type" : "number" + } + } }, - "CopyTagsToSnapshot" : { - "description" : "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "boolean" + "ScalingConfiguration" : { + "description" : "The ``ScalingConfiguration`` property type specifies the scaling configuration of an Aurora Serverless v1 DB cluster. \n For more information, see [Using Amazon Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) in the *Amazon Aurora User Guide*.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "TimeoutAction" : { + "description" : "The action to take when the timeout is reached, either ``ForceApplyCapacityChange`` or ``RollbackCapacityChange``.\n ``ForceApplyCapacityChange`` sets the capacity to the specified value as soon as possible.\n ``RollbackCapacityChange``, the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n If you specify ``ForceApplyCapacityChange``, connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped.\n For more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide*.", + "type" : "string" + }, + "SecondsBeforeTimeout" : { + "description" : "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n Specify a value between 60 and 600 seconds.", + "type" : "integer" + }, + "SecondsUntilAutoPause" : { + "description" : "The time, in seconds, before an Aurora DB cluster in ``serverless`` mode is paused.\n Specify a value between 300 and 86,400 seconds.", + "type" : "integer" + }, + "AutoPause" : { + "description" : "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in ``serverless`` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n 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.", + "type" : "boolean" + }, + "MinCapacity" : { + "description" : "The minimum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The minimum capacity must be less than or equal to the maximum capacity.", + "type" : "integer" + }, + "MaxCapacity" : { + "description" : "The maximum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The maximum capacity must be greater than or equal to the minimum capacity.", + "type" : "integer" + } + } }, - "DatabaseName" : { - "description" : "The name of your database. If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide*. \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string" + "ReadEndpoint" : { + "description" : "The ``ReadEndpoint`` return value specifies the reader endpoint for the DB cluster.\n The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.\n If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.\n For more information about Aurora endpoints, see [Amazon Aurora connection management](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html) in the *Amazon Aurora User Guide*.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Address" : { + "description" : "The host address of the reader endpoint.", + "type" : "string" + } + } }, - "DBClusterArn" : { - "type" : "string", - "description" : "" + "DBClusterRole" : { + "description" : "Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "RoleArn" : { + "description" : "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", + "type" : "string" + }, + "FeatureName" : { + "description" : "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.", + "type" : "string" + } + }, + "required" : [ "RoleArn" ] }, - "DBClusterInstanceClass" : { - "description" : "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example ``db.m6gd.xlarge``. Not all DB instance classes are available in all AWS-Regions, or for all database engines.\n For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only", - "type" : "string" + "Tag" : { + "description" : "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n For more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide*.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Value" : { + "minLength" : 0, + "description" : "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "type" : "string", + "maxLength" : 256 + }, + "Key" : { + "minLength" : 1, + "description" : "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "type" : "string", + "maxLength" : 128 + } + }, + "required" : [ "Key" ] + } + }, + "properties" : { + "StorageEncrypted" : { + "description" : "Indicates whether the DB cluster is encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the ``KmsKeyId`` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to ``false``.\n If you specify both the ``StorageEncrypted`` and ``SnapshotIdentifier`` properties without specifying the ``KmsKeyId`` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "boolean" }, - "DBClusterResourceId" : { - "description" : "", + "DBSystemId" : { + "description" : "Reserved for future use.", "type" : "string" }, - "DBInstanceParameterGroupName" : { - "description" : "The name of the DB parameter group to apply to all instances of the DB cluster.\n When you apply a parameter group using the ``DBInstanceParameterGroupName`` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.\n Valid for Cluster Type: Aurora DB clusters only\n Default: The existing name setting\n Constraints:\n + The DB parameter group must be in the same DB parameter group family as this DB cluster.\n + The ``DBInstanceParameterGroupName`` parameter is valid in combination with the ``AllowMajorVersionUpgrade`` parameter for a major version upgrade only.", + "RestoreToTime" : { + "description" : "The date and time to restore the DB cluster to.\n Valid Values: Value must be a time in Universal Coordinated Time (UTC) format\n Constraints:\n + Must be before the latest restorable time for the DB instance\n + Must be specified if ``UseLatestRestorableTime`` parameter isn't provided\n + Can't be specified if the ``UseLatestRestorableTime`` parameter is enabled\n + Can't be specified if the ``RestoreType`` parameter is ``copy-on-write`` \n \n This property must be used with ``SourceDBClusterIdentifier`` property. The resulting cluster will have the identifier that matches the value of the ``DBclusterIdentifier`` property.\n Example: ``2015-03-07T23:45:00Z`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "DBSystemId" : { - "description" : "Reserved for future use.", + "EngineMode" : { + "description" : "The DB engine mode of the DB cluster, either ``provisioned`` or ``serverless``.\n The ``serverless`` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the ``provisioned`` engine mode.\n For information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide*:\n + [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations) \n + [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html) \n \n Valid for Cluster Type: Aurora DB clusters only", "type" : "string" }, - "GlobalClusterIdentifier" : { - "description" : "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource. \n If you aren't configuring a global database cluster, don't specify this property. \n To remove the DB cluster from a global database cluster, specify an empty value for the ``GlobalClusterIdentifier`` property.\n For information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide*.\n Valid for: Aurora DB clusters only", - "type" : "string", - "pattern" : "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "minLength" : 0, - "maxLength" : 63 + "Port" : { + "description" : "The port number on which the DB instances in the DB cluster accept connections.\n Default:\n + When ``EngineMode`` is ``provisioned``, ``3306`` (for both Aurora MySQL and Aurora PostgreSQL)\n + When ``EngineMode`` is ``serverless``:\n + ``3306`` when ``Engine`` is ``aurora`` or ``aurora-mysql`` \n + ``5432`` when ``Engine`` is ``aurora-postgresql`` \n \n \n The ``No interruption`` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "integer" }, "DBClusterIdentifier" : { + "minLength" : 1, + "pattern" : "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", "description" : "The DB cluster identifier. This parameter is stored as a lowercase string.\n Constraints:\n + Must contain from 1 to 63 letters, numbers, or hyphens.\n + First character must be a letter.\n + Can't end with a hyphen or contain two consecutive hyphens.\n \n Example: ``my-cluster1`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string", - "pattern" : "^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", - "minLength" : 1, "maxLength" : 63 }, - "DBClusterParameterGroupName" : { - "description" : "The name of the DB cluster parameter group to associate with this DB cluster.\n If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started.\n To list all of the available DB cluster parameter group names, use the following command:\n ``aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string" + "StorageThroughput" : { + "description" : "", + "type" : "integer" }, - "DBSubnetGroupName" : { - "description" : "A DB subnet group that you want to associate with this DB cluster. \n If you are restoring a DB cluster to a point in time with ``RestoreType`` set to ``copy-on-write``, and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string" + "MonitoringInterval" : { + "description" : "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, also set ``MonitoringInterval`` to a value other than ``0``.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``", + "type" : "integer" }, - "DeletionProtection" : { - "description" : "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "boolean" + "Endpoint" : { + "description" : "", + "$ref" : "#/definitions/Endpoint" }, - "Domain" : { - "description" : "Indicates the directory ID of the Active Directory to create the DB cluster.\n For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n For more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide*.\n Valid for: Aurora DB clusters only", + "ReplicationSourceIdentifier" : { + "description" : "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n Valid for: Aurora DB clusters only", "type" : "string" }, - "DomainIAMRoleName" : { - "description" : "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n Valid for: Aurora DB clusters only", + "Engine" : { + "description" : "The name of the database engine to be used for this DB cluster.\n Valid Values:\n + ``aurora-mysql`` \n + ``aurora-postgresql`` \n + ``mysql`` \n + ``postgres`` \n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "EnableCloudwatchLogsExports" : { - "description" : "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide*.\n *Aurora MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Aurora PostgreSQL* \n Valid values: ``postgresql`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "array", + "Tags" : { + "maxItems" : 50, "uniqueItems" : true, + "description" : "Tags to assign to the DB cluster.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "insertionOrder" : false, + "type" : "array", "items" : { - "type" : "string" + "$ref" : "#/definitions/Tag" } }, - "EnableGlobalWriteForwarding" : { - "description" : "Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.\n You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.\n Valid for Cluster Type: Aurora DB clusters only", - "type" : "boolean" + "EngineVersion" : { + "description" : "The version number of the database engine to use.\n To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`` \n You can supply either ``5.7`` or ``8.0`` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n To list all of the available engine versions for Aurora PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for MySQL, use the following command:\n ``aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`` \n *Aurora MySQL* \n For information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide*.\n *Aurora PostgreSQL* \n For information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide*.\n *MySQL* \n For information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide*.\n *PostgreSQL* \n For information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide*.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "string" }, - "EnableHttpEndpoint" : { - "description" : "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n RDS Data API is supported with the following DB clusters:\n + Aurora PostgreSQL Serverless v2 and provisioned\n + Aurora PostgreSQL and Aurora MySQL Serverless v1\n \n For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide*.\n Valid for Cluster Type: Aurora DB clusters only", - "type" : "boolean" + "StorageType" : { + "description" : "The storage type to associate with the DB cluster.\n For information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type). For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings).\n This setting is required to create a Multi-AZ DB cluster.\n When specified for a Multi-AZ DB cluster, a value for the ``Iops`` parameter is required.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + Aurora DB clusters - ``aurora | aurora-iopt1`` \n + Multi-AZ DB clusters - ``io1 | io2 | gp3`` \n \n Default:\n + Aurora DB clusters - ``aurora`` \n + Multi-AZ DB clusters - ``io1`` \n \n When you create an Aurora DB cluster with the storage type set to ``aurora-iopt1``, the storage type is returned in the response. The storage type isn't returned when you set it to ``aurora``.", + "type" : "string" }, - "EnableIAMDatabaseAuthentication" : { - "description" : "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n For more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.* \n Valid for: Aurora DB clusters only", - "type" : "boolean" + "KmsKeyId" : { + "description" : "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the ``StorageEncrypted`` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the ``StorageEncrypted`` property to ``true``.\n If you specify the ``SnapshotIdentifier`` property, the ``StorageEncrypted`` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set ``KmsKeyId`` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "string" + }, + "ServerlessV2ScalingConfiguration" : { + "description" : "The scaling configuration of an Aurora Serverless V2 DB cluster. \n This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the ``ScalingConfiguration`` property.\n Valid for: Aurora Serverless v2 DB clusters only", + "$ref" : "#/definitions/ServerlessV2ScalingConfiguration" + }, + "PerformanceInsightsRetentionPeriod" : { + "description" : "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", + "type" : "integer" + }, + "DatabaseName" : { + "description" : "The name of your database. If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide*. \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "string" }, "EnableLocalWriteForwarding" : { "description" : "Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.\n Valid for: Aurora DB clusters only", "type" : "boolean" }, - "Engine" : { - "description" : "The name of the database engine to be used for this DB cluster.\n Valid Values:\n + ``aurora-mysql`` \n + ``aurora-postgresql`` \n + ``mysql`` \n + ``postgres`` \n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string" - }, - "EngineLifecycleSupport" : { - "description" : "The life cycle type for this DB cluster.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to ``open-source-rds-extended-support-disabled``. In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date.\n You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n + Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* \n + Amazon RDS - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* \n \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``open-source-rds-extended-support | open-source-rds-extended-support-disabled`` \n Default: ``open-source-rds-extended-support``", + "DBClusterResourceId" : { + "description" : "", "type" : "string" }, - "EngineMode" : { - "description" : "The DB engine mode of the DB cluster, either ``provisioned`` or ``serverless``.\n The ``serverless`` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the ``provisioned`` engine mode.\n For information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide*:\n + [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations) \n + [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html) \n \n Valid for Cluster Type: Aurora DB clusters only", - "type" : "string" + "AutoMinorVersionUpgrade" : { + "description" : "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "type" : "boolean" }, - "EngineVersion" : { - "description" : "The version number of the database engine to use.\n To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`` \n You can supply either ``5.7`` or ``8.0`` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n To list all of the available engine versions for Aurora PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for MySQL, use the following command:\n ``aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`` \n To list all of the available engine versions for RDS for PostgreSQL, use the following command:\n ``aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`` \n *Aurora MySQL* \n For information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide*.\n *Aurora PostgreSQL* \n For information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide*.\n *MySQL* \n For information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide*.\n *PostgreSQL* \n For information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide*.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "DBSubnetGroupName" : { + "description" : "A DB subnet group that you want to associate with this DB cluster. \n If you are restoring a DB cluster to a point in time with ``RestoreType`` set to ``copy-on-write``, and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "ManageMasterUserPassword" : { - "description" : "Specifies whether to manage the master user password with AWS Secrets Manager.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.* \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.", + "DeletionProtection" : { + "description" : "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "boolean" }, - "Iops" : { - "description" : "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n For information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Constraints:\n + Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "AllocatedStorage" : { + "description" : "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n This setting is required to create a Multi-AZ DB cluster.", "type" : "integer" }, - "KmsKeyId" : { - "description" : "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as ``arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef``. If you enable the ``StorageEncrypted`` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the ``StorageEncrypted`` property to ``true``.\n If you specify the ``SnapshotIdentifier`` property, the ``StorageEncrypted`` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set ``KmsKeyId`` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string" - }, - "MasterUsername" : { - "description" : "The name of the master user for the DB cluster.\n If you specify the ``SourceDBClusterIdentifier``, ``SnapshotIdentifier``, or ``GlobalClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string", - "pattern" : "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", - "minLength" : 1 - }, "MasterUserPassword" : { "description" : "The master password for the DB instance.\n If you specify the ``SourceDBClusterIdentifier``, ``SnapshotIdentifier``, or ``GlobalClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, "MasterUserSecret" : { - "$ref" : "#/definitions/MasterUserSecret", - "description" : "The secret managed by RDS in AWS Secrets Manager for the master user password.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*" - }, - "MonitoringInterval" : { - "description" : "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, also set ``MonitoringInterval`` to a value other than ``0``.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``", - "type" : "integer" + "description" : "The secret managed by RDS in AWS Secrets Manager for the master user password.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", + "$ref" : "#/definitions/MasterUserSecret" }, - "MonitoringRoleArn" : { - "description" : "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is ``arn:aws:iam:123456789012:role/emaccess``. For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide*.\n If ``MonitoringInterval`` is set to a value other than ``0``, supply a ``MonitoringRoleArn`` value.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "SourceDBClusterIdentifier" : { + "description" : "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n Constraints:\n + Must match the identifier of an existing DBCluster.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "NetworkType" : { - "description" : "The network type of the DB cluster.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB cluster. A ``DBSubnetGroup`` can support only the IPv4 protocol or the IPv4 and IPv6 protocols (``DUAL``).\n For more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.* \n Valid for: Aurora DB clusters only", + "MasterUsername" : { + "minLength" : 1, + "pattern" : "^[a-zA-Z]{1}[a-zA-Z0-9_]*$", + "description" : "The name of the master user for the DB cluster.\n If you specify the ``SourceDBClusterIdentifier``, ``SnapshotIdentifier``, or ``GlobalClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "PerformanceInsightsEnabled" : { - "description" : "Specifies whether to turn on Performance Insights for the DB cluster.\n For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide*.\n Valid for Cluster Type: Multi-AZ DB clusters only", - "type" : "boolean" + "ScalingConfiguration" : { + "description" : "The scaling configuration of an Aurora Serverless v1 DB cluster.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only", + "$ref" : "#/definitions/ScalingConfiguration" + }, + "ReadEndpoint" : { + "description" : "This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:\n + ``CreateDBInstance`` \n + ``DescribeDBInstances`` \n + ``DeleteDBInstance`` \n \n For the data structure that represents Amazon Aurora DB cluster endpoints, see ``DBClusterEndpoint``.", + "$ref" : "#/definitions/ReadEndpoint" }, "PerformanceInsightsKmsKeyId" : { "description" : "The AWS KMS key identifier for encryption of Performance Insights data.\n The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you don't specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS-account. Your AWS-account has a different default KMS key for each AWS-Region.\n Valid for Cluster Type: Multi-AZ DB clusters only", "type" : "string" }, - "PerformanceInsightsRetentionPeriod" : { - "description" : "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", - "type" : "integer" - }, - "Port" : { - "description" : "The port number on which the DB instances in the DB cluster accept connections.\n Default:\n + When ``EngineMode`` is ``provisioned``, ``3306`` (for both Aurora MySQL and Aurora PostgreSQL)\n + When ``EngineMode`` is ``serverless``:\n + ``3306`` when ``Engine`` is ``aurora`` or ``aurora-mysql`` \n + ``5432`` when ``Engine`` is ``aurora-postgresql`` \n \n \n The ``No interruption`` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "integer" - }, - "PreferredBackupWindow" : { - "description" : "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string" - }, - "PreferredMaintenanceWindow" : { - "description" : "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Cluster Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.* \n Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n Constraints: Minimum 30-minute window.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string" - }, "PubliclyAccessible" : { "description" : "Specifies whether the DB cluster is publicly accessible.\n When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.\n When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Default: The default behavior varies depending on whether ``DBSubnetGroupName`` is specified.\n If ``DBSubnetGroupName`` isn't specified, and ``PubliclyAccessible`` isn't specified, the following applies:\n + If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.\n + If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.\n \n If ``DBSubnetGroupName`` is specified, and ``PubliclyAccessible`` isn't specified, the following applies:\n + If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.\n + If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.", "type" : "boolean" }, - "ReplicationSourceIdentifier" : { - "description" : "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n Valid for: Aurora DB clusters only", + "Domain" : { + "description" : "Indicates the directory ID of the Active Directory to create the DB cluster.\n For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n For more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide*.\n Valid for: Aurora DB clusters only", "type" : "string" }, - "RestoreToTime" : { - "description" : "The date and time to restore the DB cluster to.\n Valid Values: Value must be a time in Universal Coordinated Time (UTC) format\n Constraints:\n + Must be before the latest restorable time for the DB instance\n + Must be specified if ``UseLatestRestorableTime`` parameter isn't provided\n + Can't be specified if the ``UseLatestRestorableTime`` parameter is enabled\n + Can't be specified if the ``RestoreType`` parameter is ``copy-on-write`` \n \n This property must be used with ``SourceDBClusterIdentifier`` property. The resulting cluster will have the identifier that matches the value of the ``DBclusterIdentifier`` property.\n Example: ``2015-03-07T23:45:00Z`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "BacktrackWindow" : { + "description" : "The target backtrack window, in seconds. To disable backtracking, set this value to ``0``.\n Valid for Cluster Type: Aurora MySQL DB clusters only\n Default: ``0`` \n Constraints:\n + If specified, this value must be set to a number from 0 to 259,200 (72 hours).", + "type" : "integer", + "minimum" : 0 + }, + "DBInstanceParameterGroupName" : { + "description" : "The name of the DB parameter group to apply to all instances of the DB cluster.\n When you apply a parameter group using the ``DBInstanceParameterGroupName`` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.\n Valid for Cluster Type: Aurora DB clusters only\n Default: The existing name setting\n Constraints:\n + The DB parameter group must be in the same DB parameter group family as this DB cluster.\n + The ``DBInstanceParameterGroupName`` parameter is valid in combination with the ``AllowMajorVersionUpgrade`` parameter for a major version upgrade only.", "type" : "string" }, - "RestoreType" : { - "description" : "The type of restore to be performed. You can specify one of the following values:\n + ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster.\n + ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster.\n \n If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "EnableGlobalWriteForwarding" : { + "description" : "Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.\n You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.\n Valid for Cluster Type: Aurora DB clusters only", + "type" : "boolean" + }, + "MonitoringRoleArn" : { + "description" : "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is ``arn:aws:iam:123456789012:role/emaccess``. For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide*.\n If ``MonitoringInterval`` is set to a value other than ``0``, supply a ``MonitoringRoleArn`` value.\n Valid for Cluster Type: Multi-AZ DB clusters only", "type" : "string" }, - "ServerlessV2ScalingConfiguration" : { - "description" : "The scaling configuration of an Aurora Serverless V2 DB cluster. \n This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the ``ScalingConfiguration`` property.\n Valid for: Aurora Serverless v2 DB clusters only", - "$ref" : "#/definitions/ServerlessV2ScalingConfiguration" + "AssociatedRoles" : { + "uniqueItems" : true, + "description" : "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "array", + "items" : { + "$ref" : "#/definitions/DBClusterRole" + } }, - "ScalingConfiguration" : { - "description" : "The scaling configuration of an Aurora Serverless v1 DB cluster.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only", - "$ref" : "#/definitions/ScalingConfiguration" + "EnableHttpEndpoint" : { + "description" : "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n RDS Data API is supported with the following DB clusters:\n + Aurora PostgreSQL Serverless v2 and provisioned\n + Aurora PostgreSQL and Aurora MySQL Serverless v1\n \n For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide*.\n Valid for Cluster Type: Aurora DB clusters only", + "type" : "boolean" }, "SnapshotIdentifier" : { "description" : "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n If you specify the ``SnapshotIdentifier`` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:\n + ``GlobalClusterIdentifier`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``ReplicationSourceIdentifier`` \n + ``RestoreType`` \n + ``SourceDBClusterIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``UseLatestRestorableTime`` \n \n Constraints:\n + Must match the identifier of an existing Snapshot.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "SourceDBClusterIdentifier" : { - "description" : "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n Constraints:\n + Must match the identifier of an existing DBCluster.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "PreferredBackupWindow" : { + "description" : "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.* \n Constraints:\n + Must be in the format ``hh24:mi-hh24:mi``.\n + Must be in Universal Coordinated Time (UTC).\n + Must not conflict with the preferred maintenance window.\n + Must be at least 30 minutes.\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "SourceRegion" : { - "description" : "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, ``us-east-1``. \n Valid for: Aurora DB clusters only", + "NetworkType" : { + "description" : "The network type of the DB cluster.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB cluster. A ``DBSubnetGroup`` can support only the IPv4 protocol or the IPv4 and IPv6 protocols (``DUAL``).\n For more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.* \n Valid for: Aurora DB clusters only", "type" : "string" }, - "StorageEncrypted" : { - "description" : "Indicates whether the DB cluster is encrypted.\n If you specify the ``KmsKeyId`` property, then you must enable encryption.\n If you specify the ``SourceDBClusterIdentifier`` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified ``KmsKeyId`` property is used.\n If you specify the ``SnapshotIdentifier`` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the ``KmsKeyId`` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to ``false``.\n If you specify both the ``StorageEncrypted`` and ``SnapshotIdentifier`` properties without specifying the ``KmsKeyId`` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "VpcSecurityGroupIds" : { + "uniqueItems" : true, + "description" : "A list of EC2 VPC security groups to associate with this DB cluster.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "array", + "items" : { + "type" : "string" + } + }, + "CopyTagsToSnapshot" : { + "description" : "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "boolean" }, - "StorageThroughput" : { - "description" : "", - "type" : "integer" + "GlobalClusterIdentifier" : { + "minLength" : 0, + "pattern" : "^$|^[a-zA-Z]{1}(?:-?[a-zA-Z0-9]){0,62}$", + "description" : "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource. \n If you aren't configuring a global database cluster, don't specify this property. \n To remove the DB cluster from a global database cluster, specify an empty value for the ``GlobalClusterIdentifier`` property.\n For information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide*.\n Valid for: Aurora DB clusters only", + "type" : "string", + "maxLength" : 63 }, - "StorageType" : { - "description" : "The storage type to associate with the DB cluster.\n For information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type). For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings).\n This setting is required to create a Multi-AZ DB cluster.\n When specified for a Multi-AZ DB cluster, a value for the ``Iops`` parameter is required.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + Aurora DB clusters - ``aurora | aurora-iopt1`` \n + Multi-AZ DB clusters - ``io1 | io2 | gp3`` \n \n Default:\n + Aurora DB clusters - ``aurora`` \n + Multi-AZ DB clusters - ``io1`` \n \n When you create an Aurora DB cluster with the storage type set to ``aurora-iopt1``, the storage type is returned in the response. The storage type isn't returned when you set it to ``aurora``.", + "RestoreType" : { + "description" : "The type of restore to be performed. You can specify one of the following values:\n + ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster.\n + ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster.\n \n If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type" : "string" }, - "Tags" : { - "type" : "array", - "maxItems" : 50, - "uniqueItems" : true, - "insertionOrder" : false, - "description" : "Tags to assign to the DB cluster.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "items" : { - "$ref" : "#/definitions/Tag" - } + "DomainIAMRoleName" : { + "description" : "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n Valid for: Aurora DB clusters only", + "type" : "string" }, - "UseLatestRestorableTime" : { - "description" : "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time. \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "boolean" + "EngineLifecycleSupport" : { + "description" : "The life cycle type for this DB cluster.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to ``open-source-rds-extended-support-disabled``. In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date.\n You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n + Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* \n + Amazon RDS - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* \n \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``open-source-rds-extended-support | open-source-rds-extended-support-disabled`` \n Default: ``open-source-rds-extended-support``", + "type" : "string" }, - "VpcSecurityGroupIds" : { - "description" : "A list of EC2 VPC security groups to associate with this DB cluster.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "DBClusterInstanceClass" : { + "description" : "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example ``db.m6gd.xlarge``. Not all DB instance classes are available in all AWS-Regions, or for all database engines.\n For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "type" : "string" + }, + "AvailabilityZones" : { "uniqueItems" : true, + "description" : "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide*. \n Valid for: Aurora DB clusters only", + "type" : "array", "items" : { "type" : "string" - }, - "type" : "array" - } - }, - "definitions" : { - "Endpoint" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Address" : { - "description" : "Specifies the connection endpoint for the primary instance of the DB cluster.", - "type" : "string" - }, - "Port" : { - "description" : "Specifies the port that the database engine is listening on.", - "type" : "string" - } - }, - "description" : "The ``Endpoint`` return value specifies the connection endpoint for the primary instance of the DB cluster." + } }, - "ReadEndpoint" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Address" : { - "description" : "The host address of the reader endpoint.", - "type" : "string" - } - }, - "description" : "The ``ReadEndpoint`` return value specifies the reader endpoint for the DB cluster.\n The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.\n If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.\n For more information about Aurora endpoints, see [Amazon Aurora connection management](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html) in the *Amazon Aurora User Guide*." + "DBClusterArn" : { + "description" : "", + "type" : "string" }, - "DBClusterRole" : { - "description" : "Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.", - "type" : "object", - "additionalProperties" : false, - "properties" : { - "FeatureName" : { - "description" : "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the ``SupportedFeatureNames`` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference*.", - "type" : "string" - }, - "RoleArn" : { - "description" : "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", - "type" : "string" - } - }, - "required" : [ "RoleArn" ] + "PreferredMaintenanceWindow" : { + "description" : "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).\n Format: ``ddd:hh24:mi-ddd:hh24:mi`` \n The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Cluster Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.* \n Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n Constraints: Minimum 30-minute window.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "string" }, - "ServerlessV2ScalingConfiguration" : { - "description" : "The ``ServerlessV2ScalingConfiguration`` property type specifies the scaling configuration of an Aurora Serverless V2 DB cluster. For more information, see [Using Amazon Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) in the *Amazon Aurora User Guide*.\n If you have an Aurora cluster, you must set this attribute before you add a DB instance that uses the ``db.serverless`` DB instance class. For more information, see [Clusters that use Aurora Serverless v2 must have a capacity range specified](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html#aurora-serverless-v2.requirements.capacity-range) in the *Amazon Aurora User Guide*.\n This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, use the ``ScalingConfiguration`` property.\n Valid for: Aurora Serverless v2 DB clusters", - "type" : "object", - "additionalProperties" : false, - "properties" : { - "MinCapacity" : { - "description" : "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5.", - "type" : "number" - }, - "MaxCapacity" : { - "description" : "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n The maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide*.\n Aurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the ``ParameterApplyStatus`` value for the DB instance changes to ``pending-reboot``. You can update the parameter values by rebooting the DB instance after changing the capacity range.", - "type" : "number" - } - } + "Iops" : { + "description" : "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n For information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide*.\n This setting is required to create a Multi-AZ DB cluster.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Constraints:\n + Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "type" : "integer" }, - "ScalingConfiguration" : { - "description" : "The ``ScalingConfiguration`` property type specifies the scaling configuration of an Aurora Serverless v1 DB cluster. \n For more information, see [Using Amazon Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) in the *Amazon Aurora User Guide*.\n This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the ``ServerlessV2ScalingConfiguration`` property.\n Valid for: Aurora Serverless v1 DB clusters only", - "type" : "object", - "additionalProperties" : false, - "properties" : { - "AutoPause" : { - "description" : "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in ``serverless`` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n 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.", - "type" : "boolean" - }, - "MaxCapacity" : { - "description" : "The maximum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The maximum capacity must be greater than or equal to the minimum capacity.", - "type" : "integer" - }, - "MinCapacity" : { - "description" : "The minimum capacity for an Aurora DB cluster in ``serverless`` DB engine mode.\n For Aurora MySQL, valid capacity values are ``1``, ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``128``, and ``256``.\n For Aurora PostgreSQL, valid capacity values are ``2``, ``4``, ``8``, ``16``, ``32``, ``64``, ``192``, and ``384``.\n The minimum capacity must be less than or equal to the maximum capacity.", - "type" : "integer" - }, - "SecondsBeforeTimeout" : { - "description" : "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n Specify a value between 60 and 600 seconds.", - "type" : "integer" - }, - "SecondsUntilAutoPause" : { - "description" : "The time, in seconds, before an Aurora DB cluster in ``serverless`` mode is paused.\n Specify a value between 300 and 86,400 seconds.", - "type" : "integer" - }, - "TimeoutAction" : { - "description" : "The action to take when the timeout is reached, either ``ForceApplyCapacityChange`` or ``RollbackCapacityChange``.\n ``ForceApplyCapacityChange`` sets the capacity to the specified value as soon as possible.\n ``RollbackCapacityChange``, the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n If you specify ``ForceApplyCapacityChange``, connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped.\n For more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide*.", - "type" : "string" - } - } + "SourceRegion" : { + "description" : "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, ``us-east-1``. \n Valid for: Aurora DB clusters only", + "type" : "string" }, - "Tag" : { - "description" : "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n For more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide*.", - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Key" : { - "type" : "string", - "description" : "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "minLength" : 1, - "maxLength" : 128 - }, - "Value" : { - "type" : "string", - "description" : "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "minLength" : 0, - "maxLength" : 256 - } - }, - "required" : [ "Key" ] + "UseLatestRestorableTime" : { + "description" : "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time. \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "boolean" }, - "MasterUserSecret" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "SecretArn" : { - "type" : "string", - "description" : "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the ``Fn::GetAtt`` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values)." - }, - "KmsKeyId" : { - "type" : "string", - "description" : "The AWS KMS key identifier that is used to encrypt the secret." - } - }, - "description" : "The ``MasterUserSecret`` return value specifies the secret managed by RDS in AWS Secrets Manager for the master user password.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*" - } - }, - "additionalProperties" : false, - "propertyTransform" : { - "/properties/DBClusterIdentifier" : "$lowercase(DBClusterIdentifier)", - "/properties/DBClusterParameterGroupName" : "$lowercase(DBClusterParameterGroupName)", - "/properties/DBSubnetGroupName" : "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint" : "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", - "/properties/Engine" : "$lowercase(Engine)", - "/properties/EngineVersion" : "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", - "/properties/NetworkType" : "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", - "/properties/PreferredMaintenanceWindow" : "$lowercase(PreferredMaintenanceWindow)", - "/properties/SnapshotIdentifier" : "$lowercase(SnapshotIdentifier)", - "/properties/SourceDBClusterIdentifier" : "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType" : "$lowercase(StorageType)" - }, - "readOnlyProperties" : [ "/properties/DBClusterArn", "/properties/DBClusterResourceId", "/properties/Endpoint", "/properties/Endpoint/Address", "/properties/Endpoint/Port", "/properties/ReadEndpoint/Address", "/properties/MasterUserSecret/SecretArn", "/properties/StorageThroughput" ], - "createOnlyProperties" : [ "/properties/AvailabilityZones", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", "/properties/DatabaseName", "/properties/EngineMode", "/properties/KmsKeyId", "/properties/PubliclyAccessible", "/properties/RestoreToTime", "/properties/RestoreType", "/properties/SnapshotIdentifier", "/properties/SourceDBClusterIdentifier", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/UseLatestRestorableTime" ], - "conditionalCreateOnlyProperties" : [ "/properties/Engine", "/properties/GlobalClusterIdentifier", "/properties/MasterUsername" ], - "primaryIdentifier" : [ "/properties/DBClusterIdentifier" ], - "writeOnlyProperties" : [ "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", "/properties/RestoreType", "/properties/SnapshotIdentifier", "/properties/SourceDBClusterIdentifier", "/properties/SourceRegion", "/properties/UseLatestRestorableTime" ], - "handlers" : { - "create" : { - "permissions" : [ "iam:CreateServiceLinkedRole", "iam:PassRole", "rds:AddRoleToDBCluster", "rds:AddTagsToResource", "rds:CreateDBCluster", "rds:CreateDBInstance", "rds:DescribeDBClusters", "rds:DescribeDBClusterSnapshots", "rds:DescribeDBSnapshots", "rds:DescribeEvents", "rds:EnableHttpEndpoint", "rds:ModifyDBCluster", "rds:RestoreDBClusterFromSnapshot", "rds:RestoreDBClusterToPointInTime", "secretsmanager:CreateSecret", "secretsmanager:TagResource" ], - "timeoutInMinutes" : 2160 + "ManageMasterUserPassword" : { + "description" : "Specifies whether to manage the master user password with AWS Secrets Manager.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.* \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Constraints:\n + Can't manage the master user password with AWS Secrets Manager if ``MasterUserPassword`` is specified.", + "type" : "boolean" }, - "read" : { - "permissions" : [ "rds:DescribeDBClusters" ] + "EnableIAMDatabaseAuthentication" : { + "description" : "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n For more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.* \n Valid for: Aurora DB clusters only", + "type" : "boolean" }, - "update" : { - "permissions" : [ "ec2:DescribeSecurityGroups", "iam:PassRole", "rds:AddRoleToDBCluster", "rds:AddTagsToResource", "rds:DescribeDBClusters", "rds:DescribeDBSubnetGroups", "rds:DescribeEvents", "rds:DescribeGlobalClusters", "rds:DisableHttpEndpoint", "rds:EnableHttpEndpoint", "rds:ModifyDBCluster", "rds:ModifyDBInstance", "rds:RemoveFromGlobalCluster", "rds:RemoveRoleFromDBCluster", "rds:RemoveTagsFromResource", "secretsmanager:CreateSecret", "secretsmanager:TagResource" ], - "timeoutInMinutes" : 2160 + "DBClusterParameterGroupName" : { + "description" : "The name of the DB cluster parameter group to associate with this DB cluster.\n If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started.\n To list all of the available DB cluster parameter group names, use the following command:\n ``aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "string" }, - "delete" : { - "permissions" : [ "rds:AddTagsToResource", "rds:CreateDBClusterSnapshot", "rds:DeleteDBCluster", "rds:DeleteDBInstance", "rds:DescribeDBClusters", "rds:DescribeGlobalClusters", "rds:RemoveFromGlobalCluster" ] + "PerformanceInsightsEnabled" : { + "description" : "Specifies whether to turn on Performance Insights for the DB cluster.\n For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide*.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "type" : "boolean" }, - "list" : { - "permissions" : [ "rds:DescribeDBClusters" ] + "BackupRetentionPeriod" : { + "default" : 1, + "description" : "The number of days for which automated backups are retained.\n Default: 1\n Constraints:\n + Must be a value from 1 to 35\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "integer", + "minimum" : 1 + }, + "EnableCloudwatchLogsExports" : { + "uniqueItems" : true, + "description" : "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide*.\n *Aurora MySQL* \n Valid values: ``audit``, ``error``, ``general``, ``slowquery`` \n *Aurora PostgreSQL* \n Valid values: ``postgresql`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", + "type" : "array", + "items" : { + "type" : "string" + } } - }, - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags", - "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-rds-dbinstance.json b/aws-cloudformation-schema/aws-rds-dbinstance.json index acdeb752cb..8ca1cfb66d 100644 --- a/aws-cloudformation-schema/aws-rds-dbinstance.json +++ b/aws-cloudformation-schema/aws-rds-dbinstance.json @@ -213,7 +213,7 @@ }, "DBSnapshotIdentifier" : { "type" : "string", - "description" : "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." + "description" : "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." }, "DBSubnetGroupName" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-rds-dbsubnetgroup.json b/aws-cloudformation-schema/aws-rds-dbsubnetgroup.json index 0bedd7ee97..8ae6f98883 100644 --- a/aws-cloudformation-schema/aws-rds-dbsubnetgroup.json +++ b/aws-cloudformation-schema/aws-rds-dbsubnetgroup.json @@ -14,6 +14,7 @@ "SubnetIds" : { "type" : "array", "uniqueItems" : false, + "insertionOrder" : false, "items" : { "type" : "string" }, @@ -59,7 +60,6 @@ }, "createOnlyProperties" : [ "/properties/DBSubnetGroupName" ], "primaryIdentifier" : [ "/properties/DBSubnetGroupName" ], - "writeOnlyProperties" : [ "/properties/SubnetIds" ], "handlers" : { "create" : { "permissions" : [ "iam:CreateServiceLinkedRole", "rds:CreateDBSubnetGroup", "rds:DescribeDBSubnetGroups", "rds:AddTagsToResource", "rds:RemoveTagsFromResource", "rds:ListTagsForResource" ] @@ -76,5 +76,13 @@ "list" : { "permissions" : [ "rds:DescribeDBSubnetGroups" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-refactorspaces-route.json b/aws-cloudformation-schema/aws-refactorspaces-route.json index dace8715e5..dfc7f316b0 100644 --- a/aws-cloudformation-schema/aws-refactorspaces-route.json +++ b/aws-cloudformation-schema/aws-refactorspaces-route.json @@ -162,12 +162,5 @@ "permissions" : [ "refactor-spaces:UpdateRoute", "refactor-spaces:GetRoute", "refactor-spaces:TagResource", "iam:CreateServiceLinkedRole", "apigateway:GET", "apigateway:PATCH", "apigateway:POST", "apigateway:PUT", "apigateway:DELETE", "apigateway:UpdateRestApiPolicy", "lambda:GetFunctionConfiguration", "lambda:AddPermission", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DescribeTags", "elasticloadbalancing:AddTags", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DescribeTargetHealth", "ec2:DescribeSubnets", "ec2:DescribeSubnets", "tag:GetResources" ] } }, - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags", - "permissions" : [ "refactor-spaces:ListTagsForResource", "tag:GetResources", "elasticloadbalancing:AddTags", "refactor-spaces:UntagResource", "refactor-spaces:TagResource", "elasticloadbalancing:DescribeTags" ] - } + "taggable" : true } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-secretsmanager-secrettargetattachment.json b/aws-cloudformation-schema/aws-secretsmanager-secrettargetattachment.json index 865d715f33..3780ccc700 100644 --- a/aws-cloudformation-schema/aws-secretsmanager-secrettargetattachment.json +++ b/aws-cloudformation-schema/aws-secretsmanager-secrettargetattachment.json @@ -1,5 +1,6 @@ { "typeName" : "AWS::SecretsManager::SecretTargetAttachment", + "$schema" : "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", "description" : "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment", "additionalProperties" : false, "properties" : { @@ -17,6 +18,26 @@ } }, "required" : [ "TargetType", "TargetId", "SecretId" ], + "tagging" : { + "taggable" : false + }, "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "readOnlyProperties" : [ "/properties/Id" ], + "handlers" : { + "read" : { + "permissions" : [ "secretsmanager:GetSecretValue" ] + }, + "list" : { + "permissions" : [ "secretsmanager:GetSecretValue", "secretsmanager:ListSecrets" ] + }, + "create" : { + "permissions" : [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "rds:DescribeDBInstances", "redshift:DescribeClusters", "rds:DescribeDBClusters", "docdb-elastic:GetCluster", "redshift-serverless:ListWorkgroups", "redshift-serverless:GetNamespace" ] + }, + "delete" : { + "permissions" : [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ] + }, + "update" : { + "permissions" : [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "rds:DescribeDBInstances", "redshift:DescribeClusters", "rds:DescribeDBClusters", "docdb-elastic:GetCluster", "redshift-serverless:ListWorkgroups", "redshift-serverless:GetNamespace" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-securitylake-datalake.json b/aws-cloudformation-schema/aws-securitylake-datalake.json index f3958fd624..e60957480a 100644 --- a/aws-cloudformation-schema/aws-securitylake-datalake.json +++ b/aws-cloudformation-schema/aws-securitylake-datalake.json @@ -148,7 +148,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "securitylake:TagResource", "securitylake:UntagResource", "securitylake:ListTagsForResource" ] }, "replacementStrategy" : "delete_then_create", "handlers" : { diff --git a/aws-cloudformation-schema/aws-securitylake-subscriber.json b/aws-cloudformation-schema/aws-securitylake-subscriber.json index a1fa794b64..27484602af 100644 --- a/aws-cloudformation-schema/aws-securitylake-subscriber.json +++ b/aws-cloudformation-schema/aws-securitylake-subscriber.json @@ -175,7 +175,7 @@ "replacementStrategy" : "delete_then_create", "handlers" : { "create" : { - "permissions" : [ "securitylake:CreateSubscriber", "securitylake:CreateCustomLogSource", "securitylake:CreateDataLake", "securitylake:TagResource", "securitylake:GetSubscriber", "securitylake:ListTagsForResource", "iam:GetRole", "iam:GetRolePolicy", "iam:PutRolePolicy", "iam:CreateRole", "iam:CreateServiceLinkedRole", "glue:GetDatabase", "glue:GetTable", "lakeformation:RegisterResource", "lakeformation:GrantPermissions", "lakeformation:RevokePermissions", "lakeformation:ListPermissions", "ram:GetResourceShareAssociations", "ram:CreateResourceShare", "ram:UpdateResourceShare", "ram:GetResourceShares" ] + "permissions" : [ "securitylake:CreateSubscriber", "securitylake:CreateCustomLogSource", "securitylake:CreateDataLake", "securitylake:TagResource", "securitylake:GetSubscriber", "securitylake:ListSubscribers", "securitylake:ListTagsForResource", "iam:GetRole", "iam:GetRolePolicy", "iam:PutRolePolicy", "iam:CreateRole", "iam:CreateServiceLinkedRole", "glue:GetDatabase", "glue:GetTable", "lakeformation:RegisterResource", "lakeformation:GrantPermissions", "lakeformation:RevokePermissions", "lakeformation:ListPermissions", "ram:GetResourceShareAssociations", "ram:CreateResourceShare", "ram:UpdateResourceShare", "ram:GetResourceShares" ] }, "read" : { "permissions" : [ "securitylake:GetSubscriber", "securitylake:ListTagsForResource" ] diff --git a/aws-cloudformation-schema/aws-sqs-queue.json b/aws-cloudformation-schema/aws-sqs-queue.json index a158d58b09..706c9c17e9 100644 --- a/aws-cloudformation-schema/aws-sqs-queue.json +++ b/aws-cloudformation-schema/aws-sqs-queue.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::SQS::Queue", - "description" : "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*.", + "description" : "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sqs.git", "definitions" : { "Tag" : { @@ -43,7 +43,7 @@ }, "FifoQueue" : { "type" : "boolean", - "description" : "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*." + "description" : "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*." }, "FifoThroughputLimit" : { "description" : "For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``.\n To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*.", @@ -55,7 +55,7 @@ }, "KmsMasterKeyId" : { "type" : "string", - "description" : "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper" + "description" : "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*" }, "SqsManagedSseEnabled" : { "type" : "boolean", @@ -71,7 +71,7 @@ }, "QueueName" : { "type" : "string", - "description" : "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." + "description" : "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "ReceiveMessageWaitTimeSeconds" : { "type" : "integer", @@ -79,11 +79,11 @@ }, "RedriveAllowPolicy" : { "type" : [ "object", "string" ], - "description" : "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``." + "description" : "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``." }, "RedrivePolicy" : { "type" : [ "object", "string" ], - "description" : "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``" + "description" : "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``" }, "Tags" : { "type" : "array", diff --git a/aws-cloudformation-schema/aws-sqs-queuepolicy.json b/aws-cloudformation-schema/aws-sqs-queuepolicy.json index e0877737e1..dd8718f2d3 100644 --- a/aws-cloudformation-schema/aws-sqs-queuepolicy.json +++ b/aws-cloudformation-schema/aws-sqs-queuepolicy.json @@ -18,18 +18,7 @@ "uniqueItems" : false, "insertionOrder" : false, "items" : { - "type" : "string", - "anyOf" : [ { - "relationshipRef" : { - "typeName" : "AWS::SQS::Queue", - "propertyPath" : "/properties/QueueUrl" - } - }, { - "relationshipRef" : { - "typeName" : "AWS::SQS::Queue", - "propertyPath" : "/properties/QueueName" - } - } ] + "type" : "string" } } }, diff --git a/aws-cloudformation-schema/aws-ssmquicksetup-configurationmanager.json b/aws-cloudformation-schema/aws-ssmquicksetup-configurationmanager.json index 0fca20efc0..5a21136a30 100644 --- a/aws-cloudformation-schema/aws-ssmquicksetup-configurationmanager.json +++ b/aws-cloudformation-schema/aws-ssmquicksetup-configurationmanager.json @@ -92,11 +92,11 @@ "TagsMap" : { "type" : "object", "patternProperties" : { - "^[A-Za-z0-9+=@_\\/:-]+$" : { + "^[A-Za-z0-9+=@_\\/:.-]+$" : { "type" : "string", "maxLength" : 256, "minLength" : 1, - "pattern" : "^[A-Za-z0-9+=@_\\/:-]+$" + "pattern" : "^[A-Za-z0-9+=@_\\/:.-]+$" } }, "additionalProperties" : false diff --git a/aws-cloudformation-schema/aws-transfer-server.json b/aws-cloudformation-schema/aws-transfer-server.json index a9b8cf703b..a9ddcc907a 100644 --- a/aws-cloudformation-schema/aws-transfer-server.json +++ b/aws-cloudformation-schema/aws-transfer-server.json @@ -1,221 +1,348 @@ { "typeName" : "AWS::Transfer::Server", - "description" : "Resource Type definition for AWS::Transfer::Server", - "additionalProperties" : false, - "properties" : { - "LoggingRole" : { - "type" : "string" - }, - "Protocols" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Protocol" - } - }, - "IdentityProviderDetails" : { - "$ref" : "#/definitions/IdentityProviderDetails" - }, - "EndpointDetails" : { - "$ref" : "#/definitions/EndpointDetails" - }, - "StructuredLogDestinations" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/StructuredLogDestination" - } - }, - "PreAuthenticationLoginBanner" : { - "type" : "string" - }, - "ServerId" : { - "type" : "string" - }, - "PostAuthenticationLoginBanner" : { - "type" : "string" - }, - "EndpointType" : { - "type" : "string" - }, - "SecurityPolicyName" : { - "type" : "string" - }, - "ProtocolDetails" : { - "$ref" : "#/definitions/ProtocolDetails" - }, - "S3StorageOptions" : { - "$ref" : "#/definitions/S3StorageOptions" - }, - "WorkflowDetails" : { - "$ref" : "#/definitions/WorkflowDetails" + "description" : "Definition of AWS::Transfer::Server Resource Type", + "definitions" : { + "As2Transport" : { + "type" : "string", + "enum" : [ "HTTP" ] }, - "Arn" : { - "type" : "string" + "DirectoryListingOptimization" : { + "type" : "string", + "description" : "Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility.", + "enum" : [ "ENABLED", "DISABLED" ] }, "Domain" : { - "type" : "string" - }, - "IdentityProviderType" : { - "type" : "string" - }, - "Tags" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Tag" - } + "type" : "string", + "enum" : [ "S3", "EFS" ] }, - "Certificate" : { - "type" : "string" - } - }, - "definitions" : { - "StructuredLogDestination" : { + "EndpointDetails" : { "type" : "object", + "properties" : { + "AddressAllocationIds" : { + "type" : "array", + "insertionOrder" : true, + "items" : { + "type" : "string" + } + }, + "SubnetIds" : { + "type" : "array", + "insertionOrder" : true, + "items" : { + "type" : "string" + } + }, + "VpcEndpointId" : { + "type" : "string", + "maxLength" : 22, + "minLength" : 22, + "pattern" : "^vpce-[0-9a-f]{17}$" + }, + "VpcId" : { + "type" : "string" + }, + "SecurityGroupIds" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "string", + "maxLength" : 20, + "minLength" : 11, + "pattern" : "^sg-[0-9a-f]{8,17}$" + } + } + }, "additionalProperties" : false }, + "EndpointType" : { + "type" : "string", + "enum" : [ "PUBLIC", "VPC", "VPC_ENDPOINT" ] + }, "IdentityProviderDetails" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "Function" : { - "type" : "string" - }, - "DirectoryId" : { - "type" : "string" - }, "Url" : { - "type" : "string" + "type" : "string", + "maxLength" : 255, + "minLength" : 0 }, "InvocationRole" : { - "type" : "string" + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "pattern" : "^arn:.*role/\\S+$" + }, + "DirectoryId" : { + "type" : "string", + "maxLength" : 12, + "minLength" : 12, + "pattern" : "^d-[0-9a-f]{10}$" + }, + "Function" : { + "type" : "string", + "maxLength" : 170, + "minLength" : 1, + "pattern" : "^arn:[a-z-]+:lambda:.*$" }, "SftpAuthenticationMethods" : { - "type" : "string" + "$ref" : "#/definitions/SftpAuthenticationMethods" } - } + }, + "additionalProperties" : false + }, + "IdentityProviderType" : { + "type" : "string", + "enum" : [ "SERVICE_MANAGED", "API_GATEWAY", "AWS_DIRECTORY_SERVICE", "AWS_LAMBDA" ] + }, + "Protocol" : { + "type" : "string", + "enum" : [ "SFTP", "FTP", "FTPS", "AS2" ] }, "ProtocolDetails" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "As2Transports" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/As2Transport" - } - }, "PassiveIp" : { - "type" : "string" + "type" : "string", + "maxLength" : 15, + "minLength" : 0 + }, + "TlsSessionResumptionMode" : { + "$ref" : "#/definitions/TlsSessionResumptionMode" }, "SetStatOption" : { - "type" : "string" + "$ref" : "#/definitions/SetStatOption" }, - "TlsSessionResumptionMode" : { - "type" : "string" + "As2Transports" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/As2Transport" + }, + "maxItems" : 1, + "minItems" : 1 } - } + }, + "additionalProperties" : false }, "S3StorageOptions" : { "type" : "object", - "additionalProperties" : false, "properties" : { "DirectoryListingOptimization" : { - "type" : "string" + "$ref" : "#/definitions/DirectoryListingOptimization" } - } + }, + "additionalProperties" : false }, - "WorkflowDetails" : { + "SetStatOption" : { + "type" : "string", + "enum" : [ "DEFAULT", "ENABLE_NO_OP" ] + }, + "SftpAuthenticationMethods" : { + "type" : "string", + "enum" : [ "PASSWORD", "PUBLIC_KEY", "PUBLIC_KEY_OR_PASSWORD", "PUBLIC_KEY_AND_PASSWORD" ] + }, + "Tag" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "OnUpload" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/WorkflowDetail" - } + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 0 }, - "OnPartialUpload" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/WorkflowDetail" - } + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 0 } - } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "TlsSessionResumptionMode" : { + "type" : "string", + "enum" : [ "DISABLED", "ENABLED", "ENFORCED" ] }, "WorkflowDetail" : { "type" : "object", - "additionalProperties" : false, "properties" : { "WorkflowId" : { - "type" : "string" + "type" : "string", + "maxLength" : 19, + "minLength" : 19, + "pattern" : "^w-([a-z0-9]{17})$" }, "ExecutionRole" : { - "type" : "string" + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "pattern" : "^arn:.*role/\\S+$" } }, - "required" : [ "WorkflowId", "ExecutionRole" ] - }, - "Tag" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Value" : { - "type" : "string" - }, - "Key" : { - "type" : "string" - } - }, - "required" : [ "Value", "Key" ] - }, - "Protocol" : { - "type" : "object", + "required" : [ "ExecutionRole", "WorkflowId" ], "additionalProperties" : false }, - "EndpointDetails" : { + "WorkflowDetails" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "AddressAllocationIds" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "VpcId" : { - "type" : "string" - }, - "VpcEndpointId" : { - "type" : "string" - }, - "SecurityGroupIds" : { + "OnUpload" : { "type" : "array", - "uniqueItems" : false, + "insertionOrder" : true, "items" : { - "type" : "string" - } + "$ref" : "#/definitions/WorkflowDetail" + }, + "maxItems" : 1, + "minItems" : 0 }, - "SubnetIds" : { + "OnPartialUpload" : { "type" : "array", - "uniqueItems" : false, + "insertionOrder" : true, "items" : { - "type" : "string" - } + "$ref" : "#/definitions/WorkflowDetail" + }, + "maxItems" : 1, + "minItems" : 0 } - } - }, - "As2Transport" : { - "type" : "object", + }, "additionalProperties" : false } }, - "createOnlyProperties" : [ "/properties/IdentityProviderType", "/properties/Domain" ], - "primaryIdentifier" : [ "/properties/ServerId" ], - "readOnlyProperties" : [ "/properties/ServerId", "/properties/Arn" ] + "properties" : { + "Arn" : { + "type" : "string", + "maxLength" : 1600, + "minLength" : 20, + "pattern" : "^arn:\\S+$" + }, + "As2ServiceManagedEgressIpAddresses" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "string", + "pattern" : "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$" + }, + "description" : "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well." + }, + "Certificate" : { + "type" : "string", + "maxLength" : 1600, + "minLength" : 0 + }, + "Domain" : { + "$ref" : "#/definitions/Domain" + }, + "EndpointDetails" : { + "$ref" : "#/definitions/EndpointDetails" + }, + "EndpointType" : { + "$ref" : "#/definitions/EndpointType" + }, + "IdentityProviderDetails" : { + "$ref" : "#/definitions/IdentityProviderDetails" + }, + "IdentityProviderType" : { + "$ref" : "#/definitions/IdentityProviderType" + }, + "LoggingRole" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 0, + "pattern" : "^(|arn:.*role/\\S+)$" + }, + "PostAuthenticationLoginBanner" : { + "type" : "string", + "maxLength" : 4096, + "minLength" : 0, + "pattern" : "^[\\x09-\\x0D\\x20-\\x7E]*$" + }, + "PreAuthenticationLoginBanner" : { + "type" : "string", + "maxLength" : 4096, + "minLength" : 0, + "pattern" : "^[\\x09-\\x0D\\x20-\\x7E]*$" + }, + "ProtocolDetails" : { + "$ref" : "#/definitions/ProtocolDetails" + }, + "Protocols" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Protocol" + }, + "maxItems" : 4, + "minItems" : 1 + }, + "S3StorageOptions" : { + "$ref" : "#/definitions/S3StorageOptions" + }, + "SecurityPolicyName" : { + "type" : "string", + "maxLength" : 100, + "minLength" : 0, + "pattern" : "^TransferSecurityPolicy-.+$" + }, + "ServerId" : { + "type" : "string", + "maxLength" : 19, + "minLength" : 19, + "pattern" : "^s-([0-9a-f]{17})$" + }, + "StructuredLogDestinations" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "string", + "maxLength" : 1600, + "minLength" : 20, + "pattern" : "^arn:\\S+$" + }, + "maxItems" : 1, + "minItems" : 0 + }, + "Tags" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 50, + "minItems" : 1 + }, + "WorkflowDetails" : { + "$ref" : "#/definitions/WorkflowDetails" + } + }, + "readOnlyProperties" : [ "/properties/Arn", "/properties/As2ServiceManagedEgressIpAddresses", "/properties/ServerId" ], + "writeOnlyProperties" : [ "/properties/IdentityProviderType" ], + "createOnlyProperties" : [ "/properties/Domain", "/properties/IdentityProviderType" ], + "primaryIdentifier" : [ "/properties/Arn" ], + "additionalIdentifiers" : [ [ "/properties/ServerId" ] ], + "handlers" : { + "create" : { + "permissions" : [ "apigateway:GET", "ds:AuthorizeApplication", "ds:DescribeDirectories", "ec2:AssociateAddress", "ec2:CreateVpcEndpoint", "ec2:DescribeAddresses", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints", "iam:PassRole", "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:DescribeLogGroups", "logs:DescribeResourcePolicies", "logs:GetLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "transfer:CreateServer", "transfer:DescribeServer", "transfer:StartServer", "transfer:StopServer", "transfer:TagResource", "transfer:UpdateServer" ] + }, + "read" : { + "permissions" : [ "ec2:DescribeVpcEndpoints", "transfer:DescribeServer" ] + }, + "update" : { + "permissions" : [ "apigateway:GET", "ec2:AssociateAddress", "ec2:CreateVpcEndpoint", "ec2:DeleteVpcEndpoints", "ec2:DescribeAddresses", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints", "ec2:DisassociateAddress", "ec2:ModifyVpcEndpoint", "iam:PassRole", "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:DescribeLogGroups", "logs:DescribeResourcePolicies", "logs:GetLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "transfer:DescribeServer", "transfer:StartServer", "transfer:StopServer", "transfer:TagResource", "transfer:UnTagResource", "transfer:UpdateServer" ] + }, + "delete" : { + "permissions" : [ "ds:DescribeDirectories", "ds:UnauthorizeApplication", "ec2:DeleteVpcEndpoints", "ec2:DescribeAddresses", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints", "ec2:DisassociateAddress", "logs:DeleteLogDelivery", "logs:GetLogDelivery", "logs:ListLogDeliveries", "transfer:DeleteServer" ] + }, + "list" : { + "permissions" : [ "transfer:ListServers" ] + } + }, + "tagging" : { + "cloudFormationSystemTags" : true, + "permissions" : [ "transfer:TagResource", "transfer:UnTagResource", "transfer:ListTagsForResource" ], + "tagOnCreate" : true, + "tagProperty" : "/properties/Tags", + "tagUpdatable" : true, + "taggable" : true + }, + "additionalProperties" : false, + "conditionalCreateOnlyProperties" : [ "/properties/EndpointDetails", "/properties/EndpointDetails/AddressAllocationIds" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer" } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-wisdom-aiprompt.json b/aws-cloudformation-schema/aws-wisdom-aiprompt.json new file mode 100644 index 0000000000..cf76ccc234 --- /dev/null +++ b/aws-cloudformation-schema/aws-wisdom-aiprompt.json @@ -0,0 +1,145 @@ +{ + "typeName" : "AWS::Wisdom::AIPrompt", + "description" : "Definition of AWS::Wisdom::AIPrompt Resource Type", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions" : { + "AIPromptAPIFormat" : { + "type" : "string", + "enum" : [ "ANTHROPIC_CLAUDE_MESSAGES", "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" ] + }, + "AIPromptTemplateConfiguration" : { + "type" : "object", + "oneOf" : [ { + "type" : "object", + "title" : "TextFullAIPromptEditTemplateConfiguration", + "properties" : { + "TextFullAIPromptEditTemplateConfiguration" : { + "$ref" : "#/definitions/TextFullAIPromptEditTemplateConfiguration" + } + }, + "required" : [ "TextFullAIPromptEditTemplateConfiguration" ], + "additionalProperties" : false + } ] + }, + "AIPromptTemplateType" : { + "type" : "string", + "enum" : [ "TEXT" ] + }, + "AIPromptType" : { + "type" : "string", + "enum" : [ "ANSWER_GENERATION", "INTENT_LABELING_GENERATION", "QUERY_REFORMULATION" ] + }, + "Tags" : { + "type" : "object", + "patternProperties" : { + "^(?!aws:)[a-zA-Z+-=._:/]+$" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1 + } + }, + "additionalProperties" : false + }, + "TextFullAIPromptEditTemplateConfiguration" : { + "type" : "object", + "properties" : { + "Text" : { + "type" : "string", + "maxLength" : 200000, + "minLength" : 1 + } + }, + "required" : [ "Text" ], + "additionalProperties" : false + } + }, + "properties" : { + "AIPromptId" : { + "type" : "string", + "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$" + }, + "AIPromptArn" : { + "type" : "string", + "pattern" : "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" + }, + "ApiFormat" : { + "$ref" : "#/definitions/AIPromptAPIFormat" + }, + "AssistantId" : { + "type" : "string", + "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" + }, + "AssistantArn" : { + "type" : "string", + "pattern" : "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" + }, + "Description" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9\\s_.,-]+" + }, + "ModelId" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1 + }, + "Name" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9\\s_.,-]+" + }, + "Tags" : { + "$ref" : "#/definitions/Tags" + }, + "TemplateConfiguration" : { + "$ref" : "#/definitions/AIPromptTemplateConfiguration" + }, + "TemplateType" : { + "$ref" : "#/definitions/AIPromptTemplateType" + }, + "Type" : { + "$ref" : "#/definitions/AIPromptType" + } + }, + "required" : [ "ApiFormat", "ModelId", "TemplateConfiguration", "TemplateType", "Type" ], + "readOnlyProperties" : [ "/properties/AIPromptArn", "/properties/AIPromptId", "/properties/AssistantArn" ], + "createOnlyProperties" : [ "/properties/ApiFormat", "/properties/AssistantId", "/properties/ModelId", "/properties/Name", "/properties/Tags", "/properties/TemplateType", "/properties/Type" ], + "primaryIdentifier" : [ "/properties/AIPromptId", "/properties/AssistantId" ], + "additionalIdentifiers" : [ [ "/properties/AIPromptArn", "/properties/AssistantArn" ] ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "wisdom:TagResource" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "wisdom:CreateAIPrompt", "wisdom:TagResource" ] + }, + "read" : { + "permissions" : [ "wisdom:GetAIPrompt" ] + }, + "update" : { + "permissions" : [ "wisdom:UpdateAIPrompt" ] + }, + "delete" : { + "permissions" : [ "wisdom:DeleteAIPrompt" ] + }, + "list" : { + "permissions" : [ "wisdom:ListAIPrompts" ], + "handlerSchema" : { + "properties" : { + "AssistantId" : { + "$ref" : "resource-schema.json#/properties/AssistantId" + } + }, + "required" : [ "AssistantId" ] + } + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/meta/.botocore.version b/meta/.botocore.version index a7411d4e09..6d0d2f9f2f 100644 --- a/meta/.botocore.version +++ b/meta/.botocore.version @@ -1 +1 @@ -1.35.39 +1.35.42 diff --git a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt index bab3e0d8d5..1fa8ceae82 100644 --- a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt @@ -5,7 +5,6 @@ AWS::GameCast::Application AWS::GameCast::StreamGroup AWS::SNS::TopicPolicy AWS::SSMGuiConnect::Preferences -AWS::SecretsManager::SecretTargetAttachment AWSQS::EKS::Cluster AWSQS::Kubernetes::Get AWSQS::Kubernetes::Helm diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 6350353f41..f1c84a7f6c 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -70,6 +70,7 @@ AWS::AppStream::ApplicationFleetAssociation AWS::AppStream::DirectoryConfig AWS::AppStream::Entitlement AWS::AppStream::ImageBuilder +AWS::AppSync::DataSource AWS::AppSync::DomainName AWS::AppSync::DomainNameApiAssociation AWS::AppSync::FunctionConfiguration @@ -1017,6 +1018,7 @@ AWS::Transfer::Agreement AWS::Transfer::Certificate AWS::Transfer::Connector AWS::Transfer::Profile +AWS::Transfer::Server AWS::Transfer::Workflow AWS::VerifiedPermissions::IdentitySource AWS::VerifiedPermissions::Policy @@ -1039,6 +1041,7 @@ AWS::WAFv2::RegexPatternSet AWS::WAFv2::RuleGroup AWS::WAFv2::WebACL AWS::WAFv2::WebACLAssociation +AWS::Wisdom::AIPrompt AWS::Wisdom::Assistant AWS::Wisdom::AssistantAssociation AWS::Wisdom::KnowledgeBase diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 45f2dc4e01..db0c6096c0 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -6776,6 +6776,137 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:appsync:DataSource": { + "cf": "AWS::AppSync::DataSource", + "inputs": { + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier where this data source will be created." + }, + "description": { + "type": "string", + "description": "The description of the data source." + }, + "dynamoDbConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceDynamoDbConfig", + "description": "AWS Region and TableName for an Amazon DynamoDB table in your account." + }, + "elasticsearchConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceElasticsearchConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source." + }, + "eventBridgeConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceEventBridgeConfig", + "description": "ARN for the EventBridge bus." + }, + "httpConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceHttpConfig", + "description": "Endpoints for an HTTP data source." + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceLambdaConfig", + "description": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account." + }, + "metricsConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceMetricsConfig", + "description": "Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value.\n\n`MetricsConfig` can be `ENABLED` or `DISABLED` ." + }, + "name": { + "type": "string", + "description": "Friendly name for you to identify your AppSync data source after creation." + }, + "openSearchServiceConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceOpenSearchServiceConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account." + }, + "relationalDatabaseConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceRelationalDatabaseConfig", + "description": "Relational Database configuration of the relational database data source." + }, + "serviceRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source." + }, + "type": { + "type": "string", + "description": "The type of the data source." + } + }, + "outputs": { + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier where this data source will be created.", + "replaceOnChanges": true + }, + "dataSourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename." + }, + "description": { + "type": "string", + "description": "The description of the data source." + }, + "dynamoDbConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceDynamoDbConfig", + "description": "AWS Region and TableName for an Amazon DynamoDB table in your account." + }, + "elasticsearchConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceElasticsearchConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source." + }, + "eventBridgeConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceEventBridgeConfig", + "description": "ARN for the EventBridge bus." + }, + "httpConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceHttpConfig", + "description": "Endpoints for an HTTP data source." + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceLambdaConfig", + "description": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account." + }, + "metricsConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceMetricsConfig", + "description": "Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value.\n\n`MetricsConfig` can be `ENABLED` or `DISABLED` ." + }, + "name": { + "type": "string", + "description": "Friendly name for you to identify your AppSync data source after creation.", + "replaceOnChanges": true + }, + "openSearchServiceConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceOpenSearchServiceConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account." + }, + "relationalDatabaseConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceRelationalDatabaseConfig", + "description": "Relational Database configuration of the relational database data source." + }, + "serviceRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source." + }, + "type": { + "type": "string", + "description": "The type of the data source." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "apiId", + "type" + ], + "createOnly": [ + "apiId", + "name" + ], + "irreversibleNames": { + "dynamoDbConfig": "DynamoDBConfig" + } + }, "aws-native:appsync:DomainName": { "cf": "AWS::AppSync::DomainName", "inputs": { @@ -16177,11 +16308,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -16189,11 +16320,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." + "description": "Information about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." + "description": "The Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -16222,11 +16353,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -16234,11 +16365,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." + "description": "Information about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." + "description": "The Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -17570,7 +17701,7 @@ "inputs": { "accountRecoverySetting": { "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting", - "description": "Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email." + "description": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email." }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", @@ -17581,7 +17712,7 @@ "items": { "type": "string" }, - "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .\n\n\u003e This user pool property cannot be updated." + "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* ." }, "autoVerifiedAttributes": { "type": "array", @@ -17610,18 +17741,18 @@ }, "emailVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "emailVerificationSubject": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "enabledMfas": { "type": "array", "items": { "type": "string" }, - "description": "Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to \"OFF\" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to \"OFF\". Can be one of the following values:\n\n- `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided.\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA`" + "description": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`" }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", @@ -17640,11 +17771,11 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" }, - "description": "The schema attributes for the new user pool. These attributes can be standard or custom attributes.\n\n\u003e During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute." + "description": "An array of schema attributes for the new user pool. These attributes can be standard or custom attributes." }, "smsAuthenticationMessage": { "type": "string", - "description": "A string representing the SMS authentication message." + "description": "The contents of the SMS authentication message." }, "smsConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration", @@ -17652,7 +17783,7 @@ }, "smsVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "userAttributeUpdateSettings": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings", @@ -17678,11 +17809,11 @@ "items": { "type": "string" }, - "description": "Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` .\n\nThis user pool property cannot be updated." + "description": "Specifies whether a user can use an email address or phone number as a username when they sign up." }, "usernameConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration", - "description": "You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set." + "description": "Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nThis configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) ." }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", @@ -17692,7 +17823,7 @@ "outputs": { "accountRecoverySetting": { "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting", - "description": "Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email." + "description": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email." }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", @@ -17703,7 +17834,7 @@ "items": { "type": "string" }, - "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .\n\n\u003e This user pool property cannot be updated." + "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* ." }, "arn": { "type": "string", @@ -17736,18 +17867,18 @@ }, "emailVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "emailVerificationSubject": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "enabledMfas": { "type": "array", "items": { "type": "string" }, - "description": "Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to \"OFF\" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to \"OFF\". Can be one of the following values:\n\n- `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided.\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA`" + "description": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`" }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", @@ -17763,7 +17894,7 @@ }, "providerName": { "type": "string", - "description": "The provider name of the Amazon Cognito user pool, specified as a `String` ." + "description": "A friendly name for the IdP." }, "providerUrl": { "type": "string", @@ -17774,11 +17905,11 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" }, - "description": "The schema attributes for the new user pool. These attributes can be standard or custom attributes.\n\n\u003e During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute." + "description": "An array of schema attributes for the new user pool. These attributes can be standard or custom attributes." }, "smsAuthenticationMessage": { "type": "string", - "description": "A string representing the SMS authentication message." + "description": "The contents of the SMS authentication message." }, "smsConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration", @@ -17786,7 +17917,7 @@ }, "smsVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "userAttributeUpdateSettings": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings", @@ -17816,11 +17947,11 @@ "items": { "type": "string" }, - "description": "Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` .\n\nThis user pool property cannot be updated." + "description": "Specifies whether a user can use an email address or phone number as a username when they sign up." }, "usernameConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration", - "description": "You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set." + "description": "Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nThis configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) ." }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", @@ -17846,7 +17977,7 @@ "inputs": { "accessTokenValidity": { "type": "integer", - "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours." + "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour." }, "allowedOAuthFlows": { "type": "array", @@ -17910,7 +18041,7 @@ }, "idTokenValidity": { "type": "integer", - "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours." + "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour." }, "logoutUrls": { "type": "array", @@ -17921,7 +18052,7 @@ }, "preventUserExistenceErrors": { "type": "string", - "description": "Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool." + "description": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value." }, "readAttributes": { "type": "array", @@ -17932,7 +18063,7 @@ }, "refreshTokenValidity": { "type": "integer", - "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days." + "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days." }, "supportedIdentityProviders": { "type": "array", @@ -17960,7 +18091,7 @@ "outputs": { "accessTokenValidity": { "type": "integer", - "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours." + "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour." }, "allowedOAuthFlows": { "type": "array", @@ -18032,7 +18163,7 @@ }, "idTokenValidity": { "type": "integer", - "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours." + "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour." }, "logoutUrls": { "type": "array", @@ -18046,7 +18177,7 @@ }, "preventUserExistenceErrors": { "type": "string", - "description": "Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool." + "description": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value." }, "readAttributes": { "type": "array", @@ -18057,7 +18188,7 @@ }, "refreshTokenValidity": { "type": "integer", - "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days." + "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days." }, "supportedIdentityProviders": { "type": "array", @@ -18110,11 +18241,11 @@ }, "domain": { "type": "string", - "description": "The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names." + "description": "The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names." }, "userPoolId": { "type": "string", - "description": "The user pool ID for the user pool where you want to associate a user pool domain." + "description": "The ID of the user pool that is associated with the custom domain whose certificate you're updating." } }, "outputs": { @@ -18132,12 +18263,12 @@ }, "domain": { "type": "string", - "description": "The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.", + "description": "The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.", "replaceOnChanges": true }, "userPoolId": { "type": "string", - "description": "The user pool ID for the user pool where you want to associate a user pool domain.", + "description": "The ID of the user pool that is associated with the custom domain whose certificate you're updating.", "replaceOnChanges": true } }, @@ -18300,7 +18431,7 @@ "inputs": { "identifier": { "type": "string", - "description": "A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` ." + "description": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens." }, "name": { "type": "string", @@ -18321,7 +18452,7 @@ "outputs": { "identifier": { "type": "string", - "description": "A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` .", + "description": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens.", "replaceOnChanges": true }, "name": { @@ -18362,7 +18493,7 @@ }, "clientId": { "type": "string", - "description": "The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` )." + "description": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings." }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", @@ -18384,7 +18515,7 @@ }, "clientId": { "type": "string", - "description": "The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ).", + "description": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.", "replaceOnChanges": true }, "compromisedCredentialsRiskConfiguration": { @@ -18415,7 +18546,7 @@ "inputs": { "clientId": { "type": "string", - "description": "The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` )." + "description": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.." }, "css": { "type": "string", @@ -18429,7 +18560,7 @@ "outputs": { "clientId": { "type": "string", - "description": "The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ).", + "description": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..", "replaceOnChanges": true }, "css": { @@ -18484,7 +18615,7 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeType" }, - "description": "An array of name-value pairs that contain user attributes and attribute values." + "description": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter." }, "userPoolId": { "type": "string", @@ -18534,7 +18665,7 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeType" }, - "description": "An array of name-value pairs that contain user attributes and attribute values.", + "description": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter.", "replaceOnChanges": true }, "userPoolId": { @@ -18592,7 +18723,8 @@ "description": "The user pool ID for the user pool." }, "username": { - "type": "string" + "type": "string", + "description": "The user's username." } }, "outputs": { @@ -18608,6 +18740,7 @@ }, "username": { "type": "string", + "description": "The user's username.", "replaceOnChanges": true } }, @@ -36399,7 +36532,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" - } + }, + "description": "The capacity provider strategy that are associated with the task set." }, "cluster": { "type": "string", @@ -36465,6 +36599,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" }, + "description": "The capacity provider strategy that are associated with the task set.", "replaceOnChanges": true }, "cluster": { @@ -43200,6 +43335,17 @@ "$ref": "#/types/aws-native:gamelift:ContainerGroupDefinitionSchedulingStrategy", "description": "Specifies whether the container group includes replica or daemon containers." }, + "sourceVersionNumber": { + "type": "integer", + "description": "A specific ContainerGroupDefinition version to be updated" + }, + "supportContainerDefinitions": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A collection of support container definitions that define the containers in this group." + }, "tags": { "type": "array", "items": { @@ -43248,6 +43394,25 @@ "description": "Specifies whether the container group includes replica or daemon containers.", "replaceOnChanges": true }, + "sourceVersionNumber": { + "type": "integer", + "description": "A specific ContainerGroupDefinition version to be updated" + }, + "status": { + "$ref": "#/types/aws-native:gamelift:ContainerGroupDefinitionStatus", + "description": "A string indicating ContainerGroupDefinition status." + }, + "statusReason": { + "type": "string", + "description": "A string indicating the reason for ContainerGroupDefinition status." + }, + "supportContainerDefinitions": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A collection of support container definitions that define the containers in this group." + }, "tags": { "type": "array", "items": { @@ -45084,8 +45249,7 @@ }, "required": [ "compatibility", - "dataFormat", - "schemaDefinition" + "dataFormat" ], "createOnly": [ "dataFormat", @@ -56800,7 +56964,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "A list of tags to add to the event source mapping.\n\n\u003e You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." }, "topics": { "type": "array", @@ -56931,7 +57095,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "A list of tags to add to the event source mapping.\n\n\u003e You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." }, "topics": { "type": "array", @@ -57566,10 +57730,6 @@ "type": "string", "description": "The name of the Lambda function." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property." - }, "provisionedConcurrencyConfig": { "$ref": "#/types/aws-native:lambda:VersionProvisionedConcurrencyConfiguration", "description": "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property." @@ -57599,10 +57759,6 @@ "description": "The name of the Lambda function.", "replaceOnChanges": true }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property." - }, "provisionedConcurrencyConfig": { "$ref": "#/types/aws-native:lambda:VersionProvisionedConcurrencyConfiguration", "description": "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property.", @@ -70743,7 +70899,7 @@ }, "type": { "$ref": "#/types/aws-native:organizations:PolicyType", - "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY" + "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY" } }, "outputs": { @@ -70787,7 +70943,7 @@ }, "type": { "$ref": "#/types/aws-native:organizations:PolicyType", - "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY", + "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY", "replaceOnChanges": true } }, @@ -72734,7 +72890,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "description": { "type": "string", @@ -72780,7 +72936,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "createdAt": { "type": "string", @@ -73224,6 +73380,12 @@ ], "description": "Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience." }, + "origins": { + "type": "array", + "items": { + "type": "string" + } + }, "roleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the service role attached to your web experience.\n\n\u003e You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value." @@ -73277,6 +73439,12 @@ ], "description": "Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience." }, + "origins": { + "type": "array", + "items": { + "type": "string" + } + }, "roleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the service role attached to your web experience.\n\n\u003e You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value." @@ -73456,6 +73624,12 @@ }, "description": "\u003cp\u003eErrors associated with the analysis.\u003c/p\u003e" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "name": { "type": "string", "description": "\u003cp\u003eThe descriptive name of the analysis.\u003c/p\u003e" @@ -73538,6 +73712,12 @@ }, "description": "\u003cp\u003eErrors associated with the analysis.\u003c/p\u003e" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "lastUpdatedTime": { "type": "string", "description": "\u003cp\u003eThe time that the analysis was last updated.\u003c/p\u003e" @@ -73603,6 +73783,7 @@ ], "writeOnly": [ "definition", + "folderArns", "parameters", "sourceEntity", "status", @@ -73629,6 +73810,12 @@ "definition": { "$ref": "#/types/aws-native:quicksight:DashboardVersionDefinition" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "linkEntities": { "type": "array", "items": { @@ -73705,6 +73892,12 @@ "definition": { "$ref": "#/types/aws-native:quicksight:DashboardVersionDefinition" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "lastPublishedTime": { "type": "string", "description": "\u003cp\u003eThe last time that this dashboard was published.\u003c/p\u003e" @@ -73782,6 +73975,7 @@ "writeOnly": [ "dashboardPublishOptions", "definition", + "folderArns", "linkSharingConfiguration", "parameters", "sourceEntity", @@ -74068,6 +74262,12 @@ "$ref": "#/types/aws-native:quicksight:DataSourceErrorInfo", "description": "Error information from the last update or the creation of the data source." }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "name": { "type": "string", "description": "A display name for the data source." @@ -74137,6 +74337,12 @@ "$ref": "#/types/aws-native:quicksight:DataSourceErrorInfo", "description": "Error information from the last update or the creation of the data source." }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "lastUpdatedTime": { "type": "string", "description": "\u003cp\u003eThe last time that this data source was updated.\u003c/p\u003e" @@ -74191,7 +74397,8 @@ "type" ], "writeOnly": [ - "credentials" + "credentials", + "folderArns" ], "tagsProperty": "tags", "tagsStyle": "keyValueArray" @@ -74200,7 +74407,8 @@ "cf": "AWS::QuickSight::Folder", "inputs": { "awsAccountId": { - "type": "string" + "type": "string", + "description": "The ID for the AWS account where you want to create the folder." }, "folderId": { "type": "string", @@ -74216,13 +74424,14 @@ }, "parentFolderArn": { "type": "string", - "description": "A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved." + "description": "The Amazon Resource Name (ARN) for the folder." }, "permissions": { "type": "array", "items": { "$ref": "#/types/aws-native:quicksight:FolderResourcePermission" - } + }, + "description": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` ." }, "sharingModel": { "$ref": "#/types/aws-native:quicksight:FolderSharingModel", @@ -74243,6 +74452,7 @@ }, "awsAccountId": { "type": "string", + "description": "The ID for the AWS account where you want to create the folder.", "replaceOnChanges": true }, "createdTime": { @@ -74269,14 +74479,15 @@ }, "parentFolderArn": { "type": "string", - "description": "A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved.", + "description": "The Amazon Resource Name (ARN) for the folder.", "replaceOnChanges": true }, "permissions": { "type": "array", "items": { "$ref": "#/types/aws-native:quicksight:FolderResourcePermission" - } + }, + "description": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` ." }, "sharingModel": { "$ref": "#/types/aws-native:quicksight:FolderSharingModel", @@ -75793,7 +76004,7 @@ }, "dbSnapshotIdentifier": { "type": "string", - "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." + "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." }, "dbSubnetGroupName": { "type": "string", @@ -76135,7 +76346,7 @@ }, "dbSnapshotIdentifier": { "type": "string", - "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." + "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." }, "dbSubnetGroupName": { "type": "string", @@ -76921,9 +77132,6 @@ "createOnly": [ "dbSubnetGroupName" ], - "writeOnly": [ - "subnetIds" - ], "irreversibleNames": { "dbSubnetGroupDescription": "DBSubnetGroupDescription", "dbSubnetGroupName": "DBSubnetGroupName" @@ -84472,7 +84680,7 @@ }, "version": { "type": "integer", - "description": "The version number." + "description": "The version of the image." } }, "required": [ @@ -89717,7 +89925,7 @@ }, "fifoQueue": { "type": "boolean", - "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*." + "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*." }, "fifoThroughputLimit": { "type": "string", @@ -89729,7 +89937,7 @@ }, "kmsMasterKeyId": { "type": "string", - "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper" + "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*" }, "maximumMessageSize": { "type": "integer", @@ -89741,7 +89949,7 @@ }, "queueName": { "type": "string", - "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." + "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "receiveMessageWaitTimeSeconds": { "type": "integer", @@ -89749,11 +89957,11 @@ }, "redriveAllowPolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "redrivePolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "sqsManagedSseEnabled": { "type": "boolean", @@ -89790,7 +89998,7 @@ }, "fifoQueue": { "type": "boolean", - "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.", + "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.", "replaceOnChanges": true }, "fifoThroughputLimit": { @@ -89803,7 +90011,7 @@ }, "kmsMasterKeyId": { "type": "string", - "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper" + "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*" }, "maximumMessageSize": { "type": "integer", @@ -89815,7 +90023,7 @@ }, "queueName": { "type": "string", - "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "replaceOnChanges": true }, "queueUrl": { @@ -89828,11 +90036,11 @@ }, "redriveAllowPolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "redrivePolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "sqsManagedSseEnabled": { "type": "boolean", @@ -93319,6 +93527,188 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:transfer:Server": { + "cf": "AWS::Transfer::Server", + "inputs": { + "certificate": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` .\n\nTo request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* .\n\nTo import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* .\n\nTo request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* .\n\nCertificates with the following cryptographic algorithms and key sizes are supported:\n\n- 2048-bit RSA (RSA_2048)\n- 4096-bit RSA (RSA_4096)\n- Elliptic Prime Curve 256 bit (EC_prime256v1)\n- Elliptic Prime Curve 384 bit (EC_secp384r1)\n- Elliptic Prime Curve 521 bit (EC_secp521r1)\n\n\u003e The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer." + }, + "domain": { + "$ref": "#/types/aws-native:transfer:ServerDomain", + "description": "Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3." + }, + "endpointDetails": { + "$ref": "#/types/aws-native:transfer:ServerEndpointDetails", + "description": "The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint." + }, + "endpointType": { + "$ref": "#/types/aws-native:transfer:ServerEndpointType", + "description": "The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.\n\n\u003e After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` .\n\u003e \n\u003e For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) .\n\u003e \n\u003e It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` ." + }, + "identityProviderDetails": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderDetails", + "description": "Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` ." + }, + "identityProviderType": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderType", + "description": "The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service.\n\nUse `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter.\n\nUse the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter.\n\nUse the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type." + }, + "loggingRole": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs." + }, + "postAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.\n\n\u003e The SFTP protocol does not support post-authentication display banners." + }, + "preAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:\n\n`This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`" + }, + "protocolDetails": { + "$ref": "#/types/aws-native:transfer:ServerProtocolDetails", + "description": "The protocol settings that are configured for your server.\n\n- To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.\n- To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.\n- To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.\n- `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.\n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerProtocol" + }, + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:\n\n- `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH\n- `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption\n- `FTP` (File Transfer Protocol): Unencrypted file transfer\n- `AS2` (Applicability Statement 2): used for transporting structured business-to-business data\n\n\u003e - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.\n\u003e - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated.\n\u003e - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. \n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "s3StorageOptions": { + "$ref": "#/types/aws-native:transfer:ServerS3StorageOptions", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + }, + "securityPolicyName": { + "type": "string", + "description": "Specifies the name of the security policy for the server." + }, + "structuredLogDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the log groups to which your server logs are sent.\n\nTo specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:\n\n`arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`\n\nFor example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`\n\nIf you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:\n\n`update-server --server-id s-1234567890abcdef0 --structured-log-destinations`" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for servers." + }, + "workflowDetails": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetails", + "description": "Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.\n\nIn addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` .\n\nAn example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` ." + }, + "as2ServiceManagedEgressIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well." + }, + "certificate": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` .\n\nTo request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* .\n\nTo import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* .\n\nTo request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* .\n\nCertificates with the following cryptographic algorithms and key sizes are supported:\n\n- 2048-bit RSA (RSA_2048)\n- 4096-bit RSA (RSA_4096)\n- Elliptic Prime Curve 256 bit (EC_prime256v1)\n- Elliptic Prime Curve 384 bit (EC_secp384r1)\n- Elliptic Prime Curve 521 bit (EC_secp521r1)\n\n\u003e The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer." + }, + "domain": { + "$ref": "#/types/aws-native:transfer:ServerDomain", + "description": "Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.", + "replaceOnChanges": true + }, + "endpointDetails": { + "$ref": "#/types/aws-native:transfer:ServerEndpointDetails", + "description": "The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint." + }, + "endpointType": { + "$ref": "#/types/aws-native:transfer:ServerEndpointType", + "description": "The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.\n\n\u003e After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` .\n\u003e \n\u003e For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) .\n\u003e \n\u003e It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` ." + }, + "identityProviderDetails": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderDetails", + "description": "Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` ." + }, + "identityProviderType": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderType", + "description": "The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service.\n\nUse `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter.\n\nUse the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter.\n\nUse the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type.", + "replaceOnChanges": true + }, + "loggingRole": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs." + }, + "postAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.\n\n\u003e The SFTP protocol does not support post-authentication display banners." + }, + "preAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:\n\n`This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`" + }, + "protocolDetails": { + "$ref": "#/types/aws-native:transfer:ServerProtocolDetails", + "description": "The protocol settings that are configured for your server.\n\n- To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.\n- To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.\n- To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.\n- `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.\n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerProtocol" + }, + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:\n\n- `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH\n- `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption\n- `FTP` (File Transfer Protocol): Unencrypted file transfer\n- `AS2` (Applicability Statement 2): used for transporting structured business-to-business data\n\n\u003e - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.\n\u003e - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated.\n\u003e - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. \n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "s3StorageOptions": { + "$ref": "#/types/aws-native:transfer:ServerS3StorageOptions", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + }, + "securityPolicyName": { + "type": "string", + "description": "Specifies the name of the security policy for the server." + }, + "serverId": { + "type": "string", + "description": "The service-assigned ID of the server that is created.\n\nAn example `ServerId` is `s-01234567890abcdef` ." + }, + "structuredLogDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the log groups to which your server logs are sent.\n\nTo specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:\n\n`arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`\n\nFor example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`\n\nIf you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:\n\n`update-server --server-id s-1234567890abcdef0 --structured-log-destinations`" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for servers." + }, + "workflowDetails": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetails", + "description": "Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.\n\nIn addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects." + } + }, + "createOnly": [ + "domain", + "identityProviderType" + ], + "writeOnly": [ + "identityProviderType" + ], + "irreversibleNames": { + "s3StorageOptions": "S3StorageOptions" + }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:transfer:Workflow": { "cf": "AWS::Transfer::Workflow", "inputs": { @@ -95056,6 +95446,137 @@ "webAclArn": "WebACLArn" } }, + "aws-native:wisdom:AiPrompt": { + "cf": "AWS::Wisdom::AIPrompt", + "inputs": { + "apiFormat": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptApiFormat", + "description": "The API format used for this AI Prompt." + }, + "assistantId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN." + }, + "description": { + "type": "string", + "description": "The description of the AI Prompt." + }, + "modelId": { + "type": "string", + "description": "The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` ." + }, + "name": { + "type": "string", + "description": "The name of the AI Prompt" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags used to organize, track, or control access for this resource." + }, + "templateConfiguration": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateConfiguration", + "description": "The configuration of the prompt template for this AI Prompt." + }, + "templateType": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateType", + "description": "The type of the prompt template for this AI Prompt." + }, + "type": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptType", + "description": "The type of this AI Prompt." + } + }, + "outputs": { + "aiPromptArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AI Prompt." + }, + "aiPromptId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect AI prompt." + }, + "apiFormat": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptApiFormat", + "description": "The API format used for this AI Prompt.", + "replaceOnChanges": true + }, + "assistantArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant." + }, + "assistantId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the AI Prompt." + }, + "modelId": { + "type": "string", + "description": "The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` .", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the AI Prompt", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags used to organize, track, or control access for this resource.", + "replaceOnChanges": true + }, + "templateConfiguration": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateConfiguration", + "description": "The configuration of the prompt template for this AI Prompt." + }, + "templateType": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateType", + "description": "The type of the prompt template for this AI Prompt.", + "replaceOnChanges": true + }, + "type": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptType", + "description": "The type of this AI Prompt.", + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 255 + }, + "required": [ + "apiFormat", + "modelId", + "templateConfiguration", + "templateType", + "type" + ], + "createOnly": [ + "apiFormat", + "assistantId", + "modelId", + "name", + "tags", + "templateType", + "type" + ], + "irreversibleNames": { + "aiPromptArn": "AIPromptArn", + "aiPromptId": "AIPromptId" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, "aws-native:wisdom:Assistant": { "cf": "AWS::Wisdom::Assistant", "inputs": { @@ -100820,7 +101341,8 @@ "type": "object", "properties": { "maxPageSize": { - "type": "integer" + "type": "integer", + "description": "The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000." } } }, @@ -100828,7 +101350,8 @@ "type": "object", "properties": { "maxParallelism": { - "type": "integer" + "type": "integer", + "description": "The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application." } } }, @@ -100840,10 +101363,12 @@ "description": "The object path specified in the SAPOData flow source." }, "paginationConfig": { - "$ref": "#/types/aws-native:appflow:FlowSapoDataPaginationConfig" + "$ref": "#/types/aws-native:appflow:FlowSapoDataPaginationConfig", + "description": "Sets the page size for each concurrent process that transfers OData records from your SAP instance." }, "parallelismConfig": { - "$ref": "#/types/aws-native:appflow:FlowSapoDataParallelismConfig" + "$ref": "#/types/aws-native:appflow:FlowSapoDataParallelismConfig", + "description": "Sets the number of concurrent processes that transfers OData records from your SAP instance." } } }, @@ -102987,6 +103512,176 @@ } } }, + "aws-native:appsync:DataSourceAuthorizationConfig": { + "type": "object", + "properties": { + "authorizationType": { + "type": "string", + "description": "The authorization type that the HTTP endpoint requires." + }, + "awsIamConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceAwsIamConfig", + "description": "The AWS Identity and Access Management settings." + } + } + }, + "aws-native:appsync:DataSourceAwsIamConfig": { + "type": "object", + "properties": { + "signingRegion": { + "type": "string", + "description": "The signing Region for AWS Identity and Access Management authorization." + }, + "signingServiceName": { + "type": "string", + "description": "The signing service name for AWS Identity and Access Management authorization." + } + } + }, + "aws-native:appsync:DataSourceDeltaSyncConfig": { + "type": "object", + "properties": { + "baseTableTtl": { + "type": "string", + "description": "The number of minutes that an Item is stored in the data source." + }, + "deltaSyncTableName": { + "type": "string", + "description": "The Delta Sync table name." + }, + "deltaSyncTableTtl": { + "type": "string", + "description": "The number of minutes that a Delta Sync log entry is stored in the Delta Sync table." + } + }, + "irreversibleNames": { + "baseTableTtl": "BaseTableTTL", + "deltaSyncTableTtl": "DeltaSyncTableTTL" + } + }, + "aws-native:appsync:DataSourceDynamoDbConfig": { + "type": "object", + "properties": { + "awsRegion": { + "type": "string", + "description": "The AWS Region." + }, + "deltaSyncConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceDeltaSyncConfig", + "description": "The DeltaSyncConfig for a versioned datasource." + }, + "tableName": { + "type": "string", + "description": "The table name." + }, + "useCallerCredentials": { + "type": "boolean", + "description": "Set to TRUE to use AWS Identity and Access Management with this data source." + }, + "versioned": { + "type": "boolean", + "description": "Set to TRUE to use Conflict Detection and Resolution with this data source." + } + } + }, + "aws-native:appsync:DataSourceElasticsearchConfig": { + "type": "object", + "properties": { + "awsRegion": { + "type": "string", + "description": "The AWS Region." + }, + "endpoint": { + "type": "string", + "description": "The endpoint." + } + } + }, + "aws-native:appsync:DataSourceEventBridgeConfig": { + "type": "object", + "properties": { + "eventBusArn": { + "type": "string", + "description": "ARN for the EventBridge bus." + } + } + }, + "aws-native:appsync:DataSourceHttpConfig": { + "type": "object", + "properties": { + "authorizationConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceAuthorizationConfig", + "description": "The authorization configuration." + }, + "endpoint": { + "type": "string", + "description": "The endpoint." + } + } + }, + "aws-native:appsync:DataSourceLambdaConfig": { + "type": "object", + "properties": { + "lambdaFunctionArn": { + "type": "string", + "description": "The ARN for the Lambda function." + } + } + }, + "aws-native:appsync:DataSourceMetricsConfig": { + "type": "string" + }, + "aws-native:appsync:DataSourceOpenSearchServiceConfig": { + "type": "object", + "properties": { + "awsRegion": { + "type": "string", + "description": "The AWS Region." + }, + "endpoint": { + "type": "string", + "description": "The endpoint." + } + } + }, + "aws-native:appsync:DataSourceRdsHttpEndpointConfig": { + "type": "object", + "properties": { + "awsRegion": { + "type": "string", + "description": "AWS Region for RDS HTTP endpoint." + }, + "awsSecretStoreArn": { + "type": "string", + "description": "The ARN for database credentials stored in AWS Secrets Manager." + }, + "databaseName": { + "type": "string", + "description": "Logical database name." + }, + "dbClusterIdentifier": { + "type": "string", + "description": "Amazon RDS cluster Amazon Resource Name (ARN)." + }, + "schema": { + "type": "string", + "description": "Logical schema name." + } + } + }, + "aws-native:appsync:DataSourceRelationalDatabaseConfig": { + "type": "object", + "properties": { + "rdsHttpEndpointConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceRdsHttpEndpointConfig", + "description": "Information about the Amazon RDS resource." + }, + "relationalDatabaseSourceType": { + "type": "string", + "description": "The type of relational data source." + } + } + }, "aws-native:appsync:FunctionConfigurationAppSyncRuntime": { "type": "object", "properties": { @@ -113297,6 +113992,13 @@ "$ref": "#/types/aws-native:codepipeline:PipelineActionTypeId", "description": "Specifies the action type and the provider of the action." }, + "commands": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The shell commands to run with your compute action in CodePipeline." + }, "configuration": { "$ref": "pulumi.json#/Any", "description": "The action's configuration. These are key-value pairs that specify input values for an action." @@ -113323,6 +114025,13 @@ }, "description": "The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* ." }, + "outputVariables": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of variables that are to be exported from the compute action." + }, "region": { "type": "string", "description": "The action declaration's AWS Region, such as us-east-1." @@ -113606,6 +114315,13 @@ "aws-native:codepipeline:PipelineOutputArtifact": { "type": "object", "properties": { + "files": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The files that you want to associate with the output artifact that will be exported from the compute action." + }, "name": { "type": "string", "description": "The name of the output of an artifact, such as \"My App\"." @@ -113997,7 +114713,7 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolRecoveryOption" }, - "description": "The list of `RecoveryOptionTypes` ." + "description": "The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators." } } }, @@ -114022,7 +114738,7 @@ }, "inviteMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolInviteMessageTemplate", - "description": "The message template to be used for the welcome message to new users.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) ." + "description": "The template for the welcome message to new users.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) ." }, "unusedAccountValidityDays": { "type": "integer", @@ -114043,7 +114759,7 @@ "properties": { "applicationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares." + "description": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications" }, "applicationId": { "type": "string", @@ -114085,11 +114801,11 @@ "properties": { "lambdaArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users." + "description": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger." }, "lambdaVersion": { "type": "string", - "description": "The Lambda version represents the signature of the \"request\" attribute in the \"event\" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` ." + "description": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function." } } }, @@ -114098,11 +114814,11 @@ "properties": { "lambdaArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users." + "description": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger." }, "lambdaVersion": { "type": "string", - "description": "The Lambda version represents the signature of the \"request\" attribute in the \"event\" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` ." + "description": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function." } } }, @@ -114133,7 +114849,7 @@ "properties": { "configurationSet": { "type": "string", - "description": "The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch.\n- IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets." + "description": "The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch\n- **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets." }, "emailSendingAccount": { "type": "string", @@ -114141,7 +114857,7 @@ }, "from": { "type": "string", - "description": "Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User \u003ctestuser@example.com\u003e` . This address appears before the body of the email." + "description": "Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User \u003ctestuser@example.com\u003e` . This address appears before the body of the email." }, "replyToEmailAddress": { "type": "string", @@ -114182,7 +114898,7 @@ }, "customEmailSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomEmailSender", - "description": "A custom email sender AWS Lambda trigger." + "description": "The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic." }, "customMessage": { "type": "string", @@ -114190,7 +114906,7 @@ }, "customSmsSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomSmsSender", - "description": "A custom SMS sender AWS Lambda trigger." + "description": "The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic." }, "defineAuthChallenge": { "type": "string", @@ -114198,7 +114914,7 @@ }, "kmsKeyId": { "type": "string", - "description": "The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` ." + "description": "The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers." }, "postAuthentication": { "type": "string", @@ -114311,11 +115027,11 @@ "properties": { "name": { "type": "string", - "description": "Specifies the recovery method for a user." + "description": "The recovery method that this object sets a recovery option for." }, "priority": { "type": "integer", - "description": "A positive integer specifying priority of a method with 1 being the highest priority." + "description": "Your priority preference for using the specified attribute in account recovery. The highest priority is `1` ." } } }, @@ -114478,7 +115194,7 @@ }, "developerOnlyAttribute": { "type": "boolean", - "description": "\u003e We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token." + "description": "\u003e You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes." }, "mutable": { "type": "boolean", @@ -114507,7 +115223,7 @@ "properties": { "externalId": { "type": "string", - "description": "The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` ." + "description": "The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` .\n\nFor more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) ." }, "snsCallerArn": { "type": "string", @@ -126213,13 +126929,16 @@ "type": "object", "properties": { "logEnabled": { - "type": "boolean" + "type": "boolean", + "description": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`" }, "logGroupArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to." }, "logOutputFormat": { - "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat" + "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat", + "description": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`" } } }, @@ -126230,7 +126949,8 @@ "type": "object", "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValueValue", + "description": "The IKE version." } } }, @@ -126241,7 +126961,8 @@ "type": "object", "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue", + "description": "The value for the encryption algorithm." } } }, @@ -126252,7 +126973,8 @@ "type": "object", "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue", + "description": "The value for the integrity algorithm." } } }, @@ -126263,7 +126985,8 @@ "type": "object", "properties": { "value": { - "type": "integer" + "type": "integer", + "description": "The Diffie-Hellmann group number." } } }, @@ -126271,7 +126994,8 @@ "type": "object", "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue", + "description": "The encryption algorithm." } } }, @@ -126282,7 +127006,8 @@ "type": "object", "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue", + "description": "The integrity algorithm." } } }, @@ -126293,7 +127018,8 @@ "type": "object", "properties": { "value": { - "type": "integer" + "type": "integer", + "description": "The Diffie-Hellmann group number." } } }, @@ -126314,7 +127040,8 @@ "type": "object", "properties": { "cloudwatchLogOptions": { - "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecification" + "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecification", + "description": "Options for sending VPN tunnel logs to CloudWatch." } } }, @@ -126322,87 +127049,105 @@ "type": "object", "properties": { "dpdTimeoutAction": { - "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction" + "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction", + "description": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`" }, "dpdTimeoutSeconds": { - "type": "integer" + "type": "integer", + "description": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`" }, "enableTunnelLifecycleControl": { - "type": "boolean" + "type": "boolean", + "description": "Turn on or off tunnel endpoint lifecycle control feature." }, "ikeVersions": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValue" - } + }, + "description": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`" }, "logOptions": { - "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification" + "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification", + "description": "Options for logging VPN tunnel activity." }, "phase1EncryptionAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValue" - } + }, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" }, "phase1IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValue" - } + }, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" }, "phase1LifetimeSeconds": { - "type": "integer" + "type": "integer", + "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`" }, "phase1dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1dhGroupNumbersRequestListValue" - } + }, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" }, "phase2EncryptionAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValue" - } + }, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" }, "phase2IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValue" - } + }, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" }, "phase2LifetimeSeconds": { - "type": "integer" + "type": "integer", + "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`" }, "phase2dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2dhGroupNumbersRequestListValue" - } + }, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" }, "preSharedKey": { "type": "string", "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0)." }, "rekeyFuzzPercentage": { - "type": "integer" + "type": "integer", + "description": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`" }, "rekeyMarginTimeSeconds": { - "type": "integer" + "type": "integer", + "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`" }, "replayWindowSize": { - "type": "integer" + "type": "integer", + "description": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`" }, "startupAction": { - "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction" + "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction", + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`" }, "tunnelInsideCidr": { "type": "string", "description": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``" }, "tunnelInsideIpv6Cidr": { - "type": "string" + "type": "string", + "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range." } }, "irreversibleNames": { @@ -128099,13 +128844,16 @@ "type": "object", "properties": { "base": { - "type": "integer" + "type": "integer", + "description": "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used." }, "capacityProvider": { - "type": "string" + "type": "string", + "description": "The short name of the capacity provider." }, "weight": { - "type": "integer" + "type": "integer", + "description": "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied.\n\nIf no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.\n\nAn example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* ." } } }, @@ -133244,6 +133992,9 @@ "aws-native:gamelift:ContainerGroupDefinitionSchedulingStrategy": { "type": "string" }, + "aws-native:gamelift:ContainerGroupDefinitionStatus": { + "type": "string" + }, "aws-native:gamelift:ContainerGroupDefinitionTag": { "type": "object", "properties": { @@ -147682,11 +148433,11 @@ "properties": { "key": { "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + "description": "The key for this tag." }, "value": { "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + "description": "The value for this tag." } } }, @@ -163173,7 +163924,8 @@ "description": "The configuration that selects all options." }, "sourceColumn": { - "$ref": "#/types/aws-native:quicksight:AnalysisColumnIdentifier" + "$ref": "#/types/aws-native:quicksight:AnalysisColumnIdentifier", + "description": "A column of a data set." }, "sourceField": { "type": "string", @@ -173121,7 +173873,8 @@ "description": "The configuration that selects all options." }, "sourceColumn": { - "$ref": "#/types/aws-native:quicksight:DashboardColumnIdentifier" + "$ref": "#/types/aws-native:quicksight:DashboardColumnIdentifier", + "description": "A column of a data set." }, "sourceField": { "type": "string", @@ -181641,7 +182394,8 @@ "description": "An operation that filters rows based on some condition." }, "overrideDatasetParameterOperation": { - "$ref": "#/types/aws-native:quicksight:DataSetOverrideDatasetParameterOperation" + "$ref": "#/types/aws-native:quicksight:DataSetOverrideDatasetParameterOperation", + "description": "A transform operation that overrides the dataset parameter values that are defined in another dataset." }, "projectOperation": { "$ref": "#/types/aws-native:quicksight:DataSetProjectOperation", @@ -184858,7 +185612,8 @@ "description": "The configuration that selects all options." }, "sourceColumn": { - "$ref": "#/types/aws-native:quicksight:TemplateColumnIdentifier" + "$ref": "#/types/aws-native:quicksight:TemplateColumnIdentifier", + "description": "A column of a data set." }, "sourceField": { "type": "string", @@ -192399,7 +193154,8 @@ "description": "Display options related to sheets." }, "typography": { - "$ref": "#/types/aws-native:quicksight:ThemeTypography" + "$ref": "#/types/aws-native:quicksight:ThemeTypography", + "description": "Determines the typography options." }, "uiColorPalette": { "$ref": "#/types/aws-native:quicksight:ThemeUiColorPalette", @@ -207772,7 +208528,7 @@ "additionalProperties": { "type": "string" }, - "description": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following tables outline the parameters for each configuration type.\n\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru analyzes all AWS CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A boolean value that determines whether the selected patch baselines are all AWS provided.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) A JSON string containing information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputS3BucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want AWS Config to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to." + "description": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following tables outline the parameters for each configuration type.\n\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru analyzes all AWS CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A boolean value that determines whether the selected patch baselines are all AWS provided.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` .\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) A JSON string containing information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputS3BucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want AWS Config to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to." }, "type": { "type": "string", @@ -208851,6 +209607,170 @@ "aws-native:transfer:ProfileType": { "type": "string" }, + "aws-native:transfer:ServerAs2Transport": { + "type": "string" + }, + "aws-native:transfer:ServerDirectoryListingOptimization": { + "type": "string" + }, + "aws-native:transfer:ServerDomain": { + "type": "string" + }, + "aws-native:transfer:ServerEndpointDetails": { + "type": "object", + "properties": { + "addressAllocationIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.\n\nAn address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API.\n\nThis parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) .\n\n\u003e This property can only be set as follows:\n\u003e \n\u003e - `EndpointType` must be set to `VPC`\n\u003e - The Transfer Family server must be offline.\n\u003e - You cannot set this parameter for Transfer Family servers that use the FTP protocol.\n\u003e - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously).\n\u003e - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs.\n\u003e - Call the `UpdateServer` API to set or change this parameter." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of security groups IDs that are available to attach to your server's endpoint.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC` .\n\u003e \n\u003e You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of subnet IDs that are required to host your server endpoint in your VPC.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC` ." + }, + "vpcEndpointId": { + "type": "string", + "description": "The ID of the VPC endpoint.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` ." + }, + "vpcId": { + "type": "string", + "description": "The VPC ID of the virtual private cloud in which the server's endpoint will be hosted.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC` ." + } + } + }, + "aws-native:transfer:ServerEndpointType": { + "type": "string" + }, + "aws-native:transfer:ServerIdentityProviderDetails": { + "type": "object", + "properties": { + "directoryId": { + "type": "string", + "description": "The identifier of the AWS Directory Service directory that you want to use as your identity provider." + }, + "function": { + "type": "string", + "description": "The ARN for a Lambda function to use for the Identity provider." + }, + "invocationRole": { + "type": "string", + "description": "This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account." + }, + "sftpAuthenticationMethods": { + "$ref": "#/types/aws-native:transfer:ServerSftpAuthenticationMethods", + "description": "For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both.\n\n- `PASSWORD` - users must provide their password to connect.\n- `PUBLIC_KEY` - users must provide their private key to connect.\n- `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value.\n- `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails." + }, + "url": { + "type": "string", + "description": "Provides the location of the service endpoint used to authenticate users." + } + } + }, + "aws-native:transfer:ServerIdentityProviderType": { + "type": "string" + }, + "aws-native:transfer:ServerProtocol": { + "type": "string" + }, + "aws-native:transfer:ServerProtocolDetails": { + "type": "object", + "properties": { + "as2Transports": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerAs2Transport" + }, + "description": "List of `As2Transport` objects." + }, + "passiveIp": { + "type": "string", + "description": "Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example:\n\n`aws transfer update-server --protocol-details PassiveIp=0.0.0.0`\n\nReplace `0.0.0.0` in the example above with the actual IP address you want to use.\n\n\u003e If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . \n\n*Special values*\n\nThe `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response." + }, + "setStatOption": { + "$ref": "#/types/aws-native:transfer:ServerSetStatOption", + "description": "Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket.\n\nSome SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded.\n\nSet the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call.\n\n\u003e If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family." + }, + "tlsSessionResumptionMode": { + "$ref": "#/types/aws-native:transfer:ServerTlsSessionResumptionMode", + "description": "A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default.\n\n- `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request.\n- `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing.\n- `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients.\n\n\u003e Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients." + } + } + }, + "aws-native:transfer:ServerS3StorageOptions": { + "type": "object", + "properties": { + "directoryListingOptimization": { + "$ref": "#/types/aws-native:transfer:ServerDirectoryListingOptimization", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + } + } + }, + "aws-native:transfer:ServerSetStatOption": { + "type": "string" + }, + "aws-native:transfer:ServerSftpAuthenticationMethods": { + "type": "string" + }, + "aws-native:transfer:ServerTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The name assigned to the tag that you create." + }, + "value": { + "type": "string", + "description": "Contains one or more values that you assigned to the key name you create." + } + } + }, + "aws-native:transfer:ServerTlsSessionResumptionMode": { + "type": "string" + }, + "aws-native:transfer:ServerWorkflowDetail": { + "type": "object", + "properties": { + "executionRole": { + "type": "string", + "description": "Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources" + }, + "workflowId": { + "type": "string", + "description": "A unique identifier for the workflow." + } + } + }, + "aws-native:transfer:ServerWorkflowDetails": { + "type": "object", + "properties": { + "onPartialUpload": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetail" + }, + "description": "A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload.\n\nA *partial upload* occurs when a file is open when the session disconnects.\n\n\u003e `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object." + }, + "onUpload": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetail" + }, + "description": "A trigger that starts a workflow: the workflow begins to execute after a file is uploaded.\n\nTo remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example.\n\n`aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{\"OnUpload\":[]}'`\n\n\u003e `OnUpload` can contain a maximum of one `WorkflowDetail` object." + } + } + }, "aws-native:transfer:SftpConfigProperties": { "type": "object", "properties": { @@ -212310,6 +213230,18 @@ } } }, + "aws-native:wisdom:AiPromptAiPromptApiFormat": { + "type": "string" + }, + "aws-native:wisdom:AiPromptAiPromptTemplateConfiguration": { + "type": "object" + }, + "aws-native:wisdom:AiPromptAiPromptTemplateType": { + "type": "string" + }, + "aws-native:wisdom:AiPromptAiPromptType": { + "type": "string" + }, "aws-native:wisdom:AssistantAssociationAssociationData": { "type": "object", "properties": { @@ -213386,6 +214318,12 @@ "name" ] }, + "aws-native:appsync:getDataSource": { + "cf": "AWS::AppSync::DataSource", + "ids": [ + "dataSourceArn" + ] + }, "aws-native:appsync:getDomainName": { "cf": "AWS::AppSync::DomainName", "ids": [ @@ -219005,6 +219943,12 @@ "profileId" ] }, + "aws-native:transfer:getServer": { + "cf": "AWS::Transfer::Server", + "ids": [ + "arn" + ] + }, "aws-native:transfer:getWorkflow": { "cf": "AWS::Transfer::Workflow", "ids": [ @@ -219142,6 +220086,13 @@ "scope" ] }, + "aws-native:wisdom:getAiPrompt": { + "cf": "AWS::Wisdom::AIPrompt", + "ids": [ + "aiPromptId", + "assistantId" + ] + }, "aws-native:wisdom:getAssistant": { "cf": "AWS::Wisdom::Assistant", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 7c55876f15..1285772e95 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -6444,7 +6444,8 @@ "description": "SAP Source connector page size", "properties": { "maxPageSize": { - "type": "integer" + "type": "integer", + "description": "The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000." } }, "type": "object", @@ -6456,7 +6457,8 @@ "description": "SAP Source connector parallelism factor", "properties": { "maxParallelism": { - "type": "integer" + "type": "integer", + "description": "The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application." } }, "type": "object", @@ -6471,10 +6473,12 @@ "description": "The object path specified in the SAPOData flow source." }, "paginationConfig": { - "$ref": "#/types/aws-native:appflow:FlowSapoDataPaginationConfig" + "$ref": "#/types/aws-native:appflow:FlowSapoDataPaginationConfig", + "description": "Sets the page size for each concurrent process that transfers OData records from your SAP instance." }, "parallelismConfig": { - "$ref": "#/types/aws-native:appflow:FlowSapoDataParallelismConfig" + "$ref": "#/types/aws-native:appflow:FlowSapoDataParallelismConfig", + "description": "Sets the number of concurrent processes that transfers OData records from your SAP instance." } }, "type": "object", @@ -9756,6 +9760,220 @@ }, "type": "object" }, + "aws-native:appsync:DataSourceAuthorizationConfig": { + "properties": { + "authorizationType": { + "type": "string", + "description": "The authorization type that the HTTP endpoint requires." + }, + "awsIamConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceAwsIamConfig", + "description": "The AWS Identity and Access Management settings." + } + }, + "type": "object", + "required": [ + "authorizationType" + ] + }, + "aws-native:appsync:DataSourceAwsIamConfig": { + "properties": { + "signingRegion": { + "type": "string", + "description": "The signing Region for AWS Identity and Access Management authorization." + }, + "signingServiceName": { + "type": "string", + "description": "The signing service name for AWS Identity and Access Management authorization." + } + }, + "type": "object" + }, + "aws-native:appsync:DataSourceDeltaSyncConfig": { + "properties": { + "baseTableTtl": { + "type": "string", + "description": "The number of minutes that an Item is stored in the data source." + }, + "deltaSyncTableName": { + "type": "string", + "description": "The Delta Sync table name." + }, + "deltaSyncTableTtl": { + "type": "string", + "description": "The number of minutes that a Delta Sync log entry is stored in the Delta Sync table." + } + }, + "type": "object", + "required": [ + "baseTableTtl", + "deltaSyncTableName", + "deltaSyncTableTtl" + ] + }, + "aws-native:appsync:DataSourceDynamoDbConfig": { + "properties": { + "awsRegion": { + "type": "string", + "description": "The AWS Region." + }, + "deltaSyncConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceDeltaSyncConfig", + "description": "The DeltaSyncConfig for a versioned datasource." + }, + "tableName": { + "type": "string", + "description": "The table name." + }, + "useCallerCredentials": { + "type": "boolean", + "description": "Set to TRUE to use AWS Identity and Access Management with this data source." + }, + "versioned": { + "type": "boolean", + "description": "Set to TRUE to use Conflict Detection and Resolution with this data source." + } + }, + "type": "object", + "required": [ + "awsRegion", + "tableName" + ] + }, + "aws-native:appsync:DataSourceElasticsearchConfig": { + "properties": { + "awsRegion": { + "type": "string", + "description": "The AWS Region." + }, + "endpoint": { + "type": "string", + "description": "The endpoint." + } + }, + "type": "object", + "required": [ + "awsRegion", + "endpoint" + ] + }, + "aws-native:appsync:DataSourceEventBridgeConfig": { + "properties": { + "eventBusArn": { + "type": "string", + "description": "ARN for the EventBridge bus." + } + }, + "type": "object", + "required": [ + "eventBusArn" + ] + }, + "aws-native:appsync:DataSourceHttpConfig": { + "properties": { + "authorizationConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceAuthorizationConfig", + "description": "The authorization configuration." + }, + "endpoint": { + "type": "string", + "description": "The endpoint." + } + }, + "type": "object", + "required": [ + "endpoint" + ] + }, + "aws-native:appsync:DataSourceLambdaConfig": { + "properties": { + "lambdaFunctionArn": { + "type": "string", + "description": "The ARN for the Lambda function." + } + }, + "type": "object", + "required": [ + "lambdaFunctionArn" + ] + }, + "aws-native:appsync:DataSourceMetricsConfig": { + "description": "Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value.\n\n`MetricsConfig` can be `ENABLED` or `DISABLED` .", + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + } + ] + }, + "aws-native:appsync:DataSourceOpenSearchServiceConfig": { + "properties": { + "awsRegion": { + "type": "string", + "description": "The AWS Region." + }, + "endpoint": { + "type": "string", + "description": "The endpoint." + } + }, + "type": "object", + "required": [ + "awsRegion", + "endpoint" + ] + }, + "aws-native:appsync:DataSourceRdsHttpEndpointConfig": { + "properties": { + "awsRegion": { + "type": "string", + "description": "AWS Region for RDS HTTP endpoint." + }, + "awsSecretStoreArn": { + "type": "string", + "description": "The ARN for database credentials stored in AWS Secrets Manager." + }, + "databaseName": { + "type": "string", + "description": "Logical database name." + }, + "dbClusterIdentifier": { + "type": "string", + "description": "Amazon RDS cluster Amazon Resource Name (ARN)." + }, + "schema": { + "type": "string", + "description": "Logical schema name." + } + }, + "type": "object", + "required": [ + "awsRegion", + "awsSecretStoreArn", + "dbClusterIdentifier" + ] + }, + "aws-native:appsync:DataSourceRelationalDatabaseConfig": { + "properties": { + "rdsHttpEndpointConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceRdsHttpEndpointConfig", + "description": "Information about the Amazon RDS resource." + }, + "relationalDatabaseSourceType": { + "type": "string", + "description": "The type of relational data source." + } + }, + "type": "object", + "required": [ + "relationalDatabaseSourceType" + ] + }, "aws-native:appsync:FunctionConfigurationAppSyncRuntime": { "description": "Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.", "properties": { @@ -24225,7 +24443,7 @@ ] }, "aws-native:codebuild:FleetComputeType": { - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*", + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*", "type": "string", "enum": [ { @@ -24251,7 +24469,7 @@ ] }, "aws-native:codebuild:FleetEnvironmentType": { - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", + "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", "type": "string", "enum": [ { @@ -24683,6 +24901,13 @@ "$ref": "#/types/aws-native:codepipeline:PipelineActionTypeId", "description": "Specifies the action type and the provider of the action." }, + "commands": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The shell commands to run with your compute action in CodePipeline." + }, "configuration": { "$ref": "pulumi.json#/Any", "description": "The action's configuration. These are key-value pairs that specify input values for an action." @@ -24709,6 +24934,13 @@ }, "description": "The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* ." }, + "outputVariables": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of variables that are to be exported from the compute action." + }, "region": { "type": "string", "description": "The action declaration's AWS Region, such as us-east-1." @@ -24787,6 +25019,10 @@ { "name": "Approval", "value": "Approval" + }, + { + "name": "Compute", + "value": "Compute" } ] }, @@ -25103,6 +25339,13 @@ "aws-native:codepipeline:PipelineOutputArtifact": { "description": "Represents information about the output of an action.", "properties": { + "files": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The files that you want to associate with the output artifact that will be exported from the compute action." + }, "name": { "type": "string", "description": "The name of the output of an artifact, such as \"My App\"." @@ -25660,7 +25903,7 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolRecoveryOption" }, - "description": "The list of `RecoveryOptionTypes` ." + "description": "The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators." } }, "type": "object" @@ -25685,7 +25928,7 @@ }, "inviteMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolInviteMessageTemplate", - "description": "The message template to be used for the welcome message to new users.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) ." + "description": "The template for the welcome message to new users.\n\nSee also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) ." }, "unusedAccountValidityDays": { "type": "integer", @@ -25706,7 +25949,7 @@ "properties": { "applicationArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares." + "description": "The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications" }, "applicationId": { "type": "string", @@ -25748,11 +25991,11 @@ "properties": { "lambdaArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users." + "description": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger." }, "lambdaVersion": { "type": "string", - "description": "The Lambda version represents the signature of the \"request\" attribute in the \"event\" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` ." + "description": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function." } }, "type": "object" @@ -25761,11 +26004,11 @@ "properties": { "lambdaArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users." + "description": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger." }, "lambdaVersion": { "type": "string", - "description": "The Lambda version represents the signature of the \"request\" attribute in the \"event\" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` ." + "description": "The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features.\n\nYou must use a `LambdaVersion` of `V1_0` with a custom sender function." } }, "type": "object" @@ -25796,7 +26039,7 @@ "properties": { "configurationSet": { "type": "string", - "description": "The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch.\n- IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets." + "description": "The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:\n\n- **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch\n- **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets." }, "emailSendingAccount": { "type": "string", @@ -25804,7 +26047,7 @@ }, "from": { "type": "string", - "description": "Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User \u003ctestuser@example.com\u003e` . This address appears before the body of the email." + "description": "Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User \u003ctestuser@example.com\u003e` . This address appears before the body of the email." }, "replyToEmailAddress": { "type": "string", @@ -25842,7 +26085,7 @@ }, "customEmailSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomEmailSender", - "description": "A custom email sender AWS Lambda trigger." + "description": "The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic." }, "customMessage": { "type": "string", @@ -25850,7 +26093,7 @@ }, "customSmsSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomSmsSender", - "description": "A custom SMS sender AWS Lambda trigger." + "description": "The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic." }, "defineAuthChallenge": { "type": "string", @@ -25858,7 +26101,7 @@ }, "kmsKeyId": { "type": "string", - "description": "The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` ." + "description": "The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers." }, "postAuthentication": { "type": "string", @@ -25967,11 +26210,11 @@ "properties": { "name": { "type": "string", - "description": "Specifies the recovery method for a user." + "description": "The recovery method that this object sets a recovery option for." }, "priority": { "type": "integer", - "description": "A positive integer specifying priority of a method with 1 being the highest priority." + "description": "Your priority preference for using the specified attribute in account recovery. The highest priority is `1` ." } }, "type": "object" @@ -26153,7 +26396,7 @@ }, "developerOnlyAttribute": { "type": "boolean", - "description": "\u003e We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token." + "description": "\u003e You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . \n\nSpecifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes." }, "mutable": { "type": "boolean", @@ -26182,7 +26425,7 @@ "properties": { "externalId": { "type": "string", - "description": "The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` ." + "description": "The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` .\n\nFor more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) ." }, "snsCallerArn": { "type": "string", @@ -43790,18 +44033,22 @@ "aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecification": { "properties": { "logEnabled": { - "type": "boolean" + "type": "boolean", + "description": "Enable or disable VPN tunnel logging feature. Default value is `False` .\n\nValid values: `True` | `False`" }, "logGroupArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to." }, "logOutputFormat": { - "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat" + "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat", + "description": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`" } }, "type": "object" }, "aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat": { + "description": "Set log format. Default format is `json` .\n\nValid values: `json` | `text`", "type": "string", "enum": [ { @@ -43817,12 +44064,14 @@ "aws-native:ec2:VpnConnectionIkeVersionsRequestListValue": { "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValueValue", + "description": "The IKE version." } }, "type": "object" }, "aws-native:ec2:VpnConnectionIkeVersionsRequestListValueValue": { + "description": "The IKE version.", "type": "string", "enum": [ { @@ -43838,12 +44087,14 @@ "aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValue": { "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue", + "description": "The value for the encryption algorithm." } }, "type": "object" }, "aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue": { + "description": "The value for the encryption algorithm.", "type": "string", "enum": [ { @@ -43867,12 +44118,14 @@ "aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValue": { "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue", + "description": "The value for the integrity algorithm." } }, "type": "object" }, "aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue": { + "description": "The value for the integrity algorithm.", "type": "string", "enum": [ { @@ -43896,7 +44149,8 @@ "aws-native:ec2:VpnConnectionPhase1dhGroupNumbersRequestListValue": { "properties": { "value": { - "type": "integer" + "type": "integer", + "description": "The Diffie-Hellmann group number." } }, "type": "object" @@ -43904,12 +44158,14 @@ "aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValue": { "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue", + "description": "The encryption algorithm." } }, "type": "object" }, "aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue": { + "description": "The encryption algorithm.", "type": "string", "enum": [ { @@ -43933,12 +44189,14 @@ "aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValue": { "properties": { "value": { - "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue" + "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue", + "description": "The integrity algorithm." } }, "type": "object" }, "aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue": { + "description": "The integrity algorithm.", "type": "string", "enum": [ { @@ -43962,7 +44220,8 @@ "aws-native:ec2:VpnConnectionPhase2dhGroupNumbersRequestListValue": { "properties": { "value": { - "type": "integer" + "type": "integer", + "description": "The Diffie-Hellmann group number." } }, "type": "object" @@ -43988,7 +44247,8 @@ "aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification": { "properties": { "cloudwatchLogOptions": { - "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecification" + "$ref": "#/types/aws-native:ec2:VpnConnectionCloudwatchLogOptionsSpecification", + "description": "Options for sending VPN tunnel logs to CloudWatch." } }, "type": "object" @@ -43997,92 +44257,111 @@ "description": "The tunnel options for a single VPN tunnel.", "properties": { "dpdTimeoutAction": { - "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction" + "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction", + "description": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`" }, "dpdTimeoutSeconds": { - "type": "integer" + "type": "integer", + "description": "The number of seconds after which a DPD timeout occurs.\n\nConstraints: A value greater than or equal to 30.\n\nDefault: `30`" }, "enableTunnelLifecycleControl": { - "type": "boolean" + "type": "boolean", + "description": "Turn on or off tunnel endpoint lifecycle control feature." }, "ikeVersions": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionIkeVersionsRequestListValue" - } + }, + "description": "The IKE versions that are permitted for the VPN tunnel.\n\nValid values: `ikev1` | `ikev2`" }, "logOptions": { - "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification" + "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelLogOptionsSpecification", + "description": "Options for logging VPN tunnel activity." }, "phase1EncryptionAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1EncryptionAlgorithmsRequestListValue" - } + }, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" }, "phase1IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1IntegrityAlgorithmsRequestListValue" - } + }, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" }, "phase1LifetimeSeconds": { - "type": "integer" + "type": "integer", + "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 28,800.\n\nDefault: `28800`" }, "phase1dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase1dhGroupNumbersRequestListValue" - } + }, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n\nValid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" }, "phase2EncryptionAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2EncryptionAlgorithmsRequestListValue" - } + }, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16`" }, "phase2IntegrityAlgorithms": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2IntegrityAlgorithmsRequestListValue" - } + }, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512`" }, "phase2LifetimeSeconds": { - "type": "integer" + "type": "integer", + "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n\nConstraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` .\n\nDefault: `3600`" }, "phase2dhGroupNumbers": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:VpnConnectionPhase2dhGroupNumbersRequestListValue" - } + }, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n\nValid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24`" }, "preSharedKey": { "type": "string", "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0)." }, "rekeyFuzzPercentage": { - "type": "integer" + "type": "integer", + "description": "The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected.\n\nConstraints: A value between 0 and 100.\n\nDefault: `100`" }, "rekeyMarginTimeSeconds": { - "type": "integer" + "type": "integer", + "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` .\n\nConstraints: A value between 60 and half of `Phase2LifetimeSeconds` .\n\nDefault: `270`" }, "replayWindowSize": { - "type": "integer" + "type": "integer", + "description": "The number of packets in an IKE replay window.\n\nConstraints: A value between 64 and 2048.\n\nDefault: `1024`" }, "startupAction": { - "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction" + "$ref": "#/types/aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction", + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`" }, "tunnelInsideCidr": { "type": "string", "description": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``" }, "tunnelInsideIpv6Cidr": { - "type": "string" + "type": "string", + "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n\nConstraints: A size /126 CIDR block from the local `fd00::/8` range." } }, "type": "object" }, "aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction": { + "description": "The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session.\n\nValid Values: `clear` | `none` | `restart`\n\nDefault: `clear`", "type": "string", "enum": [ { @@ -44100,6 +44379,7 @@ ] }, "aws-native:ec2:VpnConnectionVpnTunnelOptionsSpecificationStartupAction": { + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation.\n\nValid Values: `add` | `start`\n\nDefault: `add`", "type": "string", "enum": [ { @@ -46245,13 +46525,16 @@ "aws-native:ecs:TaskSetCapacityProviderStrategyItem": { "properties": { "base": { - "type": "integer" + "type": "integer", + "description": "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used." }, "capacityProvider": { - "type": "string" + "type": "string", + "description": "The short name of the capacity provider." }, "weight": { - "type": "integer" + "type": "integer", + "description": "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied.\n\nIf no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.\n\nAn example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* ." } }, "type": "object" @@ -53537,6 +53820,24 @@ } ] }, + "aws-native:gamelift:ContainerGroupDefinitionStatus": { + "description": "A string indicating ContainerGroupDefinition status.", + "type": "string", + "enum": [ + { + "name": "Ready", + "value": "READY" + }, + { + "name": "Copying", + "value": "COPYING" + }, + { + "name": "Failed", + "value": "FAILED" + } + ] + }, "aws-native:gamelift:ContainerGroupDefinitionTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -73689,14 +73990,15 @@ ] }, "aws-native:lambda:EventSourceMappingTag": { + "description": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping.", "properties": { "key": { "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + "description": "The key for this tag." }, "value": { "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + "description": "The value for this tag." } }, "type": "object", @@ -88369,7 +88671,7 @@ ] }, "aws-native:organizations:PolicyType": { - "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY", + "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY", "type": "string", "enum": [ { @@ -88387,6 +88689,10 @@ { "name": "TagPolicy", "value": "TAG_POLICY" + }, + { + "name": "ChatbotPolicy", + "value": "CHATBOT_POLICY" } ] }, @@ -96710,7 +97016,8 @@ "description": "The configuration that selects all options." }, "sourceColumn": { - "$ref": "#/types/aws-native:quicksight:AnalysisColumnIdentifier" + "$ref": "#/types/aws-native:quicksight:AnalysisColumnIdentifier", + "description": "A column of a data set." }, "sourceField": { "type": "string", @@ -109080,7 +109387,8 @@ "description": "The configuration that selects all options." }, "sourceColumn": { - "$ref": "#/types/aws-native:quicksight:DashboardColumnIdentifier" + "$ref": "#/types/aws-native:quicksight:DashboardColumnIdentifier", + "description": "A column of a data set." }, "sourceField": { "type": "string", @@ -118823,7 +119131,6 @@ }, "type": "object", "required": [ - "columns", "dataSourceArn", "name", "sqlQuery" @@ -119538,7 +119845,6 @@ "type": "object", "required": [ "dataSourceArn", - "inputColumns", "name" ] }, @@ -119880,7 +120186,8 @@ "description": "An operation that filters rows based on some condition." }, "overrideDatasetParameterOperation": { - "$ref": "#/types/aws-native:quicksight:DataSetOverrideDatasetParameterOperation" + "$ref": "#/types/aws-native:quicksight:DataSetOverrideDatasetParameterOperation", + "description": "A transform operation that overrides the dataset parameter values that are defined in another dataset." }, "projectOperation": { "$ref": "#/types/aws-native:quicksight:DataSetProjectOperation", @@ -120823,6 +121130,10 @@ "name": "S3", "value": "S3" }, + { + "name": "S3Tables", + "value": "S3_TABLES" + }, { "name": "Salesforce", "value": "SALESFORCE" @@ -124135,7 +124446,8 @@ "description": "The configuration that selects all options." }, "sourceColumn": { - "$ref": "#/types/aws-native:quicksight:TemplateColumnIdentifier" + "$ref": "#/types/aws-native:quicksight:TemplateColumnIdentifier", + "description": "A column of a data set." }, "sourceField": { "type": "string", @@ -133494,7 +133806,8 @@ "description": "Display options related to sheets." }, "typography": { - "$ref": "#/types/aws-native:quicksight:ThemeTypography" + "$ref": "#/types/aws-native:quicksight:ThemeTypography", + "description": "Determines the typography options." }, "uiColorPalette": { "$ref": "#/types/aws-native:quicksight:ThemeUiColorPalette", @@ -157143,7 +157456,7 @@ "additionalProperties": { "type": "string" }, - "description": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following tables outline the parameters for each configuration type.\n\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru analyzes all AWS CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A boolean value that determines whether the selected patch baselines are all AWS provided.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) A JSON string containing information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputS3BucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want AWS Config to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to." + "description": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following tables outline the parameters for each configuration type.\n\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru analyzes all AWS CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSSMAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A boolean value that determines whether the selected patch baselines are all AWS provided.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` .\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) A JSON string containing information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputS3BucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want AWS Config to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to." }, "type": { "type": "string", @@ -158981,6 +159294,297 @@ } ] }, + "aws-native:transfer:ServerAs2Transport": { + "type": "string", + "enum": [ + { + "name": "Http", + "value": "HTTP" + } + ] + }, + "aws-native:transfer:ServerDirectoryListingOptimization": { + "description": "Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, + "aws-native:transfer:ServerDomain": { + "type": "string", + "enum": [ + { + "name": "S3", + "value": "S3" + }, + { + "name": "Efs", + "value": "EFS" + } + ] + }, + "aws-native:transfer:ServerEndpointDetails": { + "properties": { + "addressAllocationIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.\n\nAn address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API.\n\nThis parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) .\n\n\u003e This property can only be set as follows:\n\u003e \n\u003e - `EndpointType` must be set to `VPC`\n\u003e - The Transfer Family server must be offline.\n\u003e - You cannot set this parameter for Transfer Family servers that use the FTP protocol.\n\u003e - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously).\n\u003e - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs.\n\u003e - Call the `UpdateServer` API to set or change this parameter." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of security groups IDs that are available to attach to your server's endpoint.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC` .\n\u003e \n\u003e You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of subnet IDs that are required to host your server endpoint in your VPC.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC` ." + }, + "vpcEndpointId": { + "type": "string", + "description": "The ID of the VPC endpoint.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` ." + }, + "vpcId": { + "type": "string", + "description": "The VPC ID of the virtual private cloud in which the server's endpoint will be hosted.\n\n\u003e This property can only be set when `EndpointType` is set to `VPC` ." + } + }, + "type": "object" + }, + "aws-native:transfer:ServerEndpointType": { + "type": "string", + "enum": [ + { + "name": "Public", + "value": "PUBLIC" + }, + { + "name": "Vpc", + "value": "VPC" + }, + { + "name": "VpcEndpoint", + "value": "VPC_ENDPOINT" + } + ] + }, + "aws-native:transfer:ServerIdentityProviderDetails": { + "properties": { + "directoryId": { + "type": "string", + "description": "The identifier of the AWS Directory Service directory that you want to use as your identity provider." + }, + "function": { + "type": "string", + "description": "The ARN for a Lambda function to use for the Identity provider." + }, + "invocationRole": { + "type": "string", + "description": "This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account." + }, + "sftpAuthenticationMethods": { + "$ref": "#/types/aws-native:transfer:ServerSftpAuthenticationMethods", + "description": "For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both.\n\n- `PASSWORD` - users must provide their password to connect.\n- `PUBLIC_KEY` - users must provide their private key to connect.\n- `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value.\n- `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails." + }, + "url": { + "type": "string", + "description": "Provides the location of the service endpoint used to authenticate users." + } + }, + "type": "object" + }, + "aws-native:transfer:ServerIdentityProviderType": { + "type": "string", + "enum": [ + { + "name": "ServiceManaged", + "value": "SERVICE_MANAGED" + }, + { + "name": "ApiGateway", + "value": "API_GATEWAY" + }, + { + "name": "AwsDirectoryService", + "value": "AWS_DIRECTORY_SERVICE" + }, + { + "name": "AwsLambda", + "value": "AWS_LAMBDA" + } + ] + }, + "aws-native:transfer:ServerProtocol": { + "type": "string", + "enum": [ + { + "name": "Sftp", + "value": "SFTP" + }, + { + "name": "Ftp", + "value": "FTP" + }, + { + "name": "Ftps", + "value": "FTPS" + }, + { + "name": "As2", + "value": "AS2" + } + ] + }, + "aws-native:transfer:ServerProtocolDetails": { + "properties": { + "as2Transports": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerAs2Transport" + }, + "description": "List of `As2Transport` objects." + }, + "passiveIp": { + "type": "string", + "description": "Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example:\n\n`aws transfer update-server --protocol-details PassiveIp=0.0.0.0`\n\nReplace `0.0.0.0` in the example above with the actual IP address you want to use.\n\n\u003e If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . \n\n*Special values*\n\nThe `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response." + }, + "setStatOption": { + "$ref": "#/types/aws-native:transfer:ServerSetStatOption", + "description": "Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket.\n\nSome SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded.\n\nSet the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call.\n\n\u003e If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family." + }, + "tlsSessionResumptionMode": { + "$ref": "#/types/aws-native:transfer:ServerTlsSessionResumptionMode", + "description": "A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default.\n\n- `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request.\n- `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing.\n- `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients.\n\n\u003e Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients." + } + }, + "type": "object" + }, + "aws-native:transfer:ServerS3StorageOptions": { + "properties": { + "directoryListingOptimization": { + "$ref": "#/types/aws-native:transfer:ServerDirectoryListingOptimization", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + } + }, + "type": "object" + }, + "aws-native:transfer:ServerSetStatOption": { + "type": "string", + "enum": [ + { + "name": "Default", + "value": "DEFAULT" + }, + { + "name": "EnableNoOp", + "value": "ENABLE_NO_OP" + } + ] + }, + "aws-native:transfer:ServerSftpAuthenticationMethods": { + "type": "string", + "enum": [ + { + "name": "Password", + "value": "PASSWORD" + }, + { + "name": "PublicKey", + "value": "PUBLIC_KEY" + }, + { + "name": "PublicKeyOrPassword", + "value": "PUBLIC_KEY_OR_PASSWORD" + }, + { + "name": "PublicKeyAndPassword", + "value": "PUBLIC_KEY_AND_PASSWORD" + } + ] + }, + "aws-native:transfer:ServerTag": { + "properties": { + "key": { + "type": "string", + "description": "The name assigned to the tag that you create." + }, + "value": { + "type": "string", + "description": "Contains one or more values that you assigned to the key name you create." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:transfer:ServerTlsSessionResumptionMode": { + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Enforced", + "value": "ENFORCED" + } + ] + }, + "aws-native:transfer:ServerWorkflowDetail": { + "properties": { + "executionRole": { + "type": "string", + "description": "Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources" + }, + "workflowId": { + "type": "string", + "description": "A unique identifier for the workflow." + } + }, + "type": "object", + "required": [ + "executionRole", + "workflowId" + ] + }, + "aws-native:transfer:ServerWorkflowDetails": { + "properties": { + "onPartialUpload": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetail" + }, + "description": "A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload.\n\nA *partial upload* occurs when a file is open when the session disconnects.\n\n\u003e `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object." + }, + "onUpload": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetail" + }, + "description": "A trigger that starts a workflow: the workflow begins to execute after a file is uploaded.\n\nTo remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example.\n\n`aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{\"OnUpload\":[]}'`\n\n\u003e `OnUpload` can contain a maximum of one `WorkflowDetail` object." + } + }, + "type": "object" + }, "aws-native:transfer:SftpConfigProperties": { "description": "Configuration for an SFTP connector.", "properties": { @@ -164101,6 +164705,48 @@ "textTransformations" ] }, + "aws-native:wisdom:AiPromptAiPromptApiFormat": { + "type": "string", + "enum": [ + { + "name": "AnthropicClaudeMessages", + "value": "ANTHROPIC_CLAUDE_MESSAGES" + }, + { + "name": "AnthropicClaudeTextCompletions", + "value": "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" + } + ] + }, + "aws-native:wisdom:AiPromptAiPromptTemplateConfiguration": { + "type": "object" + }, + "aws-native:wisdom:AiPromptAiPromptTemplateType": { + "type": "string", + "enum": [ + { + "name": "Text", + "value": "TEXT" + } + ] + }, + "aws-native:wisdom:AiPromptAiPromptType": { + "type": "string", + "enum": [ + { + "name": "AnswerGeneration", + "value": "ANSWER_GENERATION" + }, + { + "name": "IntentLabelingGeneration", + "value": "INTENT_LABELING_GENERATION" + }, + { + "name": "QueryReformulation", + "value": "QUERY_REFORMULATION" + } + ] + }, "aws-native:wisdom:AssistantAssociationAssociationData": { "properties": { "knowledgeBaseId": { @@ -171799,6 +172445,134 @@ "instanceType" ] }, + "aws-native:appsync:DataSource": { + "description": "Resource Type definition for AWS::AppSync::DataSource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var graphQlApiId = config.Require(\"graphQlApiId\");\n var dataSourceName = config.Require(\"dataSourceName\");\n var dataSourceDescription = config.Require(\"dataSourceDescription\");\n var serviceRoleArn = config.Require(\"serviceRoleArn\");\n var lambdaFunctionArn = config.Require(\"lambdaFunctionArn\");\n var dataSource = new AwsNative.AppSync.DataSource(\"dataSource\", new()\n {\n ApiId = graphQlApiId,\n Name = dataSourceName,\n Description = dataSourceDescription,\n Type = \"AWS_LAMBDA\",\n ServiceRoleArn = serviceRoleArn,\n LambdaConfig = new AwsNative.AppSync.Inputs.DataSourceLambdaConfigArgs\n {\n LambdaFunctionArn = lambdaFunctionArn,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgraphQlApiId := cfg.Require(\"graphQlApiId\")\n\t\tdataSourceName := cfg.Require(\"dataSourceName\")\n\t\tdataSourceDescription := cfg.Require(\"dataSourceDescription\")\n\t\tserviceRoleArn := cfg.Require(\"serviceRoleArn\")\n\t\tlambdaFunctionArn := cfg.Require(\"lambdaFunctionArn\")\n\t\t_, err := appsync.NewDataSource(ctx, \"dataSource\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: pulumi.String(graphQlApiId),\n\t\t\tName: pulumi.String(dataSourceName),\n\t\t\tDescription: pulumi.String(dataSourceDescription),\n\t\t\tType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tServiceRoleArn: pulumi.String(serviceRoleArn),\n\t\t\tLambdaConfig: \u0026appsync.DataSourceLambdaConfigArgs{\n\t\t\t\tLambdaFunctionArn: pulumi.String(lambdaFunctionArn),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst config = new pulumi.Config();\nconst graphQlApiId = config.require(\"graphQlApiId\");\nconst dataSourceName = config.require(\"dataSourceName\");\nconst dataSourceDescription = config.require(\"dataSourceDescription\");\nconst serviceRoleArn = config.require(\"serviceRoleArn\");\nconst lambdaFunctionArn = config.require(\"lambdaFunctionArn\");\nconst dataSource = new aws_native.appsync.DataSource(\"dataSource\", {\n apiId: graphQlApiId,\n name: dataSourceName,\n description: dataSourceDescription,\n type: \"AWS_LAMBDA\",\n serviceRoleArn: serviceRoleArn,\n lambdaConfig: {\n lambdaFunctionArn: lambdaFunctionArn,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\ngraph_ql_api_id = config.require(\"graphQlApiId\")\ndata_source_name = config.require(\"dataSourceName\")\ndata_source_description = config.require(\"dataSourceDescription\")\nservice_role_arn = config.require(\"serviceRoleArn\")\nlambda_function_arn = config.require(\"lambdaFunctionArn\")\ndata_source = aws_native.appsync.DataSource(\"dataSource\",\n api_id=graph_ql_api_id,\n name=data_source_name,\n description=data_source_description,\n type=\"AWS_LAMBDA\",\n service_role_arn=service_role_arn,\n lambda_config={\n \"lambda_function_arn\": lambda_function_arn,\n })\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var graphQlApiId = config.Require(\"graphQlApiId\");\n var dataSourceName = config.Require(\"dataSourceName\");\n var dataSourceDescription = config.Require(\"dataSourceDescription\");\n var serviceRoleArn = config.Require(\"serviceRoleArn\");\n var lambdaFunctionArn = config.Require(\"lambdaFunctionArn\");\n var dataSource = new AwsNative.AppSync.DataSource(\"dataSource\", new()\n {\n ApiId = graphQlApiId,\n Name = dataSourceName,\n Description = dataSourceDescription,\n Type = \"AWS_LAMBDA\",\n ServiceRoleArn = serviceRoleArn,\n LambdaConfig = new AwsNative.AppSync.Inputs.DataSourceLambdaConfigArgs\n {\n LambdaFunctionArn = lambdaFunctionArn,\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/appsync\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tgraphQlApiId := cfg.Require(\"graphQlApiId\")\n\t\tdataSourceName := cfg.Require(\"dataSourceName\")\n\t\tdataSourceDescription := cfg.Require(\"dataSourceDescription\")\n\t\tserviceRoleArn := cfg.Require(\"serviceRoleArn\")\n\t\tlambdaFunctionArn := cfg.Require(\"lambdaFunctionArn\")\n\t\t_, err := appsync.NewDataSource(ctx, \"dataSource\", \u0026appsync.DataSourceArgs{\n\t\t\tApiId: pulumi.String(graphQlApiId),\n\t\t\tName: pulumi.String(dataSourceName),\n\t\t\tDescription: pulumi.String(dataSourceDescription),\n\t\t\tType: pulumi.String(\"AWS_LAMBDA\"),\n\t\t\tServiceRoleArn: pulumi.String(serviceRoleArn),\n\t\t\tLambdaConfig: \u0026appsync.DataSourceLambdaConfigArgs{\n\t\t\t\tLambdaFunctionArn: pulumi.String(lambdaFunctionArn),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst config = new pulumi.Config();\nconst graphQlApiId = config.require(\"graphQlApiId\");\nconst dataSourceName = config.require(\"dataSourceName\");\nconst dataSourceDescription = config.require(\"dataSourceDescription\");\nconst serviceRoleArn = config.require(\"serviceRoleArn\");\nconst lambdaFunctionArn = config.require(\"lambdaFunctionArn\");\nconst dataSource = new aws_native.appsync.DataSource(\"dataSource\", {\n apiId: graphQlApiId,\n name: dataSourceName,\n description: dataSourceDescription,\n type: \"AWS_LAMBDA\",\n serviceRoleArn: serviceRoleArn,\n lambdaConfig: {\n lambdaFunctionArn: lambdaFunctionArn,\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\ngraph_ql_api_id = config.require(\"graphQlApiId\")\ndata_source_name = config.require(\"dataSourceName\")\ndata_source_description = config.require(\"dataSourceDescription\")\nservice_role_arn = config.require(\"serviceRoleArn\")\nlambda_function_arn = config.require(\"lambdaFunctionArn\")\ndata_source = aws_native.appsync.DataSource(\"dataSource\",\n api_id=graph_ql_api_id,\n name=data_source_name,\n description=data_source_description,\n type=\"AWS_LAMBDA\",\n service_role_arn=service_role_arn,\n lambda_config={\n \"lambda_function_arn\": lambda_function_arn,\n })\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier where this data source will be created.", + "replaceOnChanges": true + }, + "dataSourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename." + }, + "description": { + "type": "string", + "description": "The description of the data source." + }, + "dynamoDbConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceDynamoDbConfig", + "description": "AWS Region and TableName for an Amazon DynamoDB table in your account." + }, + "elasticsearchConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceElasticsearchConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source." + }, + "eventBridgeConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceEventBridgeConfig", + "description": "ARN for the EventBridge bus." + }, + "httpConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceHttpConfig", + "description": "Endpoints for an HTTP data source." + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceLambdaConfig", + "description": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account." + }, + "metricsConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceMetricsConfig", + "description": "Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value.\n\n`MetricsConfig` can be `ENABLED` or `DISABLED` ." + }, + "name": { + "type": "string", + "description": "Friendly name for you to identify your AppSync data source after creation.", + "replaceOnChanges": true + }, + "openSearchServiceConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceOpenSearchServiceConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account." + }, + "relationalDatabaseConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceRelationalDatabaseConfig", + "description": "Relational Database configuration of the relational database data source." + }, + "serviceRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source." + }, + "type": { + "type": "string", + "description": "The type of the data source." + } + }, + "type": "object", + "required": [ + "apiId", + "dataSourceArn", + "name", + "type" + ], + "inputProperties": { + "apiId": { + "type": "string", + "description": "Unique AWS AppSync GraphQL API identifier where this data source will be created." + }, + "description": { + "type": "string", + "description": "The description of the data source." + }, + "dynamoDbConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceDynamoDbConfig", + "description": "AWS Region and TableName for an Amazon DynamoDB table in your account." + }, + "elasticsearchConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceElasticsearchConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source." + }, + "eventBridgeConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceEventBridgeConfig", + "description": "ARN for the EventBridge bus." + }, + "httpConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceHttpConfig", + "description": "Endpoints for an HTTP data source." + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceLambdaConfig", + "description": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account." + }, + "metricsConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceMetricsConfig", + "description": "Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value.\n\n`MetricsConfig` can be `ENABLED` or `DISABLED` ." + }, + "name": { + "type": "string", + "description": "Friendly name for you to identify your AppSync data source after creation." + }, + "openSearchServiceConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceOpenSearchServiceConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account." + }, + "relationalDatabaseConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceRelationalDatabaseConfig", + "description": "Relational Database configuration of the relational database data source." + }, + "serviceRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source." + }, + "type": { + "type": "string", + "description": "The type of the data source." + } + }, + "requiredInputs": [ + "apiId", + "type" + ] + }, "aws-native:appsync:DomainName": { "description": "Resource Type definition for AWS::AppSync::DomainName", "properties": { @@ -181041,11 +181815,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -181053,11 +181827,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." + "description": "Information about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." + "description": "The Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -181086,11 +181860,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -181098,11 +181872,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." + "description": "Information about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." + "description": "The Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -182368,7 +183142,7 @@ "properties": { "accountRecoverySetting": { "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting", - "description": "Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email." + "description": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email." }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", @@ -182379,7 +183153,7 @@ "items": { "type": "string" }, - "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .\n\n\u003e This user pool property cannot be updated." + "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* ." }, "arn": { "type": "string", @@ -182412,18 +183186,18 @@ }, "emailVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "emailVerificationSubject": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "enabledMfas": { "type": "array", "items": { "type": "string" }, - "description": "Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to \"OFF\" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to \"OFF\". Can be one of the following values:\n\n- `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided.\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA`" + "description": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`" }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", @@ -182439,7 +183213,7 @@ }, "providerName": { "type": "string", - "description": "The provider name of the Amazon Cognito user pool, specified as a `String` ." + "description": "A friendly name for the IdP." }, "providerUrl": { "type": "string", @@ -182450,11 +183224,11 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" }, - "description": "The schema attributes for the new user pool. These attributes can be standard or custom attributes.\n\n\u003e During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute." + "description": "An array of schema attributes for the new user pool. These attributes can be standard or custom attributes." }, "smsAuthenticationMessage": { "type": "string", - "description": "A string representing the SMS authentication message." + "description": "The contents of the SMS authentication message." }, "smsConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration", @@ -182462,7 +183236,7 @@ }, "smsVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "userAttributeUpdateSettings": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings", @@ -182492,11 +183266,11 @@ "items": { "type": "string" }, - "description": "Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` .\n\nThis user pool property cannot be updated." + "description": "Specifies whether a user can use an email address or phone number as a username when they sign up." }, "usernameConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration", - "description": "You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set." + "description": "Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nThis configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) ." }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", @@ -182513,7 +183287,7 @@ "inputProperties": { "accountRecoverySetting": { "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting", - "description": "Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email." + "description": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email." }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", @@ -182524,7 +183298,7 @@ "items": { "type": "string" }, - "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .\n\n\u003e This user pool property cannot be updated." + "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* ." }, "autoVerifiedAttributes": { "type": "array", @@ -182553,18 +183327,18 @@ }, "emailVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "emailVerificationSubject": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "enabledMfas": { "type": "array", "items": { "type": "string" }, - "description": "Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to \"OFF\" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to \"OFF\". Can be one of the following values:\n\n- `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided.\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA`" + "description": "Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values:\n\n- `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` .\n- `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool.\n- `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` .\n\nAllowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP`" }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", @@ -182583,11 +183357,11 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" }, - "description": "The schema attributes for the new user pool. These attributes can be standard or custom attributes.\n\n\u003e During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute." + "description": "An array of schema attributes for the new user pool. These attributes can be standard or custom attributes." }, "smsAuthenticationMessage": { "type": "string", - "description": "A string representing the SMS authentication message." + "description": "The contents of the SMS authentication message." }, "smsConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration", @@ -182595,7 +183369,7 @@ }, "smsVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "userAttributeUpdateSettings": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings", @@ -182621,11 +183395,11 @@ "items": { "type": "string" }, - "description": "Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` .\n\nThis user pool property cannot be updated." + "description": "Specifies whether a user can use an email address or phone number as a username when they sign up." }, "usernameConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration", - "description": "You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set." + "description": "Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nThis configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) ." }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", @@ -182638,7 +183412,7 @@ "properties": { "accessTokenValidity": { "type": "integer", - "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours." + "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour." }, "allowedOAuthFlows": { "type": "array", @@ -182710,7 +183484,7 @@ }, "idTokenValidity": { "type": "integer", - "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours." + "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour." }, "logoutUrls": { "type": "array", @@ -182724,7 +183498,7 @@ }, "preventUserExistenceErrors": { "type": "string", - "description": "Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool." + "description": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value." }, "readAttributes": { "type": "array", @@ -182735,7 +183509,7 @@ }, "refreshTokenValidity": { "type": "integer", - "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days." + "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days." }, "supportedIdentityProviders": { "type": "array", @@ -182771,7 +183545,7 @@ "inputProperties": { "accessTokenValidity": { "type": "integer", - "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours." + "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour." }, "allowedOAuthFlows": { "type": "array", @@ -182835,7 +183609,7 @@ }, "idTokenValidity": { "type": "integer", - "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours." + "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour." }, "logoutUrls": { "type": "array", @@ -182846,7 +183620,7 @@ }, "preventUserExistenceErrors": { "type": "string", - "description": "Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool." + "description": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value." }, "readAttributes": { "type": "array", @@ -182857,7 +183631,7 @@ }, "refreshTokenValidity": { "type": "integer", - "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days." + "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days." }, "supportedIdentityProviders": { "type": "array", @@ -182903,12 +183677,12 @@ }, "domain": { "type": "string", - "description": "The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.", + "description": "The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.", "replaceOnChanges": true }, "userPoolId": { "type": "string", - "description": "The user pool ID for the user pool where you want to associate a user pool domain.", + "description": "The ID of the user pool that is associated with the custom domain whose certificate you're updating.", "replaceOnChanges": true } }, @@ -182926,11 +183700,11 @@ }, "domain": { "type": "string", - "description": "The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names." + "description": "The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names." }, "userPoolId": { "type": "string", - "description": "The user pool ID for the user pool where you want to associate a user pool domain." + "description": "The ID of the user pool that is associated with the custom domain whose certificate you're updating." } }, "requiredInputs": [ @@ -183078,7 +183852,7 @@ "properties": { "identifier": { "type": "string", - "description": "A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` .", + "description": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens.", "replaceOnChanges": true }, "name": { @@ -183107,7 +183881,7 @@ "inputProperties": { "identifier": { "type": "string", - "description": "A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` ." + "description": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens." }, "name": { "type": "string", @@ -183139,7 +183913,7 @@ }, "clientId": { "type": "string", - "description": "The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ).", + "description": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.", "replaceOnChanges": true }, "compromisedCredentialsRiskConfiguration": { @@ -183168,7 +183942,7 @@ }, "clientId": { "type": "string", - "description": "The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` )." + "description": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings." }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", @@ -183193,7 +183967,7 @@ "properties": { "clientId": { "type": "string", - "description": "The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ).", + "description": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..", "replaceOnChanges": true }, "css": { @@ -183214,7 +183988,7 @@ "inputProperties": { "clientId": { "type": "string", - "description": "The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` )." + "description": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.." }, "css": { "type": "string", @@ -183264,7 +184038,7 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeType" }, - "description": "An array of name-value pairs that contain user attributes and attribute values.", + "description": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter.", "replaceOnChanges": true }, "userPoolId": { @@ -183318,7 +184092,7 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeType" }, - "description": "An array of name-value pairs that contain user attributes and attribute values." + "description": "An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message).\n\nFor custom attributes, you must prepend the `custom:` prefix to the attribute name.\n\nTo send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.\n\nIn your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) .\n\n- *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `\"EMAIL\"` is specified in the `DesiredDeliveryMediums` parameter.\n- *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `\"SMS\"` is specified in the `DesiredDeliveryMediums` parameter." }, "userPoolId": { "type": "string", @@ -183355,6 +184129,7 @@ }, "username": { "type": "string", + "description": "The user's username.", "replaceOnChanges": true } }, @@ -183374,7 +184149,8 @@ "description": "The user pool ID for the user pool." }, "username": { - "type": "string" + "type": "string", + "description": "The user's username." } }, "requiredInputs": [ @@ -200779,6 +201555,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" }, + "description": "The capacity provider strategy that are associated with the task set.", "replaceOnChanges": true }, "cluster": { @@ -200856,7 +201633,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" - } + }, + "description": "The capacity provider strategy that are associated with the task set." }, "cluster": { "type": "string", @@ -207352,6 +208130,25 @@ "description": "Specifies whether the container group includes replica or daemon containers.", "replaceOnChanges": true }, + "sourceVersionNumber": { + "type": "integer", + "description": "A specific ContainerGroupDefinition version to be updated" + }, + "status": { + "$ref": "#/types/aws-native:gamelift:ContainerGroupDefinitionStatus", + "description": "A string indicating ContainerGroupDefinition status." + }, + "statusReason": { + "type": "string", + "description": "A string indicating the reason for ContainerGroupDefinition status." + }, + "supportContainerDefinitions": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A collection of support container definitions that define the containers in this group." + }, "tags": { "type": "array", "items": { @@ -207377,6 +208174,8 @@ "creationTime", "name", "operatingSystem", + "status", + "statusReason", "totalCpuLimit", "totalMemoryLimit" ], @@ -207400,6 +208199,17 @@ "$ref": "#/types/aws-native:gamelift:ContainerGroupDefinitionSchedulingStrategy", "description": "Specifies whether the container group includes replica or daemon containers." }, + "sourceVersionNumber": { + "type": "integer", + "description": "A specific ContainerGroupDefinition version to be updated" + }, + "supportContainerDefinitions": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A collection of support container definitions that define the containers in this group." + }, "tags": { "type": "array", "items": { @@ -209121,8 +209931,7 @@ "compatibility", "dataFormat", "initialSchemaVersionId", - "name", - "schemaDefinition" + "name" ], "inputProperties": { "checkpointVersion": { @@ -209163,8 +209972,7 @@ }, "requiredInputs": [ "compatibility", - "dataFormat", - "schemaDefinition" + "dataFormat" ] }, "aws-native:glue:SchemaVersion": { @@ -220437,7 +221245,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "A list of tags to add to the event source mapping.\n\n\u003e You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." }, "topics": { "type": "array", @@ -220560,7 +221368,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "A list of tags to add to the event source mapping.\n\n\u003e You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." }, "topics": { "type": "array", @@ -221164,10 +221972,6 @@ "description": "The name of the Lambda function.", "replaceOnChanges": true }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property." - }, "provisionedConcurrencyConfig": { "$ref": "#/types/aws-native:lambda:VersionProvisionedConcurrencyConfiguration", "description": "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property.", @@ -221207,10 +222011,6 @@ "type": "string", "description": "The name of the Lambda function." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property." - }, "provisionedConcurrencyConfig": { "$ref": "#/types/aws-native:lambda:VersionProvisionedConcurrencyConfiguration", "description": "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property." @@ -234045,7 +234845,7 @@ }, "type": { "$ref": "#/types/aws-native:organizations:PolicyType", - "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY", + "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY", "replaceOnChanges": true } }, @@ -234087,7 +234887,7 @@ }, "type": { "$ref": "#/types/aws-native:organizations:PolicyType", - "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY" + "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY" } }, "requiredInputs": [ @@ -235931,7 +236731,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "createdAt": { "type": "string", @@ -236014,7 +236814,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "description": { "type": "string", @@ -236453,6 +237253,12 @@ ], "description": "Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience." }, + "origins": { + "type": "array", + "items": { + "type": "string" + } + }, "roleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the service role attached to your web experience.\n\n\u003e You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value." @@ -236523,6 +237329,12 @@ ], "description": "Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience." }, + "origins": { + "type": "array", + "items": { + "type": "string" + } + }, "roleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the service role attached to your web experience.\n\n\u003e You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value." @@ -236692,6 +237504,12 @@ }, "description": "\u003cp\u003eErrors associated with the analysis.\u003c/p\u003e" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "lastUpdatedTime": { "type": "string", "description": "\u003cp\u003eThe time that the analysis was last updated.\u003c/p\u003e" @@ -236771,6 +237589,12 @@ }, "description": "\u003cp\u003eErrors associated with the analysis.\u003c/p\u003e" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "name": { "type": "string", "description": "\u003cp\u003eThe descriptive name of the analysis.\u003c/p\u003e" @@ -236850,6 +237674,12 @@ "definition": { "$ref": "#/types/aws-native:quicksight:DashboardVersionDefinition" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "lastPublishedTime": { "type": "string", "description": "\u003cp\u003eThe last time that this dashboard was published.\u003c/p\u003e" @@ -236938,6 +237768,12 @@ "definition": { "$ref": "#/types/aws-native:quicksight:DashboardVersionDefinition" }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "linkEntities": { "type": "array", "items": { @@ -237271,6 +238107,12 @@ "$ref": "#/types/aws-native:quicksight:DataSourceErrorInfo", "description": "Error information from the last update or the creation of the data source." }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "lastUpdatedTime": { "type": "string", "description": "\u003cp\u003eThe last time that this data source was updated.\u003c/p\u003e" @@ -237348,6 +238190,12 @@ "$ref": "#/types/aws-native:quicksight:DataSourceErrorInfo", "description": "Error information from the last update or the creation of the data source." }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, "name": { "type": "string", "description": "A display name for the data source." @@ -237392,6 +238240,7 @@ }, "awsAccountId": { "type": "string", + "description": "The ID for the AWS account where you want to create the folder.", "replaceOnChanges": true }, "createdTime": { @@ -237418,14 +238267,15 @@ }, "parentFolderArn": { "type": "string", - "description": "A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved.", + "description": "The Amazon Resource Name (ARN) for the folder.", "replaceOnChanges": true }, "permissions": { "type": "array", "items": { "$ref": "#/types/aws-native:quicksight:FolderResourcePermission" - } + }, + "description": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` ." }, "sharingModel": { "$ref": "#/types/aws-native:quicksight:FolderSharingModel", @@ -237448,7 +238298,8 @@ ], "inputProperties": { "awsAccountId": { - "type": "string" + "type": "string", + "description": "The ID for the AWS account where you want to create the folder." }, "folderId": { "type": "string", @@ -237464,13 +238315,14 @@ }, "parentFolderArn": { "type": "string", - "description": "A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved." + "description": "The Amazon Resource Name (ARN) for the folder." }, "permissions": { "type": "array", "items": { "$ref": "#/types/aws-native:quicksight:FolderResourcePermission" - } + }, + "description": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` ." }, "sharingModel": { "$ref": "#/types/aws-native:quicksight:FolderSharingModel", @@ -238891,7 +239743,7 @@ }, "dbSnapshotIdentifier": { "type": "string", - "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." + "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." }, "dbSubnetGroupName": { "type": "string", @@ -239246,7 +240098,7 @@ }, "dbSnapshotIdentifier": { "type": "string", - "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." + "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." }, "dbSubnetGroupName": { "type": "string", @@ -247107,7 +247959,7 @@ }, "version": { "type": "integer", - "description": "The version number." + "description": "The version of the image." } }, "type": "object", @@ -252255,7 +253107,7 @@ ] }, "aws-native:sqs:Queue": { - "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var alarmEmail = config.Get(\"alarmEmail\") ?? \"jane.doe@example.com\";\n var myQueue = new AwsNative.Sqs.Queue(\"myQueue\", new()\n {\n QueueName = \"SampleQueue\",\n });\n\n var alarmTopic = new AwsNative.Sns.Topic(\"alarmTopic\", new()\n {\n Subscription = new[]\n {\n new AwsNative.Sns.Inputs.TopicSubscriptionArgs\n {\n Endpoint = alarmEmail,\n Protocol = \"email\",\n },\n },\n });\n\n var queueDepthAlarm = new AwsNative.CloudWatch.Alarm(\"queueDepthAlarm\", new()\n {\n AlarmDescription = \"Alarm if queue depth increases to more than 10 messages\",\n Namespace = \"AWS/SQS\",\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Dimensions = new[]\n {\n new AwsNative.CloudWatch.Inputs.AlarmDimensionArgs\n {\n Name = \"QueueName\",\n Value = myQueue.QueueName,\n },\n },\n Statistic = \"Sum\",\n Period = 300,\n EvaluationPeriods = 1,\n Threshold = 10,\n ComparisonOperator = \"GreaterThanThreshold\",\n AlarmActions = new[]\n {\n alarmTopic.Id,\n },\n InsufficientDataActions = new[]\n {\n alarmTopic.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"queueURL\"] = myQueue.Id,\n [\"queueARN\"] = myQueue.Arn,\n [\"queueName\"] = myQueue.QueueName,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\talarmEmail := \"jane.doe@example.com\"\n\t\tif param := cfg.Get(\"alarmEmail\"); param != \"\" {\n\t\t\talarmEmail = param\n\t\t}\n\t\tmyQueue, err := sqs.NewQueue(ctx, \"myQueue\", \u0026sqs.QueueArgs{\n\t\t\tQueueName: pulumi.String(\"SampleQueue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talarmTopic, err := sns.NewTopic(ctx, \"alarmTopic\", \u0026sns.TopicArgs{\n\t\t\tSubscription: sns.TopicSubscriptionArray{\n\t\t\t\t\u0026sns.TopicSubscriptionArgs{\n\t\t\t\t\tEndpoint: pulumi.String(alarmEmail),\n\t\t\t\t\tProtocol: pulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewAlarm(ctx, \"queueDepthAlarm\", \u0026cloudwatch.AlarmArgs{\n\t\t\tAlarmDescription: pulumi.String(\"Alarm if queue depth increases to more than 10 messages\"),\n\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\tDimensions: cloudwatch.AlarmDimensionArray{\n\t\t\t\t\u0026cloudwatch.AlarmDimensionArgs{\n\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\tValue: myQueue.QueueName,\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatistic: pulumi.String(\"Sum\"),\n\t\t\tPeriod: pulumi.Int(300),\n\t\t\tEvaluationPeriods: pulumi.Int(1),\n\t\t\tThreshold: pulumi.Float64(10),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanThreshold\"),\n\t\t\tAlarmActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t\tInsufficientDataActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"queueURL\", myQueue.ID())\n\t\tctx.Export(\"queueARN\", myQueue.Arn)\n\t\tctx.Export(\"queueName\", myQueue.QueueName)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst config = new pulumi.Config();\nconst alarmEmail = config.get(\"alarmEmail\") || \"jane.doe@example.com\";\nconst myQueue = new aws_native.sqs.Queue(\"myQueue\", {queueName: \"SampleQueue\"});\nconst alarmTopic = new aws_native.sns.Topic(\"alarmTopic\", {subscription: [{\n endpoint: alarmEmail,\n protocol: \"email\",\n}]});\nconst queueDepthAlarm = new aws_native.cloudwatch.Alarm(\"queueDepthAlarm\", {\n alarmDescription: \"Alarm if queue depth increases to more than 10 messages\",\n namespace: \"AWS/SQS\",\n metricName: \"ApproximateNumberOfMessagesVisible\",\n dimensions: [{\n name: \"QueueName\",\n value: myQueue.queueName,\n }],\n statistic: \"Sum\",\n period: 300,\n evaluationPeriods: 1,\n threshold: 10,\n comparisonOperator: \"GreaterThanThreshold\",\n alarmActions: [alarmTopic.id],\n insufficientDataActions: [alarmTopic.id],\n});\nexport const queueURL = myQueue.id;\nexport const queueARN = myQueue.arn;\nexport const queueName = myQueue.queueName;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\nalarm_email = config.get(\"alarmEmail\")\nif alarm_email is None:\n alarm_email = \"jane.doe@example.com\"\nmy_queue = aws_native.sqs.Queue(\"myQueue\", queue_name=\"SampleQueue\")\nalarm_topic = aws_native.sns.Topic(\"alarmTopic\", subscription=[{\n \"endpoint\": alarm_email,\n \"protocol\": \"email\",\n}])\nqueue_depth_alarm = aws_native.cloudwatch.Alarm(\"queueDepthAlarm\",\n alarm_description=\"Alarm if queue depth increases to more than 10 messages\",\n namespace=\"AWS/SQS\",\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n dimensions=[{\n \"name\": \"QueueName\",\n \"value\": my_queue.queue_name,\n }],\n statistic=\"Sum\",\n period=300,\n evaluation_periods=1,\n threshold=10,\n comparison_operator=\"GreaterThanThreshold\",\n alarm_actions=[alarm_topic.id],\n insufficient_data_actions=[alarm_topic.id])\npulumi.export(\"queueURL\", my_queue.id)\npulumi.export(\"queueARN\", my_queue.arn)\npulumi.export(\"queueName\", my_queue.queue_name)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var alarmEmail = config.Get(\"alarmEmail\") ?? \"jane.doe@example.com\";\n var myQueue = new AwsNative.Sqs.Queue(\"myQueue\", new()\n {\n QueueName = \"SampleQueue\",\n });\n\n var alarmTopic = new AwsNative.Sns.Topic(\"alarmTopic\", new()\n {\n Subscription = new[]\n {\n new AwsNative.Sns.Inputs.TopicSubscriptionArgs\n {\n Endpoint = alarmEmail,\n Protocol = \"email\",\n },\n },\n });\n\n var queueDepthAlarm = new AwsNative.CloudWatch.Alarm(\"queueDepthAlarm\", new()\n {\n AlarmDescription = \"Alarm if queue depth increases to more than 10 messages\",\n Namespace = \"AWS/SQS\",\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Dimensions = new[]\n {\n new AwsNative.CloudWatch.Inputs.AlarmDimensionArgs\n {\n Name = \"QueueName\",\n Value = myQueue.QueueName,\n },\n },\n Statistic = \"Sum\",\n Period = 300,\n EvaluationPeriods = 1,\n Threshold = 10,\n ComparisonOperator = \"GreaterThanThreshold\",\n AlarmActions = new[]\n {\n alarmTopic.Id,\n },\n InsufficientDataActions = new[]\n {\n alarmTopic.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"queueURL\"] = myQueue.Id,\n [\"queueARN\"] = myQueue.Arn,\n [\"queueName\"] = myQueue.QueueName,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\talarmEmail := \"jane.doe@example.com\"\n\t\tif param := cfg.Get(\"alarmEmail\"); param != \"\" {\n\t\t\talarmEmail = param\n\t\t}\n\t\tmyQueue, err := sqs.NewQueue(ctx, \"myQueue\", \u0026sqs.QueueArgs{\n\t\t\tQueueName: pulumi.String(\"SampleQueue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talarmTopic, err := sns.NewTopic(ctx, \"alarmTopic\", \u0026sns.TopicArgs{\n\t\t\tSubscription: sns.TopicSubscriptionArray{\n\t\t\t\t\u0026sns.TopicSubscriptionArgs{\n\t\t\t\t\tEndpoint: pulumi.String(alarmEmail),\n\t\t\t\t\tProtocol: pulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewAlarm(ctx, \"queueDepthAlarm\", \u0026cloudwatch.AlarmArgs{\n\t\t\tAlarmDescription: pulumi.String(\"Alarm if queue depth increases to more than 10 messages\"),\n\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\tDimensions: cloudwatch.AlarmDimensionArray{\n\t\t\t\t\u0026cloudwatch.AlarmDimensionArgs{\n\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\tValue: myQueue.QueueName,\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatistic: pulumi.String(\"Sum\"),\n\t\t\tPeriod: pulumi.Int(300),\n\t\t\tEvaluationPeriods: pulumi.Int(1),\n\t\t\tThreshold: pulumi.Float64(10),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanThreshold\"),\n\t\t\tAlarmActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t\tInsufficientDataActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"queueURL\", myQueue.ID())\n\t\tctx.Export(\"queueARN\", myQueue.Arn)\n\t\tctx.Export(\"queueName\", myQueue.QueueName)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst config = new pulumi.Config();\nconst alarmEmail = config.get(\"alarmEmail\") || \"jane.doe@example.com\";\nconst myQueue = new aws_native.sqs.Queue(\"myQueue\", {queueName: \"SampleQueue\"});\nconst alarmTopic = new aws_native.sns.Topic(\"alarmTopic\", {subscription: [{\n endpoint: alarmEmail,\n protocol: \"email\",\n}]});\nconst queueDepthAlarm = new aws_native.cloudwatch.Alarm(\"queueDepthAlarm\", {\n alarmDescription: \"Alarm if queue depth increases to more than 10 messages\",\n namespace: \"AWS/SQS\",\n metricName: \"ApproximateNumberOfMessagesVisible\",\n dimensions: [{\n name: \"QueueName\",\n value: myQueue.queueName,\n }],\n statistic: \"Sum\",\n period: 300,\n evaluationPeriods: 1,\n threshold: 10,\n comparisonOperator: \"GreaterThanThreshold\",\n alarmActions: [alarmTopic.id],\n insufficientDataActions: [alarmTopic.id],\n});\nexport const queueURL = myQueue.id;\nexport const queueARN = myQueue.arn;\nexport const queueName = myQueue.queueName;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\nalarm_email = config.get(\"alarmEmail\")\nif alarm_email is None:\n alarm_email = \"jane.doe@example.com\"\nmy_queue = aws_native.sqs.Queue(\"myQueue\", queue_name=\"SampleQueue\")\nalarm_topic = aws_native.sns.Topic(\"alarmTopic\", subscription=[{\n \"endpoint\": alarm_email,\n \"protocol\": \"email\",\n}])\nqueue_depth_alarm = aws_native.cloudwatch.Alarm(\"queueDepthAlarm\",\n alarm_description=\"Alarm if queue depth increases to more than 10 messages\",\n namespace=\"AWS/SQS\",\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n dimensions=[{\n \"name\": \"QueueName\",\n \"value\": my_queue.queue_name,\n }],\n statistic=\"Sum\",\n period=300,\n evaluation_periods=1,\n threshold=10,\n comparison_operator=\"GreaterThanThreshold\",\n alarm_actions=[alarm_topic.id],\n insufficient_data_actions=[alarm_topic.id])\npulumi.export(\"queueURL\", my_queue.id)\npulumi.export(\"queueARN\", my_queue.arn)\npulumi.export(\"queueName\", my_queue.queue_name)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDeadLetterQueue = new AwsNative.Sqs.Queue(\"myDeadLetterQueue\");\n\n var mySourceQueue = new AwsNative.Sqs.Queue(\"mySourceQueue\", new()\n {\n RedrivePolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = myDeadLetterQueue.Arn,\n [\"maxReceiveCount\"] = 5,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceQueueURL\"] = mySourceQueue.Id,\n [\"sourceQueueARN\"] = mySourceQueue.Arn,\n [\"deadLetterQueueURL\"] = myDeadLetterQueue.Id,\n [\"deadLetterQueueARN\"] = myDeadLetterQueue.Arn,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDeadLetterQueue, err := sqs.NewQueue(ctx, \"myDeadLetterQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySourceQueue, err := sqs.NewQueue(ctx, \"mySourceQueue\", \u0026sqs.QueueArgs{\n\t\t\tRedrivePolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"deadLetterTargetArn\": myDeadLetterQueue.Arn,\n\t\t\t\t\"maxReceiveCount\": 5,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"sourceQueueURL\", mySourceQueue.ID())\n\t\tctx.Export(\"sourceQueueARN\", mySourceQueue.Arn)\n\t\tctx.Export(\"deadLetterQueueURL\", myDeadLetterQueue.ID())\n\t\tctx.Export(\"deadLetterQueueARN\", myDeadLetterQueue.Arn)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDeadLetterQueue = new aws_native.sqs.Queue(\"myDeadLetterQueue\", {});\nconst mySourceQueue = new aws_native.sqs.Queue(\"mySourceQueue\", {redrivePolicy: {\n deadLetterTargetArn: myDeadLetterQueue.arn,\n maxReceiveCount: 5,\n}});\nexport const sourceQueueURL = mySourceQueue.id;\nexport const sourceQueueARN = mySourceQueue.arn;\nexport const deadLetterQueueURL = myDeadLetterQueue.id;\nexport const deadLetterQueueARN = myDeadLetterQueue.arn;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dead_letter_queue = aws_native.sqs.Queue(\"myDeadLetterQueue\")\nmy_source_queue = aws_native.sqs.Queue(\"mySourceQueue\", redrive_policy={\n \"deadLetterTargetArn\": my_dead_letter_queue.arn,\n \"maxReceiveCount\": 5,\n})\npulumi.export(\"sourceQueueURL\", my_source_queue.id)\npulumi.export(\"sourceQueueARN\", my_source_queue.arn)\npulumi.export(\"deadLetterQueueURL\", my_dead_letter_queue.id)\npulumi.export(\"deadLetterQueueARN\", my_dead_letter_queue.arn)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDeadLetterQueue = new AwsNative.Sqs.Queue(\"myDeadLetterQueue\");\n\n var mySourceQueue = new AwsNative.Sqs.Queue(\"mySourceQueue\", new()\n {\n RedrivePolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = myDeadLetterQueue.Arn,\n [\"maxReceiveCount\"] = 5,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceQueueURL\"] = mySourceQueue.Id,\n [\"sourceQueueARN\"] = mySourceQueue.Arn,\n [\"deadLetterQueueURL\"] = myDeadLetterQueue.Id,\n [\"deadLetterQueueARN\"] = myDeadLetterQueue.Arn,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDeadLetterQueue, err := sqs.NewQueue(ctx, \"myDeadLetterQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySourceQueue, err := sqs.NewQueue(ctx, \"mySourceQueue\", \u0026sqs.QueueArgs{\n\t\t\tRedrivePolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"deadLetterTargetArn\": myDeadLetterQueue.Arn,\n\t\t\t\t\"maxReceiveCount\": 5,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"sourceQueueURL\", mySourceQueue.ID())\n\t\tctx.Export(\"sourceQueueARN\", mySourceQueue.Arn)\n\t\tctx.Export(\"deadLetterQueueURL\", myDeadLetterQueue.ID())\n\t\tctx.Export(\"deadLetterQueueARN\", myDeadLetterQueue.Arn)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDeadLetterQueue = new aws_native.sqs.Queue(\"myDeadLetterQueue\", {});\nconst mySourceQueue = new aws_native.sqs.Queue(\"mySourceQueue\", {redrivePolicy: {\n deadLetterTargetArn: myDeadLetterQueue.arn,\n maxReceiveCount: 5,\n}});\nexport const sourceQueueURL = mySourceQueue.id;\nexport const sourceQueueARN = mySourceQueue.arn;\nexport const deadLetterQueueURL = myDeadLetterQueue.id;\nexport const deadLetterQueueARN = myDeadLetterQueue.arn;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dead_letter_queue = aws_native.sqs.Queue(\"myDeadLetterQueue\")\nmy_source_queue = aws_native.sqs.Queue(\"mySourceQueue\", redrive_policy={\n \"deadLetterTargetArn\": my_dead_letter_queue.arn,\n \"maxReceiveCount\": 5,\n})\npulumi.export(\"sourceQueueURL\", my_source_queue.id)\npulumi.export(\"sourceQueueARN\", my_source_queue.arn)\npulumi.export(\"deadLetterQueueURL\", my_dead_letter_queue.id)\npulumi.export(\"deadLetterQueueARN\", my_dead_letter_queue.arn)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var alarmEmail = config.Get(\"alarmEmail\") ?? \"jane.doe@example.com\";\n var myQueue = new AwsNative.Sqs.Queue(\"myQueue\", new()\n {\n QueueName = \"SampleQueue\",\n });\n\n var alarmTopic = new AwsNative.Sns.Topic(\"alarmTopic\", new()\n {\n Subscription = new[]\n {\n new AwsNative.Sns.Inputs.TopicSubscriptionArgs\n {\n Endpoint = alarmEmail,\n Protocol = \"email\",\n },\n },\n });\n\n var queueDepthAlarm = new AwsNative.CloudWatch.Alarm(\"queueDepthAlarm\", new()\n {\n AlarmDescription = \"Alarm if queue depth increases to more than 10 messages\",\n Namespace = \"AWS/SQS\",\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Dimensions = new[]\n {\n new AwsNative.CloudWatch.Inputs.AlarmDimensionArgs\n {\n Name = \"QueueName\",\n Value = myQueue.QueueName,\n },\n },\n Statistic = \"Sum\",\n Period = 300,\n EvaluationPeriods = 1,\n Threshold = 10,\n ComparisonOperator = \"GreaterThanThreshold\",\n AlarmActions = new[]\n {\n alarmTopic.Id,\n },\n InsufficientDataActions = new[]\n {\n alarmTopic.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"queueURL\"] = myQueue.Id,\n [\"queueARN\"] = myQueue.Arn,\n [\"queueName\"] = myQueue.QueueName,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\talarmEmail := \"jane.doe@example.com\"\n\t\tif param := cfg.Get(\"alarmEmail\"); param != \"\" {\n\t\t\talarmEmail = param\n\t\t}\n\t\tmyQueue, err := sqs.NewQueue(ctx, \"myQueue\", \u0026sqs.QueueArgs{\n\t\t\tQueueName: pulumi.String(\"SampleQueue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talarmTopic, err := sns.NewTopic(ctx, \"alarmTopic\", \u0026sns.TopicArgs{\n\t\t\tSubscription: sns.TopicSubscriptionArray{\n\t\t\t\t\u0026sns.TopicSubscriptionArgs{\n\t\t\t\t\tEndpoint: pulumi.String(alarmEmail),\n\t\t\t\t\tProtocol: pulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewAlarm(ctx, \"queueDepthAlarm\", \u0026cloudwatch.AlarmArgs{\n\t\t\tAlarmDescription: pulumi.String(\"Alarm if queue depth increases to more than 10 messages\"),\n\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\tDimensions: cloudwatch.AlarmDimensionArray{\n\t\t\t\t\u0026cloudwatch.AlarmDimensionArgs{\n\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\tValue: myQueue.QueueName,\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatistic: pulumi.String(\"Sum\"),\n\t\t\tPeriod: pulumi.Int(300),\n\t\t\tEvaluationPeriods: pulumi.Int(1),\n\t\t\tThreshold: pulumi.Float64(10),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanThreshold\"),\n\t\t\tAlarmActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t\tInsufficientDataActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"queueURL\", myQueue.ID())\n\t\tctx.Export(\"queueARN\", myQueue.Arn)\n\t\tctx.Export(\"queueName\", myQueue.QueueName)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst config = new pulumi.Config();\nconst alarmEmail = config.get(\"alarmEmail\") || \"jane.doe@example.com\";\nconst myQueue = new aws_native.sqs.Queue(\"myQueue\", {queueName: \"SampleQueue\"});\nconst alarmTopic = new aws_native.sns.Topic(\"alarmTopic\", {subscription: [{\n endpoint: alarmEmail,\n protocol: \"email\",\n}]});\nconst queueDepthAlarm = new aws_native.cloudwatch.Alarm(\"queueDepthAlarm\", {\n alarmDescription: \"Alarm if queue depth increases to more than 10 messages\",\n namespace: \"AWS/SQS\",\n metricName: \"ApproximateNumberOfMessagesVisible\",\n dimensions: [{\n name: \"QueueName\",\n value: myQueue.queueName,\n }],\n statistic: \"Sum\",\n period: 300,\n evaluationPeriods: 1,\n threshold: 10,\n comparisonOperator: \"GreaterThanThreshold\",\n alarmActions: [alarmTopic.id],\n insufficientDataActions: [alarmTopic.id],\n});\nexport const queueURL = myQueue.id;\nexport const queueARN = myQueue.arn;\nexport const queueName = myQueue.queueName;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\nalarm_email = config.get(\"alarmEmail\")\nif alarm_email is None:\n alarm_email = \"jane.doe@example.com\"\nmy_queue = aws_native.sqs.Queue(\"myQueue\", queue_name=\"SampleQueue\")\nalarm_topic = aws_native.sns.Topic(\"alarmTopic\", subscription=[{\n \"endpoint\": alarm_email,\n \"protocol\": \"email\",\n}])\nqueue_depth_alarm = aws_native.cloudwatch.Alarm(\"queueDepthAlarm\",\n alarm_description=\"Alarm if queue depth increases to more than 10 messages\",\n namespace=\"AWS/SQS\",\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n dimensions=[{\n \"name\": \"QueueName\",\n \"value\": my_queue.queue_name,\n }],\n statistic=\"Sum\",\n period=300,\n evaluation_periods=1,\n threshold=10,\n comparison_operator=\"GreaterThanThreshold\",\n alarm_actions=[alarm_topic.id],\n insufficient_data_actions=[alarm_topic.id])\npulumi.export(\"queueURL\", my_queue.id)\npulumi.export(\"queueARN\", my_queue.arn)\npulumi.export(\"queueName\", my_queue.queue_name)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var alarmEmail = config.Get(\"alarmEmail\") ?? \"jane.doe@example.com\";\n var myQueue = new AwsNative.Sqs.Queue(\"myQueue\", new()\n {\n QueueName = \"SampleQueue\",\n });\n\n var alarmTopic = new AwsNative.Sns.Topic(\"alarmTopic\", new()\n {\n Subscription = new[]\n {\n new AwsNative.Sns.Inputs.TopicSubscriptionArgs\n {\n Endpoint = alarmEmail,\n Protocol = \"email\",\n },\n },\n });\n\n var queueDepthAlarm = new AwsNative.CloudWatch.Alarm(\"queueDepthAlarm\", new()\n {\n AlarmDescription = \"Alarm if queue depth increases to more than 10 messages\",\n Namespace = \"AWS/SQS\",\n MetricName = \"ApproximateNumberOfMessagesVisible\",\n Dimensions = new[]\n {\n new AwsNative.CloudWatch.Inputs.AlarmDimensionArgs\n {\n Name = \"QueueName\",\n Value = myQueue.QueueName,\n },\n },\n Statistic = \"Sum\",\n Period = 300,\n EvaluationPeriods = 1,\n Threshold = 10,\n ComparisonOperator = \"GreaterThanThreshold\",\n AlarmActions = new[]\n {\n alarmTopic.Id,\n },\n InsufficientDataActions = new[]\n {\n alarmTopic.Id,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"queueURL\"] = myQueue.Id,\n [\"queueARN\"] = myQueue.Arn,\n [\"queueName\"] = myQueue.QueueName,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\talarmEmail := \"jane.doe@example.com\"\n\t\tif param := cfg.Get(\"alarmEmail\"); param != \"\" {\n\t\t\talarmEmail = param\n\t\t}\n\t\tmyQueue, err := sqs.NewQueue(ctx, \"myQueue\", \u0026sqs.QueueArgs{\n\t\t\tQueueName: pulumi.String(\"SampleQueue\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\talarmTopic, err := sns.NewTopic(ctx, \"alarmTopic\", \u0026sns.TopicArgs{\n\t\t\tSubscription: sns.TopicSubscriptionArray{\n\t\t\t\t\u0026sns.TopicSubscriptionArgs{\n\t\t\t\t\tEndpoint: pulumi.String(alarmEmail),\n\t\t\t\t\tProtocol: pulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewAlarm(ctx, \"queueDepthAlarm\", \u0026cloudwatch.AlarmArgs{\n\t\t\tAlarmDescription: pulumi.String(\"Alarm if queue depth increases to more than 10 messages\"),\n\t\t\tNamespace: pulumi.String(\"AWS/SQS\"),\n\t\t\tMetricName: pulumi.String(\"ApproximateNumberOfMessagesVisible\"),\n\t\t\tDimensions: cloudwatch.AlarmDimensionArray{\n\t\t\t\t\u0026cloudwatch.AlarmDimensionArgs{\n\t\t\t\t\tName: pulumi.String(\"QueueName\"),\n\t\t\t\t\tValue: myQueue.QueueName,\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatistic: pulumi.String(\"Sum\"),\n\t\t\tPeriod: pulumi.Int(300),\n\t\t\tEvaluationPeriods: pulumi.Int(1),\n\t\t\tThreshold: pulumi.Float64(10),\n\t\t\tComparisonOperator: pulumi.String(\"GreaterThanThreshold\"),\n\t\t\tAlarmActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t\tInsufficientDataActions: pulumi.StringArray{\n\t\t\t\talarmTopic.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"queueURL\", myQueue.ID())\n\t\tctx.Export(\"queueARN\", myQueue.Arn)\n\t\tctx.Export(\"queueName\", myQueue.QueueName)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst config = new pulumi.Config();\nconst alarmEmail = config.get(\"alarmEmail\") || \"jane.doe@example.com\";\nconst myQueue = new aws_native.sqs.Queue(\"myQueue\", {queueName: \"SampleQueue\"});\nconst alarmTopic = new aws_native.sns.Topic(\"alarmTopic\", {subscription: [{\n endpoint: alarmEmail,\n protocol: \"email\",\n}]});\nconst queueDepthAlarm = new aws_native.cloudwatch.Alarm(\"queueDepthAlarm\", {\n alarmDescription: \"Alarm if queue depth increases to more than 10 messages\",\n namespace: \"AWS/SQS\",\n metricName: \"ApproximateNumberOfMessagesVisible\",\n dimensions: [{\n name: \"QueueName\",\n value: myQueue.queueName,\n }],\n statistic: \"Sum\",\n period: 300,\n evaluationPeriods: 1,\n threshold: 10,\n comparisonOperator: \"GreaterThanThreshold\",\n alarmActions: [alarmTopic.id],\n insufficientDataActions: [alarmTopic.id],\n});\nexport const queueURL = myQueue.id;\nexport const queueARN = myQueue.arn;\nexport const queueName = myQueue.queueName;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nconfig = pulumi.Config()\nalarm_email = config.get(\"alarmEmail\")\nif alarm_email is None:\n alarm_email = \"jane.doe@example.com\"\nmy_queue = aws_native.sqs.Queue(\"myQueue\", queue_name=\"SampleQueue\")\nalarm_topic = aws_native.sns.Topic(\"alarmTopic\", subscription=[{\n \"endpoint\": alarm_email,\n \"protocol\": \"email\",\n}])\nqueue_depth_alarm = aws_native.cloudwatch.Alarm(\"queueDepthAlarm\",\n alarm_description=\"Alarm if queue depth increases to more than 10 messages\",\n namespace=\"AWS/SQS\",\n metric_name=\"ApproximateNumberOfMessagesVisible\",\n dimensions=[{\n \"name\": \"QueueName\",\n \"value\": my_queue.queue_name,\n }],\n statistic=\"Sum\",\n period=300,\n evaluation_periods=1,\n threshold=10,\n comparison_operator=\"GreaterThanThreshold\",\n alarm_actions=[alarm_topic.id],\n insufficient_data_actions=[alarm_topic.id])\npulumi.export(\"queueURL\", my_queue.id)\npulumi.export(\"queueARN\", my_queue.arn)\npulumi.export(\"queueName\", my_queue.queue_name)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDeadLetterQueue = new AwsNative.Sqs.Queue(\"myDeadLetterQueue\");\n\n var mySourceQueue = new AwsNative.Sqs.Queue(\"mySourceQueue\", new()\n {\n RedrivePolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = myDeadLetterQueue.Arn,\n [\"maxReceiveCount\"] = 5,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceQueueURL\"] = mySourceQueue.Id,\n [\"sourceQueueARN\"] = mySourceQueue.Arn,\n [\"deadLetterQueueURL\"] = myDeadLetterQueue.Id,\n [\"deadLetterQueueARN\"] = myDeadLetterQueue.Arn,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDeadLetterQueue, err := sqs.NewQueue(ctx, \"myDeadLetterQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySourceQueue, err := sqs.NewQueue(ctx, \"mySourceQueue\", \u0026sqs.QueueArgs{\n\t\t\tRedrivePolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"deadLetterTargetArn\": myDeadLetterQueue.Arn,\n\t\t\t\t\"maxReceiveCount\": 5,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"sourceQueueURL\", mySourceQueue.ID())\n\t\tctx.Export(\"sourceQueueARN\", mySourceQueue.Arn)\n\t\tctx.Export(\"deadLetterQueueURL\", myDeadLetterQueue.ID())\n\t\tctx.Export(\"deadLetterQueueARN\", myDeadLetterQueue.Arn)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDeadLetterQueue = new aws_native.sqs.Queue(\"myDeadLetterQueue\", {});\nconst mySourceQueue = new aws_native.sqs.Queue(\"mySourceQueue\", {redrivePolicy: {\n deadLetterTargetArn: myDeadLetterQueue.arn,\n maxReceiveCount: 5,\n}});\nexport const sourceQueueURL = mySourceQueue.id;\nexport const sourceQueueARN = mySourceQueue.arn;\nexport const deadLetterQueueURL = myDeadLetterQueue.id;\nexport const deadLetterQueueARN = myDeadLetterQueue.arn;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dead_letter_queue = aws_native.sqs.Queue(\"myDeadLetterQueue\")\nmy_source_queue = aws_native.sqs.Queue(\"mySourceQueue\", redrive_policy={\n \"deadLetterTargetArn\": my_dead_letter_queue.arn,\n \"maxReceiveCount\": 5,\n})\npulumi.export(\"sourceQueueURL\", my_source_queue.id)\npulumi.export(\"sourceQueueARN\", my_source_queue.arn)\npulumi.export(\"deadLetterQueueURL\", my_dead_letter_queue.id)\npulumi.export(\"deadLetterQueueARN\", my_dead_letter_queue.arn)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDeadLetterQueue = new AwsNative.Sqs.Queue(\"myDeadLetterQueue\");\n\n var mySourceQueue = new AwsNative.Sqs.Queue(\"mySourceQueue\", new()\n {\n RedrivePolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"deadLetterTargetArn\"] = myDeadLetterQueue.Arn,\n [\"maxReceiveCount\"] = 5,\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"sourceQueueURL\"] = mySourceQueue.Id,\n [\"sourceQueueARN\"] = mySourceQueue.Arn,\n [\"deadLetterQueueURL\"] = myDeadLetterQueue.Id,\n [\"deadLetterQueueARN\"] = myDeadLetterQueue.Arn,\n };\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDeadLetterQueue, err := sqs.NewQueue(ctx, \"myDeadLetterQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySourceQueue, err := sqs.NewQueue(ctx, \"mySourceQueue\", \u0026sqs.QueueArgs{\n\t\t\tRedrivePolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"deadLetterTargetArn\": myDeadLetterQueue.Arn,\n\t\t\t\t\"maxReceiveCount\": 5,\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"sourceQueueURL\", mySourceQueue.ID())\n\t\tctx.Export(\"sourceQueueARN\", mySourceQueue.Arn)\n\t\tctx.Export(\"deadLetterQueueURL\", myDeadLetterQueue.ID())\n\t\tctx.Export(\"deadLetterQueueARN\", myDeadLetterQueue.Arn)\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDeadLetterQueue = new aws_native.sqs.Queue(\"myDeadLetterQueue\", {});\nconst mySourceQueue = new aws_native.sqs.Queue(\"mySourceQueue\", {redrivePolicy: {\n deadLetterTargetArn: myDeadLetterQueue.arn,\n maxReceiveCount: 5,\n}});\nexport const sourceQueueURL = mySourceQueue.id;\nexport const sourceQueueARN = mySourceQueue.arn;\nexport const deadLetterQueueURL = myDeadLetterQueue.id;\nexport const deadLetterQueueARN = myDeadLetterQueue.arn;\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dead_letter_queue = aws_native.sqs.Queue(\"myDeadLetterQueue\")\nmy_source_queue = aws_native.sqs.Queue(\"mySourceQueue\", redrive_policy={\n \"deadLetterTargetArn\": my_dead_letter_queue.arn,\n \"maxReceiveCount\": 5,\n})\npulumi.export(\"sourceQueueURL\", my_source_queue.id)\npulumi.export(\"sourceQueueARN\", my_source_queue.arn)\npulumi.export(\"deadLetterQueueURL\", my_dead_letter_queue.id)\npulumi.export(\"deadLetterQueueARN\", my_dead_letter_queue.arn)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { "arn": { "type": "string", @@ -252275,7 +253127,7 @@ }, "fifoQueue": { "type": "boolean", - "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.", + "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.", "replaceOnChanges": true }, "fifoThroughputLimit": { @@ -252288,7 +253140,7 @@ }, "kmsMasterKeyId": { "type": "string", - "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper" + "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*" }, "maximumMessageSize": { "type": "integer", @@ -252300,7 +253152,7 @@ }, "queueName": { "type": "string", - "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "replaceOnChanges": true }, "queueUrl": { @@ -252313,11 +253165,11 @@ }, "redriveAllowPolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "redrivePolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "sqsManagedSseEnabled": { "type": "boolean", @@ -252355,7 +253207,7 @@ }, "fifoQueue": { "type": "boolean", - "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*." + "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*." }, "fifoThroughputLimit": { "type": "string", @@ -252367,7 +253219,7 @@ }, "kmsMasterKeyId": { "type": "string", - "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper" + "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*" }, "maximumMessageSize": { "type": "integer", @@ -252379,7 +253231,7 @@ }, "queueName": { "type": "string", - "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." + "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name." }, "receiveMessageWaitTimeSeconds": { "type": "integer", @@ -252387,11 +253239,11 @@ }, "redriveAllowPolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "redrivePolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "sqsManagedSseEnabled": { "type": "boolean", @@ -255734,6 +256586,182 @@ "profileType" ] }, + "aws-native:transfer:Server": { + "description": "Definition of AWS::Transfer::Server Resource Type\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myTransferServer = new AwsNative.Transfer.Server(\"myTransferServer\", new()\n {\n EndpointDetails = new AwsNative.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n \"AddressAllocationId-1\",\n \"AddressAllocationId-2\",\n },\n SubnetIds = new[]\n {\n \"SubnetId-1\",\n \"SubnetId-2\",\n },\n VpcId = \"VpcId\",\n },\n EndpointType = AwsNative.Transfer.ServerEndpointType.Vpc,\n LoggingRole = \"Logging-Role-ARN\",\n Protocols = new[]\n {\n AwsNative.Transfer.ServerProtocol.Sftp,\n },\n SecurityPolicyName = \"Security-Policy-Name\",\n IdentityProviderDetails = new AwsNative.Transfer.Inputs.ServerIdentityProviderDetailsArgs\n {\n InvocationRole = \"Invocation-Role-ARN\",\n Url = \"API_GATEWAY-Invocation-URL\",\n },\n IdentityProviderType = AwsNative.Transfer.ServerIdentityProviderType.ApiGateway,\n Tags = new[]\n {\n new AwsNative.Inputs.TagArgs\n {\n Key = \"KeyName\",\n Value = \"ValueName\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tawsnative \"github.com/pulumi/pulumi-aws-native/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"myTransferServer\", \u0026transfer.ServerArgs{\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AddressAllocationId-1\"),\n\t\t\t\t\tpulumi.String(\"AddressAllocationId-2\"),\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SubnetId-1\"),\n\t\t\t\t\tpulumi.String(\"SubnetId-2\"),\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.String(\"VpcId\"),\n\t\t\t},\n\t\t\tEndpointType: transfer.ServerEndpointTypeVpc,\n\t\t\tLoggingRole: pulumi.String(\"Logging-Role-ARN\"),\n\t\t\tProtocols: transfer.ServerProtocolArray{\n\t\t\t\ttransfer.ServerProtocolSftp,\n\t\t\t},\n\t\t\tSecurityPolicyName: pulumi.String(\"Security-Policy-Name\"),\n\t\t\tIdentityProviderDetails: \u0026transfer.ServerIdentityProviderDetailsArgs{\n\t\t\t\tInvocationRole: pulumi.String(\"Invocation-Role-ARN\"),\n\t\t\t\tUrl: pulumi.String(\"API_GATEWAY-Invocation-URL\"),\n\t\t\t},\n\t\t\tIdentityProviderType: transfer.ServerIdentityProviderTypeApiGateway,\n\t\t\tTags: aws.TagArray{\n\t\t\t\t\u0026aws.TagArgs{\n\t\t\t\t\tKey: pulumi.String(\"KeyName\"),\n\t\t\t\t\tValue: pulumi.String(\"ValueName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myTransferServer = new aws_native.transfer.Server(\"myTransferServer\", {\n endpointDetails: {\n addressAllocationIds: [\n \"AddressAllocationId-1\",\n \"AddressAllocationId-2\",\n ],\n subnetIds: [\n \"SubnetId-1\",\n \"SubnetId-2\",\n ],\n vpcId: \"VpcId\",\n },\n endpointType: aws_native.transfer.ServerEndpointType.Vpc,\n loggingRole: \"Logging-Role-ARN\",\n protocols: [aws_native.transfer.ServerProtocol.Sftp],\n securityPolicyName: \"Security-Policy-Name\",\n identityProviderDetails: {\n invocationRole: \"Invocation-Role-ARN\",\n url: \"API_GATEWAY-Invocation-URL\",\n },\n identityProviderType: aws_native.transfer.ServerIdentityProviderType.ApiGateway,\n tags: [{\n key: \"KeyName\",\n value: \"ValueName\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_transfer_server = aws_native.transfer.Server(\"myTransferServer\",\n endpoint_details={\n \"address_allocation_ids\": [\n \"AddressAllocationId-1\",\n \"AddressAllocationId-2\",\n ],\n \"subnet_ids\": [\n \"SubnetId-1\",\n \"SubnetId-2\",\n ],\n \"vpc_id\": \"VpcId\",\n },\n endpoint_type=aws_native.transfer.ServerEndpointType.VPC,\n logging_role=\"Logging-Role-ARN\",\n protocols=[aws_native.transfer.ServerProtocol.SFTP],\n security_policy_name=\"Security-Policy-Name\",\n identity_provider_details={\n \"invocation_role\": \"Invocation-Role-ARN\",\n \"url\": \"API_GATEWAY-Invocation-URL\",\n },\n identity_provider_type=aws_native.transfer.ServerIdentityProviderType.API_GATEWAY,\n tags=[{\n \"key\": \"KeyName\",\n \"value\": \"ValueName\",\n }])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myTransferServer = new AwsNative.Transfer.Server(\"myTransferServer\", new()\n {\n EndpointDetails = new AwsNative.Transfer.Inputs.ServerEndpointDetailsArgs\n {\n AddressAllocationIds = new[]\n {\n \"AddressAllocationId-1\",\n \"AddressAllocationId-2\",\n },\n SubnetIds = new[]\n {\n \"SubnetId-1\",\n \"SubnetId-2\",\n },\n VpcId = \"VpcId\",\n },\n EndpointType = AwsNative.Transfer.ServerEndpointType.Vpc,\n LoggingRole = \"Logging-Role-ARN\",\n Protocols = new[]\n {\n AwsNative.Transfer.ServerProtocol.Sftp,\n },\n SecurityPolicyName = \"Security-Policy-Name\",\n IdentityProviderDetails = new AwsNative.Transfer.Inputs.ServerIdentityProviderDetailsArgs\n {\n InvocationRole = \"Invocation-Role-ARN\",\n Url = \"API_GATEWAY-Invocation-URL\",\n },\n IdentityProviderType = AwsNative.Transfer.ServerIdentityProviderType.ApiGateway,\n Tags = new[]\n {\n new AwsNative.Inputs.TagArgs\n {\n Key = \"KeyName\",\n Value = \"ValueName\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tawsnative \"github.com/pulumi/pulumi-aws-native/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := transfer.NewServer(ctx, \"myTransferServer\", \u0026transfer.ServerArgs{\n\t\t\tEndpointDetails: \u0026transfer.ServerEndpointDetailsArgs{\n\t\t\t\tAddressAllocationIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"AddressAllocationId-1\"),\n\t\t\t\t\tpulumi.String(\"AddressAllocationId-2\"),\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SubnetId-1\"),\n\t\t\t\t\tpulumi.String(\"SubnetId-2\"),\n\t\t\t\t},\n\t\t\t\tVpcId: pulumi.String(\"VpcId\"),\n\t\t\t},\n\t\t\tEndpointType: transfer.ServerEndpointTypeVpc,\n\t\t\tLoggingRole: pulumi.String(\"Logging-Role-ARN\"),\n\t\t\tProtocols: transfer.ServerProtocolArray{\n\t\t\t\ttransfer.ServerProtocolSftp,\n\t\t\t},\n\t\t\tSecurityPolicyName: pulumi.String(\"Security-Policy-Name\"),\n\t\t\tIdentityProviderDetails: \u0026transfer.ServerIdentityProviderDetailsArgs{\n\t\t\t\tInvocationRole: pulumi.String(\"Invocation-Role-ARN\"),\n\t\t\t\tUrl: pulumi.String(\"API_GATEWAY-Invocation-URL\"),\n\t\t\t},\n\t\t\tIdentityProviderType: transfer.ServerIdentityProviderTypeApiGateway,\n\t\t\tTags: aws.TagArray{\n\t\t\t\t\u0026aws.TagArgs{\n\t\t\t\t\tKey: pulumi.String(\"KeyName\"),\n\t\t\t\t\tValue: pulumi.String(\"ValueName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myTransferServer = new aws_native.transfer.Server(\"myTransferServer\", {\n endpointDetails: {\n addressAllocationIds: [\n \"AddressAllocationId-1\",\n \"AddressAllocationId-2\",\n ],\n subnetIds: [\n \"SubnetId-1\",\n \"SubnetId-2\",\n ],\n vpcId: \"VpcId\",\n },\n endpointType: aws_native.transfer.ServerEndpointType.Vpc,\n loggingRole: \"Logging-Role-ARN\",\n protocols: [aws_native.transfer.ServerProtocol.Sftp],\n securityPolicyName: \"Security-Policy-Name\",\n identityProviderDetails: {\n invocationRole: \"Invocation-Role-ARN\",\n url: \"API_GATEWAY-Invocation-URL\",\n },\n identityProviderType: aws_native.transfer.ServerIdentityProviderType.ApiGateway,\n tags: [{\n key: \"KeyName\",\n value: \"ValueName\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_transfer_server = aws_native.transfer.Server(\"myTransferServer\",\n endpoint_details={\n \"address_allocation_ids\": [\n \"AddressAllocationId-1\",\n \"AddressAllocationId-2\",\n ],\n \"subnet_ids\": [\n \"SubnetId-1\",\n \"SubnetId-2\",\n ],\n \"vpc_id\": \"VpcId\",\n },\n endpoint_type=aws_native.transfer.ServerEndpointType.VPC,\n logging_role=\"Logging-Role-ARN\",\n protocols=[aws_native.transfer.ServerProtocol.SFTP],\n security_policy_name=\"Security-Policy-Name\",\n identity_provider_details={\n \"invocation_role\": \"Invocation-Role-ARN\",\n \"url\": \"API_GATEWAY-Invocation-URL\",\n },\n identity_provider_type=aws_native.transfer.ServerIdentityProviderType.API_GATEWAY,\n tags=[{\n \"key\": \"KeyName\",\n \"value\": \"ValueName\",\n }])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transferWorkflow = new AwsNative.Transfer.Workflow(\"transferWorkflow\", new()\n {\n Description = \"Transfer Family Workflows Blog\",\n Steps = new[]\n {\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Copy,\n CopyStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCopyStepDetailsPropertiesArgs\n {\n Name = \"copyToUserKey\",\n DestinationFileLocation = new AwsNative.Transfer.Inputs.WorkflowS3FileLocationArgs\n {\n S3FileLocation = new AwsNative.Transfer.Inputs.WorkflowS3InputFileLocationArgs\n {\n Bucket = \"archived-records\",\n Key = \"${transfer:UserName}/\",\n },\n },\n OverwriteExisting = AwsNative.Transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True,\n },\n },\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Tag,\n TagStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepTagStepDetailsPropertiesArgs\n {\n Name = \"tagFileForArchive\",\n Tags = new[]\n {\n new AwsNative.Transfer.Inputs.WorkflowS3TagArgs\n {\n Key = \"Archive\",\n Value = \"yes\",\n },\n },\n },\n },\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Custom,\n CustomStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCustomStepDetailsPropertiesArgs\n {\n Name = \"transferExtract\",\n Target = \"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\",\n TimeoutSeconds = 60,\n },\n },\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Delete,\n DeleteStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepDeleteStepDetailsPropertiesArgs\n {\n Name = \"DeleteInputFile\",\n SourceFileLocation = \"${original.file}\",\n },\n },\n },\n Tags = new[]\n {\n new AwsNative.Inputs.TagArgs\n {\n Key = \"Name\",\n Value = \"TransferFamilyWorkflows\",\n },\n },\n });\n\n var sftpServer = new AwsNative.Transfer.Server(\"sftpServer\", new()\n {\n WorkflowDetails = new AwsNative.Transfer.Inputs.ServerWorkflowDetailsArgs\n {\n OnUpload = new[]\n {\n new AwsNative.Transfer.Inputs.ServerWorkflowDetailArgs\n {\n ExecutionRole = \"your-workflow-execution-role-arn\",\n WorkflowId = transferWorkflow.WorkflowId,\n },\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tawsnative \"github.com/pulumi/pulumi-aws-native/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttransferWorkflow, err := transfer.NewWorkflow(ctx, \"transferWorkflow\", \u0026transfer.WorkflowArgs{\n\t\t\tDescription: pulumi.String(\"Transfer Family Workflows Blog\"),\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeCopy,\n\t\t\t\t\tCopyStepDetails: \u0026transfer.WorkflowStepCopyStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"copyToUserKey\"),\n\t\t\t\t\t\tDestinationFileLocation: \u0026transfer.WorkflowS3FileLocationArgs{\n\t\t\t\t\t\t\tS3FileLocation: \u0026transfer.WorkflowS3InputFileLocationArgs{\n\t\t\t\t\t\t\t\tBucket: pulumi.String(\"archived-records\"),\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"${transfer:UserName}/\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tOverwriteExisting: transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExistingTrue,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeTag,\n\t\t\t\t\tTagStepDetails: \u0026transfer.WorkflowStepTagStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"tagFileForArchive\"),\n\t\t\t\t\t\tTags: transfer.WorkflowS3TagArray{\n\t\t\t\t\t\t\t\u0026transfer.WorkflowS3TagArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"Archive\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"yes\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeCustom,\n\t\t\t\t\tCustomStepDetails: \u0026transfer.WorkflowStepCustomStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"transferExtract\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\"),\n\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeDelete,\n\t\t\t\t\tDeleteStepDetails: \u0026transfer.WorkflowStepDeleteStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"DeleteInputFile\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: aws.TagArray{\n\t\t\t\t\u0026aws.TagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"TransferFamilyWorkflows\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewServer(ctx, \"sftpServer\", \u0026transfer.ServerArgs{\n\t\t\tWorkflowDetails: \u0026transfer.ServerWorkflowDetailsArgs{\n\t\t\t\tOnUpload: transfer.ServerWorkflowDetailArray{\n\t\t\t\t\t\u0026transfer.ServerWorkflowDetailArgs{\n\t\t\t\t\t\tExecutionRole: pulumi.String(\"your-workflow-execution-role-arn\"),\n\t\t\t\t\t\tWorkflowId: transferWorkflow.WorkflowId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst transferWorkflow = new aws_native.transfer.Workflow(\"transferWorkflow\", {\n description: \"Transfer Family Workflows Blog\",\n steps: [\n {\n type: aws_native.transfer.WorkflowStepType.Copy,\n copyStepDetails: {\n name: \"copyToUserKey\",\n destinationFileLocation: {\n s3FileLocation: {\n bucket: \"archived-records\",\n key: \"${transfer:UserName}/\",\n },\n },\n overwriteExisting: aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True,\n },\n },\n {\n type: aws_native.transfer.WorkflowStepType.Tag,\n tagStepDetails: {\n name: \"tagFileForArchive\",\n tags: [{\n key: \"Archive\",\n value: \"yes\",\n }],\n },\n },\n {\n type: aws_native.transfer.WorkflowStepType.Custom,\n customStepDetails: {\n name: \"transferExtract\",\n target: \"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\",\n timeoutSeconds: 60,\n },\n },\n {\n type: aws_native.transfer.WorkflowStepType.Delete,\n deleteStepDetails: {\n name: \"DeleteInputFile\",\n sourceFileLocation: \"${original.file}\",\n },\n },\n ],\n tags: [{\n key: \"Name\",\n value: \"TransferFamilyWorkflows\",\n }],\n});\nconst sftpServer = new aws_native.transfer.Server(\"sftpServer\", {workflowDetails: {\n onUpload: [{\n executionRole: \"your-workflow-execution-role-arn\",\n workflowId: transferWorkflow.workflowId,\n }],\n}});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ntransfer_workflow = aws_native.transfer.Workflow(\"transferWorkflow\",\n description=\"Transfer Family Workflows Blog\",\n steps=[\n {\n \"type\": aws_native.transfer.WorkflowStepType.COPY,\n \"copy_step_details\": {\n \"name\": \"copyToUserKey\",\n \"destination_file_location\": {\n \"s3_file_location\": {\n \"bucket\": \"archived-records\",\n \"key\": \"${transfer:UserName}/\",\n },\n },\n \"overwrite_existing\": aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.TRUE,\n },\n },\n {\n \"type\": aws_native.transfer.WorkflowStepType.TAG,\n \"tag_step_details\": {\n \"name\": \"tagFileForArchive\",\n \"tags\": [{\n \"key\": \"Archive\",\n \"value\": \"yes\",\n }],\n },\n },\n {\n \"type\": aws_native.transfer.WorkflowStepType.CUSTOM,\n \"custom_step_details\": {\n \"name\": \"transferExtract\",\n \"target\": \"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\",\n \"timeout_seconds\": 60,\n },\n },\n {\n \"type\": aws_native.transfer.WorkflowStepType.DELETE,\n \"delete_step_details\": {\n \"name\": \"DeleteInputFile\",\n \"source_file_location\": \"${original.file}\",\n },\n },\n ],\n tags=[{\n \"key\": \"Name\",\n \"value\": \"TransferFamilyWorkflows\",\n }])\nsftp_server = aws_native.transfer.Server(\"sftpServer\", workflow_details={\n \"on_upload\": [{\n \"execution_role\": \"your-workflow-execution-role-arn\",\n \"workflow_id\": transfer_workflow.workflow_id,\n }],\n})\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var transferWorkflow = new AwsNative.Transfer.Workflow(\"transferWorkflow\", new()\n {\n Description = \"Transfer Family Workflows Blog\",\n Steps = new[]\n {\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Copy,\n CopyStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCopyStepDetailsPropertiesArgs\n {\n Name = \"copyToUserKey\",\n DestinationFileLocation = new AwsNative.Transfer.Inputs.WorkflowS3FileLocationArgs\n {\n S3FileLocation = new AwsNative.Transfer.Inputs.WorkflowS3InputFileLocationArgs\n {\n Bucket = \"archived-records\",\n Key = \"${transfer:UserName}/\",\n },\n },\n OverwriteExisting = AwsNative.Transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True,\n },\n },\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Tag,\n TagStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepTagStepDetailsPropertiesArgs\n {\n Name = \"tagFileForArchive\",\n Tags = new[]\n {\n new AwsNative.Transfer.Inputs.WorkflowS3TagArgs\n {\n Key = \"Archive\",\n Value = \"yes\",\n },\n },\n },\n },\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Custom,\n CustomStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCustomStepDetailsPropertiesArgs\n {\n Name = \"transferExtract\",\n Target = \"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\",\n TimeoutSeconds = 60,\n },\n },\n new AwsNative.Transfer.Inputs.WorkflowStepArgs\n {\n Type = AwsNative.Transfer.WorkflowStepType.Delete,\n DeleteStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepDeleteStepDetailsPropertiesArgs\n {\n Name = \"DeleteInputFile\",\n SourceFileLocation = \"${original.file}\",\n },\n },\n },\n Tags = new[]\n {\n new AwsNative.Inputs.TagArgs\n {\n Key = \"Name\",\n Value = \"TransferFamilyWorkflows\",\n },\n },\n });\n\n var sftpServer = new AwsNative.Transfer.Server(\"sftpServer\", new()\n {\n WorkflowDetails = new AwsNative.Transfer.Inputs.ServerWorkflowDetailsArgs\n {\n OnUpload = new[]\n {\n new AwsNative.Transfer.Inputs.ServerWorkflowDetailArgs\n {\n ExecutionRole = \"your-workflow-execution-role-arn\",\n WorkflowId = transferWorkflow.WorkflowId,\n },\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tawsnative \"github.com/pulumi/pulumi-aws-native/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttransferWorkflow, err := transfer.NewWorkflow(ctx, \"transferWorkflow\", \u0026transfer.WorkflowArgs{\n\t\t\tDescription: pulumi.String(\"Transfer Family Workflows Blog\"),\n\t\t\tSteps: transfer.WorkflowStepArray{\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeCopy,\n\t\t\t\t\tCopyStepDetails: \u0026transfer.WorkflowStepCopyStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"copyToUserKey\"),\n\t\t\t\t\t\tDestinationFileLocation: \u0026transfer.WorkflowS3FileLocationArgs{\n\t\t\t\t\t\t\tS3FileLocation: \u0026transfer.WorkflowS3InputFileLocationArgs{\n\t\t\t\t\t\t\t\tBucket: pulumi.String(\"archived-records\"),\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"${transfer:UserName}/\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tOverwriteExisting: transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExistingTrue,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeTag,\n\t\t\t\t\tTagStepDetails: \u0026transfer.WorkflowStepTagStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"tagFileForArchive\"),\n\t\t\t\t\t\tTags: transfer.WorkflowS3TagArray{\n\t\t\t\t\t\t\t\u0026transfer.WorkflowS3TagArgs{\n\t\t\t\t\t\t\t\tKey: pulumi.String(\"Archive\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"yes\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeCustom,\n\t\t\t\t\tCustomStepDetails: \u0026transfer.WorkflowStepCustomStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"transferExtract\"),\n\t\t\t\t\t\tTarget: pulumi.String(\"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\"),\n\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(60),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026transfer.WorkflowStepArgs{\n\t\t\t\t\tType: transfer.WorkflowStepTypeDelete,\n\t\t\t\t\tDeleteStepDetails: \u0026transfer.WorkflowStepDeleteStepDetailsPropertiesArgs{\n\t\t\t\t\t\tName: pulumi.String(\"DeleteInputFile\"),\n\t\t\t\t\t\tSourceFileLocation: pulumi.String(\"${original.file}\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: aws.TagArray{\n\t\t\t\t\u0026aws.TagArgs{\n\t\t\t\t\tKey: pulumi.String(\"Name\"),\n\t\t\t\t\tValue: pulumi.String(\"TransferFamilyWorkflows\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = transfer.NewServer(ctx, \"sftpServer\", \u0026transfer.ServerArgs{\n\t\t\tWorkflowDetails: \u0026transfer.ServerWorkflowDetailsArgs{\n\t\t\t\tOnUpload: transfer.ServerWorkflowDetailArray{\n\t\t\t\t\t\u0026transfer.ServerWorkflowDetailArgs{\n\t\t\t\t\t\tExecutionRole: pulumi.String(\"your-workflow-execution-role-arn\"),\n\t\t\t\t\t\tWorkflowId: transferWorkflow.WorkflowId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst transferWorkflow = new aws_native.transfer.Workflow(\"transferWorkflow\", {\n description: \"Transfer Family Workflows Blog\",\n steps: [\n {\n type: aws_native.transfer.WorkflowStepType.Copy,\n copyStepDetails: {\n name: \"copyToUserKey\",\n destinationFileLocation: {\n s3FileLocation: {\n bucket: \"archived-records\",\n key: \"${transfer:UserName}/\",\n },\n },\n overwriteExisting: aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True,\n },\n },\n {\n type: aws_native.transfer.WorkflowStepType.Tag,\n tagStepDetails: {\n name: \"tagFileForArchive\",\n tags: [{\n key: \"Archive\",\n value: \"yes\",\n }],\n },\n },\n {\n type: aws_native.transfer.WorkflowStepType.Custom,\n customStepDetails: {\n name: \"transferExtract\",\n target: \"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\",\n timeoutSeconds: 60,\n },\n },\n {\n type: aws_native.transfer.WorkflowStepType.Delete,\n deleteStepDetails: {\n name: \"DeleteInputFile\",\n sourceFileLocation: \"${original.file}\",\n },\n },\n ],\n tags: [{\n key: \"Name\",\n value: \"TransferFamilyWorkflows\",\n }],\n});\nconst sftpServer = new aws_native.transfer.Server(\"sftpServer\", {workflowDetails: {\n onUpload: [{\n executionRole: \"your-workflow-execution-role-arn\",\n workflowId: transferWorkflow.workflowId,\n }],\n}});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ntransfer_workflow = aws_native.transfer.Workflow(\"transferWorkflow\",\n description=\"Transfer Family Workflows Blog\",\n steps=[\n {\n \"type\": aws_native.transfer.WorkflowStepType.COPY,\n \"copy_step_details\": {\n \"name\": \"copyToUserKey\",\n \"destination_file_location\": {\n \"s3_file_location\": {\n \"bucket\": \"archived-records\",\n \"key\": \"${transfer:UserName}/\",\n },\n },\n \"overwrite_existing\": aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.TRUE,\n },\n },\n {\n \"type\": aws_native.transfer.WorkflowStepType.TAG,\n \"tag_step_details\": {\n \"name\": \"tagFileForArchive\",\n \"tags\": [{\n \"key\": \"Archive\",\n \"value\": \"yes\",\n }],\n },\n },\n {\n \"type\": aws_native.transfer.WorkflowStepType.CUSTOM,\n \"custom_step_details\": {\n \"name\": \"transferExtract\",\n \"target\": \"arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name\",\n \"timeout_seconds\": 60,\n },\n },\n {\n \"type\": aws_native.transfer.WorkflowStepType.DELETE,\n \"delete_step_details\": {\n \"name\": \"DeleteInputFile\",\n \"source_file_location\": \"${original.file}\",\n },\n },\n ],\n tags=[{\n \"key\": \"Name\",\n \"value\": \"TransferFamilyWorkflows\",\n }])\nsftp_server = aws_native.transfer.Server(\"sftpServer\", workflow_details={\n \"on_upload\": [{\n \"execution_role\": \"your-workflow-execution-role-arn\",\n \"workflow_id\": transfer_workflow.workflow_id,\n }],\n})\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` .\n\nAn example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` ." + }, + "as2ServiceManagedEgressIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well." + }, + "certificate": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` .\n\nTo request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* .\n\nTo import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* .\n\nTo request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* .\n\nCertificates with the following cryptographic algorithms and key sizes are supported:\n\n- 2048-bit RSA (RSA_2048)\n- 4096-bit RSA (RSA_4096)\n- Elliptic Prime Curve 256 bit (EC_prime256v1)\n- Elliptic Prime Curve 384 bit (EC_secp384r1)\n- Elliptic Prime Curve 521 bit (EC_secp521r1)\n\n\u003e The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer." + }, + "domain": { + "$ref": "#/types/aws-native:transfer:ServerDomain", + "description": "Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.", + "replaceOnChanges": true + }, + "endpointDetails": { + "$ref": "#/types/aws-native:transfer:ServerEndpointDetails", + "description": "The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint." + }, + "endpointType": { + "$ref": "#/types/aws-native:transfer:ServerEndpointType", + "description": "The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.\n\n\u003e After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` .\n\u003e \n\u003e For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) .\n\u003e \n\u003e It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` ." + }, + "identityProviderDetails": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderDetails", + "description": "Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` ." + }, + "identityProviderType": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderType", + "description": "The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service.\n\nUse `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter.\n\nUse the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter.\n\nUse the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type.", + "replaceOnChanges": true + }, + "loggingRole": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs." + }, + "postAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.\n\n\u003e The SFTP protocol does not support post-authentication display banners." + }, + "preAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:\n\n`This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`" + }, + "protocolDetails": { + "$ref": "#/types/aws-native:transfer:ServerProtocolDetails", + "description": "The protocol settings that are configured for your server.\n\n- To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.\n- To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.\n- To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.\n- `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.\n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerProtocol" + }, + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:\n\n- `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH\n- `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption\n- `FTP` (File Transfer Protocol): Unencrypted file transfer\n- `AS2` (Applicability Statement 2): used for transporting structured business-to-business data\n\n\u003e - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.\n\u003e - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated.\n\u003e - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. \n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "s3StorageOptions": { + "$ref": "#/types/aws-native:transfer:ServerS3StorageOptions", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + }, + "securityPolicyName": { + "type": "string", + "description": "Specifies the name of the security policy for the server." + }, + "serverId": { + "type": "string", + "description": "The service-assigned ID of the server that is created.\n\nAn example `ServerId` is `s-01234567890abcdef` ." + }, + "structuredLogDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the log groups to which your server logs are sent.\n\nTo specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:\n\n`arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`\n\nFor example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`\n\nIf you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:\n\n`update-server --server-id s-1234567890abcdef0 --structured-log-destinations`" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for servers." + }, + "workflowDetails": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetails", + "description": "Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.\n\nIn addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects." + } + }, + "type": "object", + "required": [ + "arn", + "as2ServiceManagedEgressIpAddresses", + "serverId" + ], + "inputProperties": { + "certificate": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` .\n\nTo request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* .\n\nTo import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* .\n\nTo request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* .\n\nCertificates with the following cryptographic algorithms and key sizes are supported:\n\n- 2048-bit RSA (RSA_2048)\n- 4096-bit RSA (RSA_4096)\n- Elliptic Prime Curve 256 bit (EC_prime256v1)\n- Elliptic Prime Curve 384 bit (EC_secp384r1)\n- Elliptic Prime Curve 521 bit (EC_secp521r1)\n\n\u003e The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer." + }, + "domain": { + "$ref": "#/types/aws-native:transfer:ServerDomain", + "description": "Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3." + }, + "endpointDetails": { + "$ref": "#/types/aws-native:transfer:ServerEndpointDetails", + "description": "The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint." + }, + "endpointType": { + "$ref": "#/types/aws-native:transfer:ServerEndpointType", + "description": "The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.\n\n\u003e After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` .\n\u003e \n\u003e For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) .\n\u003e \n\u003e It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` ." + }, + "identityProviderDetails": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderDetails", + "description": "Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` ." + }, + "identityProviderType": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderType", + "description": "The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service.\n\nUse `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter.\n\nUse the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter.\n\nUse the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type." + }, + "loggingRole": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs." + }, + "postAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.\n\n\u003e The SFTP protocol does not support post-authentication display banners." + }, + "preAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:\n\n`This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`" + }, + "protocolDetails": { + "$ref": "#/types/aws-native:transfer:ServerProtocolDetails", + "description": "The protocol settings that are configured for your server.\n\n- To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.\n- To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.\n- To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.\n- `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.\n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerProtocol" + }, + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:\n\n- `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH\n- `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption\n- `FTP` (File Transfer Protocol): Unencrypted file transfer\n- `AS2` (Applicability Statement 2): used for transporting structured business-to-business data\n\n\u003e - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.\n\u003e - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated.\n\u003e - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. \n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "s3StorageOptions": { + "$ref": "#/types/aws-native:transfer:ServerS3StorageOptions", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + }, + "securityPolicyName": { + "type": "string", + "description": "Specifies the name of the security policy for the server." + }, + "structuredLogDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the log groups to which your server logs are sent.\n\nTo specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:\n\n`arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`\n\nFor example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`\n\nIf you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:\n\n`update-server --server-id s-1234567890abcdef0 --structured-log-destinations`" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for servers." + }, + "workflowDetails": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetails", + "description": "Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.\n\nIn addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects." + } + } + }, "aws-native:transfer:Workflow": { "description": "Resource Type definition for AWS::Transfer::Workflow", "properties": { @@ -257423,6 +258451,128 @@ "webAclArn" ] }, + "aws-native:wisdom:AiPrompt": { + "description": "Definition of AWS::Wisdom::AIPrompt Resource Type", + "properties": { + "aiPromptArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AI Prompt." + }, + "aiPromptId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect AI prompt." + }, + "apiFormat": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptApiFormat", + "description": "The API format used for this AI Prompt.", + "replaceOnChanges": true + }, + "assistantArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant." + }, + "assistantId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "The description of the AI Prompt." + }, + "modelId": { + "type": "string", + "description": "The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` .", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the AI Prompt", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags used to organize, track, or control access for this resource.", + "replaceOnChanges": true + }, + "templateConfiguration": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateConfiguration", + "description": "The configuration of the prompt template for this AI Prompt." + }, + "templateType": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateType", + "description": "The type of the prompt template for this AI Prompt.", + "replaceOnChanges": true + }, + "type": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptType", + "description": "The type of this AI Prompt.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "aiPromptArn", + "aiPromptId", + "apiFormat", + "assistantArn", + "modelId", + "templateConfiguration", + "templateType", + "type" + ], + "inputProperties": { + "apiFormat": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptApiFormat", + "description": "The API format used for this AI Prompt." + }, + "assistantId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN." + }, + "description": { + "type": "string", + "description": "The description of the AI Prompt." + }, + "modelId": { + "type": "string", + "description": "The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` ." + }, + "name": { + "type": "string", + "description": "The name of the AI Prompt" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags used to organize, track, or control access for this resource." + }, + "templateConfiguration": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateConfiguration", + "description": "The configuration of the prompt template for this AI Prompt." + }, + "templateType": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateType", + "description": "The type of the prompt template for this AI Prompt." + }, + "type": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptType", + "description": "The type of this AI Prompt." + } + }, + "requiredInputs": [ + "apiFormat", + "modelId", + "templateConfiguration", + "templateType", + "type" + ] + }, "aws-native:wisdom:Assistant": { "description": "Definition of AWS::Wisdom::Assistant Resource Type", "properties": { @@ -262180,6 +263330,72 @@ } } }, + "aws-native:appsync:getDataSource": { + "description": "Resource Type definition for AWS::AppSync::DataSource", + "inputs": { + "properties": { + "dataSourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename." + } + }, + "required": [ + "dataSourceArn" + ] + }, + "outputs": { + "properties": { + "dataSourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename." + }, + "description": { + "type": "string", + "description": "The description of the data source." + }, + "dynamoDbConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceDynamoDbConfig", + "description": "AWS Region and TableName for an Amazon DynamoDB table in your account." + }, + "elasticsearchConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceElasticsearchConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source." + }, + "eventBridgeConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceEventBridgeConfig", + "description": "ARN for the EventBridge bus." + }, + "httpConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceHttpConfig", + "description": "Endpoints for an HTTP data source." + }, + "lambdaConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceLambdaConfig", + "description": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account." + }, + "metricsConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceMetricsConfig", + "description": "Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value.\n\n`MetricsConfig` can be `ENABLED` or `DISABLED` ." + }, + "openSearchServiceConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceOpenSearchServiceConfig", + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account." + }, + "relationalDatabaseConfig": { + "$ref": "#/types/aws-native:appsync:DataSourceRelationalDatabaseConfig", + "description": "Relational Database configuration of the relational database data source." + }, + "serviceRoleArn": { + "type": "string", + "description": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source." + }, + "type": { + "type": "string", + "description": "The type of the data source." + } + } + } + }, "aws-native:appsync:getDomainName": { "description": "Resource Type definition for AWS::AppSync::DomainName", "inputs": { @@ -267302,11 +268518,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -267314,11 +268530,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." + "description": "Information about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." + "description": "The Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -267965,7 +269181,7 @@ "properties": { "accountRecoverySetting": { "$ref": "#/types/aws-native:cognito:UserPoolAccountRecoverySetting", - "description": "Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email." + "description": "The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email." }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", @@ -267976,7 +269192,7 @@ "items": { "type": "string" }, - "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .\n\n\u003e This user pool property cannot be updated." + "description": "Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* ." }, "arn": { "type": "string", @@ -268009,11 +269225,11 @@ }, "emailVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "emailVerificationSubject": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", @@ -268029,7 +269245,7 @@ }, "providerName": { "type": "string", - "description": "The provider name of the Amazon Cognito user pool, specified as a `String` ." + "description": "A friendly name for the IdP." }, "providerUrl": { "type": "string", @@ -268040,11 +269256,11 @@ "items": { "$ref": "#/types/aws-native:cognito:UserPoolSchemaAttribute" }, - "description": "The schema attributes for the new user pool. These attributes can be standard or custom attributes.\n\n\u003e During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute." + "description": "An array of schema attributes for the new user pool. These attributes can be standard or custom attributes." }, "smsAuthenticationMessage": { "type": "string", - "description": "A string representing the SMS authentication message." + "description": "The contents of the SMS authentication message." }, "smsConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolSmsConfiguration", @@ -268052,7 +269268,7 @@ }, "smsVerificationMessage": { "type": "string", - "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) ." + "description": "This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) ." }, "userAttributeUpdateSettings": { "$ref": "#/types/aws-native:cognito:UserPoolUserAttributeUpdateSettings", @@ -268082,11 +269298,11 @@ "items": { "type": "string" }, - "description": "Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` .\n\nThis user pool property cannot be updated." + "description": "Specifies whether a user can use an email address or phone number as a username when they sign up." }, "usernameConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolUsernameConfiguration", - "description": "You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set." + "description": "Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.\n\nThis configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) ." }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", @@ -268117,7 +269333,7 @@ "properties": { "accessTokenValidity": { "type": "integer", - "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours." + "description": "The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with\ntheir access token for 10 hours.\n\nThe default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your access\ntokens are valid for one hour." }, "allowedOAuthFlows": { "type": "array", @@ -268184,7 +269400,7 @@ }, "idTokenValidity": { "type": "integer", - "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours." + "description": "The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for `IdTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours.\n\nThe default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your ID\ntokens are valid for one hour." }, "logoutUrls": { "type": "array", @@ -268198,7 +269414,7 @@ }, "preventUserExistenceErrors": { "type": "string", - "description": "Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool." + "description": "Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool.\n\nValid values include:\n\n- `ENABLED` - This prevents user existence-related errors.\n- `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.\n\nDefaults to `LEGACY` when you don't provide a value." }, "readAttributes": { "type": "array", @@ -268209,7 +269425,7 @@ }, "refreshTokenValidity": { "type": "integer", - "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days." + "description": "The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request.\n\nFor example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session\nand retrieve new access and ID tokens for 10 days.\n\nThe default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds.\n\nIf you don't specify otherwise in the configuration of your app client, your refresh\ntokens are valid for 30 days." }, "supportedIdentityProviders": { "type": "array", @@ -268340,7 +269556,7 @@ "properties": { "identifier": { "type": "string", - "description": "A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` ." + "description": "A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier.\n\nAmazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens." }, "userPoolId": { "type": "string", @@ -268374,7 +269590,7 @@ "properties": { "clientId": { "type": "string", - "description": "The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` )." + "description": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings." }, "userPoolId": { "type": "string", @@ -268409,7 +269625,7 @@ "properties": { "clientId": { "type": "string", - "description": "The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` )." + "description": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.." }, "userPoolId": { "type": "string", @@ -280630,6 +281846,25 @@ "type": "string", "description": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\")." }, + "sourceVersionNumber": { + "type": "integer", + "description": "A specific ContainerGroupDefinition version to be updated" + }, + "status": { + "$ref": "#/types/aws-native:gamelift:ContainerGroupDefinitionStatus", + "description": "A string indicating ContainerGroupDefinition status." + }, + "statusReason": { + "type": "string", + "description": "A string indicating the reason for ContainerGroupDefinition status." + }, + "supportContainerDefinitions": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A collection of support container definitions that define the containers in this group." + }, "tags": { "type": "array", "items": { @@ -287845,7 +289080,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "A list of tags to add to the event source mapping.\n\n\u003e You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." }, "topics": { "type": "array", @@ -288116,10 +289351,6 @@ "type": "string", "description": "The ARN of the version." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property." - }, "version": { "type": "string", "description": "The version number.", @@ -295828,7 +297059,7 @@ "properties": { "configuration": { "$ref": "pulumi.json#/Any", - "description": "Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "createdAt": { "type": "string", @@ -296148,6 +297379,12 @@ ], "description": "Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience." }, + "origins": { + "type": "array", + "items": { + "type": "string" + } + }, "roleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the service role attached to your web experience.\n\n\u003e You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value." @@ -296581,7 +297818,8 @@ "inputs": { "properties": { "awsAccountId": { - "type": "string" + "type": "string", + "description": "The ID for the AWS account where you want to create the folder." }, "folderId": { "type": "string", @@ -296615,7 +297853,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:quicksight:FolderResourcePermission" - } + }, + "description": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` ." }, "tags": { "type": "array", @@ -297654,6 +298893,13 @@ "type": "string", "description": "The description for the DB subnet group." }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The EC2 Subnet IDs for the DB subnet group." + }, "tags": { "type": "array", "items": { @@ -301454,7 +302700,7 @@ }, "version": { "type": "integer", - "description": "The version number." + "description": "The version of the image." } } } @@ -304237,7 +305483,7 @@ } }, "aws-native:sqs:getQueue": { - "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*.", + "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*.", "inputs": { "properties": { "queueUrl": { @@ -304277,7 +305523,7 @@ }, "kmsMasterKeyId": { "type": "string", - "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper" + "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*" }, "maximumMessageSize": { "type": "integer", @@ -304297,11 +305543,11 @@ }, "redriveAllowPolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "redrivePolicy": { "$ref": "pulumi.json#/Any", - "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." + "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property." }, "sqsManagedSseEnabled": { "type": "boolean", @@ -305968,6 +307214,104 @@ } } }, + "aws-native:transfer:getServer": { + "description": "Definition of AWS::Transfer::Server Resource Type", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` .\n\nAn example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` ." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` .\n\nAn example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` ." + }, + "as2ServiceManagedEgressIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well." + }, + "certificate": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` .\n\nTo request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* .\n\nTo import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* .\n\nTo request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* .\n\nCertificates with the following cryptographic algorithms and key sizes are supported:\n\n- 2048-bit RSA (RSA_2048)\n- 4096-bit RSA (RSA_4096)\n- Elliptic Prime Curve 256 bit (EC_prime256v1)\n- Elliptic Prime Curve 384 bit (EC_secp384r1)\n- Elliptic Prime Curve 521 bit (EC_secp521r1)\n\n\u003e The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer." + }, + "endpointDetails": { + "$ref": "#/types/aws-native:transfer:ServerEndpointDetails", + "description": "The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint." + }, + "endpointType": { + "$ref": "#/types/aws-native:transfer:ServerEndpointType", + "description": "The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.\n\n\u003e After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` .\n\u003e \n\u003e For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) .\n\u003e \n\u003e It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` ." + }, + "identityProviderDetails": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderDetails", + "description": "Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` ." + }, + "loggingRole": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs." + }, + "postAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.\n\n\u003e The SFTP protocol does not support post-authentication display banners." + }, + "preAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:\n\n`This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`" + }, + "protocolDetails": { + "$ref": "#/types/aws-native:transfer:ServerProtocolDetails", + "description": "The protocol settings that are configured for your server.\n\n- To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.\n- To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.\n- To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.\n- `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.\n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerProtocol" + }, + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:\n\n- `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH\n- `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption\n- `FTP` (File Transfer Protocol): Unencrypted file transfer\n- `AS2` (Applicability Statement 2): used for transporting structured business-to-business data\n\n\u003e - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.\n\u003e - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated.\n\u003e - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. \n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "s3StorageOptions": { + "$ref": "#/types/aws-native:transfer:ServerS3StorageOptions", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + }, + "securityPolicyName": { + "type": "string", + "description": "Specifies the name of the security policy for the server." + }, + "serverId": { + "type": "string", + "description": "The service-assigned ID of the server that is created.\n\nAn example `ServerId` is `s-01234567890abcdef` ." + }, + "structuredLogDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the log groups to which your server logs are sent.\n\nTo specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:\n\n`arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`\n\nFor example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`\n\nIf you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:\n\n`update-server --server-id s-1234567890abcdef0 --structured-log-destinations`" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for servers." + }, + "workflowDetails": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetails", + "description": "Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.\n\nIn addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects." + } + } + } + }, "aws-native:transfer:getWorkflow": { "description": "Resource Type definition for AWS::Transfer::Workflow", "inputs": { @@ -306999,6 +308343,49 @@ } } }, + "aws-native:wisdom:getAiPrompt": { + "description": "Definition of AWS::Wisdom::AIPrompt Resource Type", + "inputs": { + "properties": { + "aiPromptId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect AI prompt." + }, + "assistantId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN." + } + }, + "required": [ + "aiPromptId", + "assistantId" + ] + }, + "outputs": { + "properties": { + "aiPromptArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AI Prompt." + }, + "aiPromptId": { + "type": "string", + "description": "The identifier of the Amazon Q in Connect AI prompt." + }, + "assistantArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant." + }, + "description": { + "type": "string", + "description": "The description of the AI Prompt." + }, + "templateConfiguration": { + "$ref": "#/types/aws-native:wisdom:AiPromptAiPromptTemplateConfiguration", + "description": "The configuration of the prompt template for this AI Prompt." + } + } + } + }, "aws-native:wisdom:getAssistant": { "description": "Definition of AWS::Wisdom::Assistant Resource Type", "inputs": { diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json index afaa606c1e..823f696603 100644 --- a/reports/missedAutonaming.json +++ b/reports/missedAutonaming.json @@ -2004,11 +2004,11 @@ }, "domain": { "type": "string", - "description": "The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names." + "description": "The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` .\n\nThis string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names." }, "userPoolId": { "type": "string", - "description": "The user pool ID for the user pool where you want to associate a user pool domain." + "description": "The ID of the user pool that is associated with the custom domain whose certificate you're updating." } } }, @@ -2021,7 +2021,7 @@ }, "clientId": { "type": "string", - "description": "The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` )." + "description": "The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings." }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", @@ -2042,7 +2042,7 @@ "properties": { "clientId": { "type": "string", - "description": "The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` )." + "description": "The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.." }, "css": { "type": "string", @@ -2066,7 +2066,8 @@ "description": "The user pool ID for the user pool." }, "username": { - "type": "string" + "type": "string", + "description": "The user's username." } } }, @@ -6193,7 +6194,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskSetCapacityProviderStrategyItem" - } + }, + "description": "The capacity provider strategy that are associated with the task set." }, "cluster": { "type": "string", @@ -8191,7 +8193,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "A list of tags to add to the event source mapping.\n\n\u003e You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." }, "topics": { "type": "array", @@ -8339,10 +8341,6 @@ "type": "string", "description": "The name of the Lambda function." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property." - }, "provisionedConcurrencyConfig": { "$ref": "#/types/aws-native:lambda:VersionProvisionedConcurrencyConfiguration", "description": "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property." @@ -9766,7 +9764,7 @@ }, "configuration": { "$ref": "pulumi.json#/Any", - "description": "Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q .\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice.\n- Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." + "description": "Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.\n\nEach data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:\n\n- [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html)\n- [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html)\n\nYou can find configuration templates for your specific data source using the following steps:\n\n- Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice.\n- Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property." }, "description": { "type": "string", @@ -9951,6 +9949,12 @@ ], "description": "Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience." }, + "origins": { + "type": "array", + "items": { + "type": "string" + } + }, "roleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the service role attached to your web experience.\n\n\u003e You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value." @@ -10396,7 +10400,7 @@ }, "dbSnapshotIdentifier": { "type": "string", - "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." + "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster." }, "dbSubnetGroupName": { "type": "string", @@ -12460,6 +12464,84 @@ } } }, + "aws-native:transfer:Server": { + "cfTypeName": "AWS::Transfer::Server", + "properties": { + "certificate": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` .\n\nTo request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* .\n\nTo import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* .\n\nTo request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* .\n\nCertificates with the following cryptographic algorithms and key sizes are supported:\n\n- 2048-bit RSA (RSA_2048)\n- 4096-bit RSA (RSA_4096)\n- Elliptic Prime Curve 256 bit (EC_prime256v1)\n- Elliptic Prime Curve 384 bit (EC_secp384r1)\n- Elliptic Prime Curve 521 bit (EC_secp521r1)\n\n\u003e The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer." + }, + "domain": { + "$ref": "#/types/aws-native:transfer:ServerDomain", + "description": "Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3." + }, + "endpointDetails": { + "$ref": "#/types/aws-native:transfer:ServerEndpointDetails", + "description": "The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint." + }, + "endpointType": { + "$ref": "#/types/aws-native:transfer:ServerEndpointType", + "description": "The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it.\n\n\u003e After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` .\n\u003e \n\u003e For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) .\n\u003e \n\u003e It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` ." + }, + "identityProviderDetails": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderDetails", + "description": "Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` ." + }, + "identityProviderType": { + "$ref": "#/types/aws-native:transfer:ServerIdentityProviderType", + "description": "The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service.\n\nUse `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter.\n\nUse the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter.\n\nUse the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type." + }, + "loggingRole": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs." + }, + "postAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.\n\n\u003e The SFTP protocol does not support post-authentication display banners." + }, + "preAuthenticationLoginBanner": { + "type": "string", + "description": "Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:\n\n`This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.`" + }, + "protocolDetails": { + "$ref": "#/types/aws-native:transfer:ServerProtocolDetails", + "description": "The protocol settings that are configured for your server.\n\n- To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.\n- To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call.\n- To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter.\n- `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.\n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:ServerProtocol" + }, + "description": "Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:\n\n- `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH\n- `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption\n- `FTP` (File Transfer Protocol): Unencrypted file transfer\n- `AS2` (Applicability Statement 2): used for transporting structured business-to-business data\n\n\u003e - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.\n\u003e - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated.\n\u003e - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` .\n\u003e - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. \n\nThe `Protocols` parameter is an array of strings.\n\n*Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2`" + }, + "s3StorageOptions": { + "$ref": "#/types/aws-native:transfer:ServerS3StorageOptions", + "description": "Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.\n\nBy default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target." + }, + "securityPolicyName": { + "type": "string", + "description": "Specifies the name of the security policy for the server." + }, + "structuredLogDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the log groups to which your server logs are sent.\n\nTo specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:\n\n`arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`\n\nFor example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`\n\nIf you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example:\n\n`update-server --server-id s-1234567890abcdef0 --structured-log-destinations`" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for servers." + }, + "workflowDetails": { + "$ref": "#/types/aws-native:transfer:ServerWorkflowDetails", + "description": "Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.\n\nIn addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects." + } + } + }, "aws-native:transfer:Workflow": { "cfTypeName": "AWS::Transfer::Workflow", "properties": { diff --git a/sdk/dotnet/AppFlow/Inputs/FlowSapoDataPaginationConfigArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowSapoDataPaginationConfigArgs.cs index 54f24ad805..2d4ea713e1 100644 --- a/sdk/dotnet/AppFlow/Inputs/FlowSapoDataPaginationConfigArgs.cs +++ b/sdk/dotnet/AppFlow/Inputs/FlowSapoDataPaginationConfigArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.AppFlow.Inputs /// public sealed class FlowSapoDataPaginationConfigArgs : global::Pulumi.ResourceArgs { + /// + /// The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. + /// [Input("maxPageSize", required: true)] public Input MaxPageSize { get; set; } = null!; diff --git a/sdk/dotnet/AppFlow/Inputs/FlowSapoDataParallelismConfigArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowSapoDataParallelismConfigArgs.cs index 0f0c1dce93..18c87a7fdd 100644 --- a/sdk/dotnet/AppFlow/Inputs/FlowSapoDataParallelismConfigArgs.cs +++ b/sdk/dotnet/AppFlow/Inputs/FlowSapoDataParallelismConfigArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.AppFlow.Inputs /// public sealed class FlowSapoDataParallelismConfigArgs : global::Pulumi.ResourceArgs { + /// + /// The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. + /// [Input("maxParallelism", required: true)] public Input MaxParallelism { get; set; } = null!; diff --git a/sdk/dotnet/AppFlow/Inputs/FlowSapoDataSourcePropertiesArgs.cs b/sdk/dotnet/AppFlow/Inputs/FlowSapoDataSourcePropertiesArgs.cs index 326aff01e8..015ffabe7d 100644 --- a/sdk/dotnet/AppFlow/Inputs/FlowSapoDataSourcePropertiesArgs.cs +++ b/sdk/dotnet/AppFlow/Inputs/FlowSapoDataSourcePropertiesArgs.cs @@ -18,9 +18,15 @@ public sealed class FlowSapoDataSourcePropertiesArgs : global::Pulumi.ResourceAr [Input("objectPath", required: true)] public Input ObjectPath { get; set; } = null!; + /// + /// Sets the page size for each concurrent process that transfers OData records from your SAP instance. + /// [Input("paginationConfig")] public Input? PaginationConfig { get; set; } + /// + /// Sets the number of concurrent processes that transfers OData records from your SAP instance. + /// [Input("parallelismConfig")] public Input? ParallelismConfig { get; set; } diff --git a/sdk/dotnet/AppFlow/Outputs/FlowSapoDataPaginationConfig.cs b/sdk/dotnet/AppFlow/Outputs/FlowSapoDataPaginationConfig.cs index a4e2d68ca9..bb694f4fff 100644 --- a/sdk/dotnet/AppFlow/Outputs/FlowSapoDataPaginationConfig.cs +++ b/sdk/dotnet/AppFlow/Outputs/FlowSapoDataPaginationConfig.cs @@ -16,6 +16,9 @@ namespace Pulumi.AwsNative.AppFlow.Outputs [OutputType] public sealed class FlowSapoDataPaginationConfig { + /// + /// The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. + /// public readonly int MaxPageSize; [OutputConstructor] diff --git a/sdk/dotnet/AppFlow/Outputs/FlowSapoDataParallelismConfig.cs b/sdk/dotnet/AppFlow/Outputs/FlowSapoDataParallelismConfig.cs index 3f39423bc3..74a590bda0 100644 --- a/sdk/dotnet/AppFlow/Outputs/FlowSapoDataParallelismConfig.cs +++ b/sdk/dotnet/AppFlow/Outputs/FlowSapoDataParallelismConfig.cs @@ -16,6 +16,9 @@ namespace Pulumi.AwsNative.AppFlow.Outputs [OutputType] public sealed class FlowSapoDataParallelismConfig { + /// + /// The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. + /// public readonly int MaxParallelism; [OutputConstructor] diff --git a/sdk/dotnet/AppFlow/Outputs/FlowSapoDataSourceProperties.cs b/sdk/dotnet/AppFlow/Outputs/FlowSapoDataSourceProperties.cs index 6d1930fa6a..916adc203f 100644 --- a/sdk/dotnet/AppFlow/Outputs/FlowSapoDataSourceProperties.cs +++ b/sdk/dotnet/AppFlow/Outputs/FlowSapoDataSourceProperties.cs @@ -17,7 +17,13 @@ public sealed class FlowSapoDataSourceProperties /// The object path specified in the SAPOData flow source. /// public readonly string ObjectPath; + /// + /// Sets the page size for each concurrent process that transfers OData records from your SAP instance. + /// public readonly Outputs.FlowSapoDataPaginationConfig? PaginationConfig; + /// + /// Sets the number of concurrent processes that transfers OData records from your SAP instance. + /// public readonly Outputs.FlowSapoDataParallelismConfig? ParallelismConfig; [OutputConstructor] diff --git a/sdk/dotnet/AppSync/DataSource.cs b/sdk/dotnet/AppSync/DataSource.cs new file mode 100644 index 0000000000..66a7bbced0 --- /dev/null +++ b/sdk/dotnet/AppSync/DataSource.cs @@ -0,0 +1,307 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync +{ + /// + /// Resource Type definition for AWS::AppSync::DataSource + /// + /// ## Example Usage + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var graphQlApiId = config.Require("graphQlApiId"); + /// var dataSourceName = config.Require("dataSourceName"); + /// var dataSourceDescription = config.Require("dataSourceDescription"); + /// var serviceRoleArn = config.Require("serviceRoleArn"); + /// var lambdaFunctionArn = config.Require("lambdaFunctionArn"); + /// var dataSource = new AwsNative.AppSync.DataSource("dataSource", new() + /// { + /// ApiId = graphQlApiId, + /// Name = dataSourceName, + /// Description = dataSourceDescription, + /// Type = "AWS_LAMBDA", + /// ServiceRoleArn = serviceRoleArn, + /// LambdaConfig = new AwsNative.AppSync.Inputs.DataSourceLambdaConfigArgs + /// { + /// LambdaFunctionArn = lambdaFunctionArn, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var graphQlApiId = config.Require("graphQlApiId"); + /// var dataSourceName = config.Require("dataSourceName"); + /// var dataSourceDescription = config.Require("dataSourceDescription"); + /// var serviceRoleArn = config.Require("serviceRoleArn"); + /// var lambdaFunctionArn = config.Require("lambdaFunctionArn"); + /// var dataSource = new AwsNative.AppSync.DataSource("dataSource", new() + /// { + /// ApiId = graphQlApiId, + /// Name = dataSourceName, + /// Description = dataSourceDescription, + /// Type = "AWS_LAMBDA", + /// ServiceRoleArn = serviceRoleArn, + /// LambdaConfig = new AwsNative.AppSync.Inputs.DataSourceLambdaConfigArgs + /// { + /// LambdaFunctionArn = lambdaFunctionArn, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` + /// + [AwsNativeResourceType("aws-native:appsync:DataSource")] + public partial class DataSource : global::Pulumi.CustomResource + { + /// + /// Unique AWS AppSync GraphQL API identifier where this data source will be created. + /// + [Output("apiId")] + public Output ApiId { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + /// + [Output("dataSourceArn")] + public Output DataSourceArn { get; private set; } = null!; + + /// + /// The description of the data source. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// AWS Region and TableName for an Amazon DynamoDB table in your account. + /// + [Output("dynamoDbConfig")] + public Output DynamoDbConfig { get; private set; } = null!; + + /// + /// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + /// As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + /// + [Output("elasticsearchConfig")] + public Output ElasticsearchConfig { get; private set; } = null!; + + /// + /// ARN for the EventBridge bus. + /// + [Output("eventBridgeConfig")] + public Output EventBridgeConfig { get; private set; } = null!; + + /// + /// Endpoints for an HTTP data source. + /// + [Output("httpConfig")] + public Output HttpConfig { get; private set; } = null!; + + /// + /// An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + /// + [Output("lambdaConfig")] + public Output LambdaConfig { get; private set; } = null!; + + /// + /// Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + /// + /// `MetricsConfig` can be `ENABLED` or `DISABLED` . + /// + [Output("metricsConfig")] + public Output MetricsConfig { get; private set; } = null!; + + /// + /// Friendly name for you to identify your AppSync data source after creation. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + /// + [Output("openSearchServiceConfig")] + public Output OpenSearchServiceConfig { get; private set; } = null!; + + /// + /// Relational Database configuration of the relational database data source. + /// + [Output("relationalDatabaseConfig")] + public Output RelationalDatabaseConfig { get; private set; } = null!; + + /// + /// The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + /// + [Output("serviceRoleArn")] + public Output ServiceRoleArn { get; private set; } = null!; + + /// + /// The type of the data source. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a DataSource 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 DataSource(string name, DataSourceArgs args, CustomResourceOptions? options = null) + : base("aws-native:appsync:DataSource", name, args ?? new DataSourceArgs(), MakeResourceOptions(options, "")) + { + } + + private DataSource(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:appsync:DataSource", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "apiId", + "name", + }, + }; + 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 DataSource 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. + /// A bag of options that control this resource's behavior + public static DataSource Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DataSource(name, id, options); + } + } + + public sealed class DataSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique AWS AppSync GraphQL API identifier where this data source will be created. + /// + [Input("apiId", required: true)] + public Input ApiId { get; set; } = null!; + + /// + /// The description of the data source. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// AWS Region and TableName for an Amazon DynamoDB table in your account. + /// + [Input("dynamoDbConfig")] + public Input? DynamoDbConfig { get; set; } + + /// + /// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + /// As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + /// + [Input("elasticsearchConfig")] + public Input? ElasticsearchConfig { get; set; } + + /// + /// ARN for the EventBridge bus. + /// + [Input("eventBridgeConfig")] + public Input? EventBridgeConfig { get; set; } + + /// + /// Endpoints for an HTTP data source. + /// + [Input("httpConfig")] + public Input? HttpConfig { get; set; } + + /// + /// An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + /// + [Input("lambdaConfig")] + public Input? LambdaConfig { get; set; } + + /// + /// Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + /// + /// `MetricsConfig` can be `ENABLED` or `DISABLED` . + /// + [Input("metricsConfig")] + public Input? MetricsConfig { get; set; } + + /// + /// Friendly name for you to identify your AppSync data source after creation. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + /// + [Input("openSearchServiceConfig")] + public Input? OpenSearchServiceConfig { get; set; } + + /// + /// Relational Database configuration of the relational database data source. + /// + [Input("relationalDatabaseConfig")] + public Input? RelationalDatabaseConfig { get; set; } + + /// + /// The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + /// + [Input("serviceRoleArn")] + public Input? ServiceRoleArn { get; set; } + + /// + /// The type of the data source. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public DataSourceArgs() + { + } + public static new DataSourceArgs Empty => new DataSourceArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Enums.cs b/sdk/dotnet/AppSync/Enums.cs index 8debb843a0..711775253d 100644 --- a/sdk/dotnet/AppSync/Enums.cs +++ b/sdk/dotnet/AppSync/Enums.cs @@ -7,6 +7,39 @@ namespace Pulumi.AwsNative.AppSync { + /// + /// Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + /// + /// `MetricsConfig` can be `ENABLED` or `DISABLED` . + /// + [EnumType] + public readonly struct DataSourceMetricsConfig : IEquatable + { + private readonly string _value; + + private DataSourceMetricsConfig(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DataSourceMetricsConfig Disabled { get; } = new DataSourceMetricsConfig("DISABLED"); + public static DataSourceMetricsConfig Enabled { get; } = new DataSourceMetricsConfig("ENABLED"); + + public static bool operator ==(DataSourceMetricsConfig left, DataSourceMetricsConfig right) => left.Equals(right); + public static bool operator !=(DataSourceMetricsConfig left, DataSourceMetricsConfig right) => !left.Equals(right); + + public static explicit operator string(DataSourceMetricsConfig value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DataSourceMetricsConfig other && Equals(other); + public bool Equals(DataSourceMetricsConfig other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Enables or disables enhanced resolver metrics for specified resolvers. Note that ``MetricsConfig`` won't be used unless the ``resolverLevelMetricsBehavior`` value is set to ``PER_RESOLVER_METRICS``. If the ``resolverLevelMetricsBehavior`` is set to ``FULL_REQUEST_RESOLVER_METRICS`` instead, ``MetricsConfig`` will be ignored. However, you can still set its value. /// diff --git a/sdk/dotnet/AppSync/GetDataSource.cs b/sdk/dotnet/AppSync/GetDataSource.cs new file mode 100644 index 0000000000..1a9e034ec1 --- /dev/null +++ b/sdk/dotnet/AppSync/GetDataSource.cs @@ -0,0 +1,152 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync +{ + public static class GetDataSource + { + /// + /// Resource Type definition for AWS::AppSync::DataSource + /// + public static Task InvokeAsync(GetDataSourceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:appsync:getDataSource", args ?? new GetDataSourceArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::AppSync::DataSource + /// + public static Output Invoke(GetDataSourceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:appsync:getDataSource", args ?? new GetDataSourceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDataSourceArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + /// + [Input("dataSourceArn", required: true)] + public string DataSourceArn { get; set; } = null!; + + public GetDataSourceArgs() + { + } + public static new GetDataSourceArgs Empty => new GetDataSourceArgs(); + } + + public sealed class GetDataSourceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + /// + [Input("dataSourceArn", required: true)] + public Input DataSourceArn { get; set; } = null!; + + public GetDataSourceInvokeArgs() + { + } + public static new GetDataSourceInvokeArgs Empty => new GetDataSourceInvokeArgs(); + } + + + [OutputType] + public sealed class GetDataSourceResult + { + /// + /// The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + /// + public readonly string? DataSourceArn; + /// + /// The description of the data source. + /// + public readonly string? Description; + /// + /// AWS Region and TableName for an Amazon DynamoDB table in your account. + /// + public readonly Outputs.DataSourceDynamoDbConfig? DynamoDbConfig; + /// + /// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + /// As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + /// + public readonly Outputs.DataSourceElasticsearchConfig? ElasticsearchConfig; + /// + /// ARN for the EventBridge bus. + /// + public readonly Outputs.DataSourceEventBridgeConfig? EventBridgeConfig; + /// + /// Endpoints for an HTTP data source. + /// + public readonly Outputs.DataSourceHttpConfig? HttpConfig; + /// + /// An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + /// + public readonly Outputs.DataSourceLambdaConfig? LambdaConfig; + /// + /// Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + /// + /// `MetricsConfig` can be `ENABLED` or `DISABLED` . + /// + public readonly Pulumi.AwsNative.AppSync.DataSourceMetricsConfig? MetricsConfig; + /// + /// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + /// + public readonly Outputs.DataSourceOpenSearchServiceConfig? OpenSearchServiceConfig; + /// + /// Relational Database configuration of the relational database data source. + /// + public readonly Outputs.DataSourceRelationalDatabaseConfig? RelationalDatabaseConfig; + /// + /// The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + /// + public readonly string? ServiceRoleArn; + /// + /// The type of the data source. + /// + public readonly string? Type; + + [OutputConstructor] + private GetDataSourceResult( + string? dataSourceArn, + + string? description, + + Outputs.DataSourceDynamoDbConfig? dynamoDbConfig, + + Outputs.DataSourceElasticsearchConfig? elasticsearchConfig, + + Outputs.DataSourceEventBridgeConfig? eventBridgeConfig, + + Outputs.DataSourceHttpConfig? httpConfig, + + Outputs.DataSourceLambdaConfig? lambdaConfig, + + Pulumi.AwsNative.AppSync.DataSourceMetricsConfig? metricsConfig, + + Outputs.DataSourceOpenSearchServiceConfig? openSearchServiceConfig, + + Outputs.DataSourceRelationalDatabaseConfig? relationalDatabaseConfig, + + string? serviceRoleArn, + + string? type) + { + DataSourceArn = dataSourceArn; + Description = description; + DynamoDbConfig = dynamoDbConfig; + ElasticsearchConfig = elasticsearchConfig; + EventBridgeConfig = eventBridgeConfig; + HttpConfig = httpConfig; + LambdaConfig = lambdaConfig; + MetricsConfig = metricsConfig; + OpenSearchServiceConfig = openSearchServiceConfig; + RelationalDatabaseConfig = relationalDatabaseConfig; + ServiceRoleArn = serviceRoleArn; + Type = type; + } + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceAuthorizationConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceAuthorizationConfigArgs.cs new file mode 100644 index 0000000000..9c507bc6bc --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceAuthorizationConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceAuthorizationConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The authorization type that the HTTP endpoint requires. + /// + [Input("authorizationType", required: true)] + public Input AuthorizationType { get; set; } = null!; + + /// + /// The AWS Identity and Access Management settings. + /// + [Input("awsIamConfig")] + public Input? AwsIamConfig { get; set; } + + public DataSourceAuthorizationConfigArgs() + { + } + public static new DataSourceAuthorizationConfigArgs Empty => new DataSourceAuthorizationConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceAwsIamConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceAwsIamConfigArgs.cs new file mode 100644 index 0000000000..2cc58e1dd4 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceAwsIamConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceAwsIamConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The signing Region for AWS Identity and Access Management authorization. + /// + [Input("signingRegion")] + public Input? SigningRegion { get; set; } + + /// + /// The signing service name for AWS Identity and Access Management authorization. + /// + [Input("signingServiceName")] + public Input? SigningServiceName { get; set; } + + public DataSourceAwsIamConfigArgs() + { + } + public static new DataSourceAwsIamConfigArgs Empty => new DataSourceAwsIamConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceDeltaSyncConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceDeltaSyncConfigArgs.cs new file mode 100644 index 0000000000..5c306fd61a --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceDeltaSyncConfigArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceDeltaSyncConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of minutes that an Item is stored in the data source. + /// + [Input("baseTableTtl", required: true)] + public Input BaseTableTtl { get; set; } = null!; + + /// + /// The Delta Sync table name. + /// + [Input("deltaSyncTableName", required: true)] + public Input DeltaSyncTableName { get; set; } = null!; + + /// + /// The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + /// + [Input("deltaSyncTableTtl", required: true)] + public Input DeltaSyncTableTtl { get; set; } = null!; + + public DataSourceDeltaSyncConfigArgs() + { + } + public static new DataSourceDeltaSyncConfigArgs Empty => new DataSourceDeltaSyncConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceDynamoDbConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceDynamoDbConfigArgs.cs new file mode 100644 index 0000000000..45dcf9d459 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceDynamoDbConfigArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceDynamoDbConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS Region. + /// + [Input("awsRegion", required: true)] + public Input AwsRegion { get; set; } = null!; + + /// + /// The DeltaSyncConfig for a versioned datasource. + /// + [Input("deltaSyncConfig")] + public Input? DeltaSyncConfig { get; set; } + + /// + /// The table name. + /// + [Input("tableName", required: true)] + public Input TableName { get; set; } = null!; + + /// + /// Set to TRUE to use AWS Identity and Access Management with this data source. + /// + [Input("useCallerCredentials")] + public Input? UseCallerCredentials { get; set; } + + /// + /// Set to TRUE to use Conflict Detection and Resolution with this data source. + /// + [Input("versioned")] + public Input? Versioned { get; set; } + + public DataSourceDynamoDbConfigArgs() + { + } + public static new DataSourceDynamoDbConfigArgs Empty => new DataSourceDynamoDbConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceElasticsearchConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceElasticsearchConfigArgs.cs new file mode 100644 index 0000000000..2c0968e13a --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceElasticsearchConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceElasticsearchConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS Region. + /// + [Input("awsRegion", required: true)] + public Input AwsRegion { get; set; } = null!; + + /// + /// The endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public DataSourceElasticsearchConfigArgs() + { + } + public static new DataSourceElasticsearchConfigArgs Empty => new DataSourceElasticsearchConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceEventBridgeConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceEventBridgeConfigArgs.cs new file mode 100644 index 0000000000..db20264d13 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceEventBridgeConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceEventBridgeConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// ARN for the EventBridge bus. + /// + [Input("eventBusArn", required: true)] + public Input EventBusArn { get; set; } = null!; + + public DataSourceEventBridgeConfigArgs() + { + } + public static new DataSourceEventBridgeConfigArgs Empty => new DataSourceEventBridgeConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceHttpConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceHttpConfigArgs.cs new file mode 100644 index 0000000000..7a956cfd1c --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceHttpConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceHttpConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The authorization configuration. + /// + [Input("authorizationConfig")] + public Input? AuthorizationConfig { get; set; } + + /// + /// The endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public DataSourceHttpConfigArgs() + { + } + public static new DataSourceHttpConfigArgs Empty => new DataSourceHttpConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceLambdaConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceLambdaConfigArgs.cs new file mode 100644 index 0000000000..fc67be1457 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceLambdaConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceLambdaConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN for the Lambda function. + /// + [Input("lambdaFunctionArn", required: true)] + public Input LambdaFunctionArn { get; set; } = null!; + + public DataSourceLambdaConfigArgs() + { + } + public static new DataSourceLambdaConfigArgs Empty => new DataSourceLambdaConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceOpenSearchServiceConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceOpenSearchServiceConfigArgs.cs new file mode 100644 index 0000000000..4a16e1f805 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceOpenSearchServiceConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceOpenSearchServiceConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS Region. + /// + [Input("awsRegion", required: true)] + public Input AwsRegion { get; set; } = null!; + + /// + /// The endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public DataSourceOpenSearchServiceConfigArgs() + { + } + public static new DataSourceOpenSearchServiceConfigArgs Empty => new DataSourceOpenSearchServiceConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceRdsHttpEndpointConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceRdsHttpEndpointConfigArgs.cs new file mode 100644 index 0000000000..7db3896e08 --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceRdsHttpEndpointConfigArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceRdsHttpEndpointConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS Region for RDS HTTP endpoint. + /// + [Input("awsRegion", required: true)] + public Input AwsRegion { get; set; } = null!; + + /// + /// The ARN for database credentials stored in AWS Secrets Manager. + /// + [Input("awsSecretStoreArn", required: true)] + public Input AwsSecretStoreArn { get; set; } = null!; + + /// + /// Logical database name. + /// + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + /// + /// Amazon RDS cluster Amazon Resource Name (ARN). + /// + [Input("dbClusterIdentifier", required: true)] + public Input DbClusterIdentifier { get; set; } = null!; + + /// + /// Logical schema name. + /// + [Input("schema")] + public Input? Schema { get; set; } + + public DataSourceRdsHttpEndpointConfigArgs() + { + } + public static new DataSourceRdsHttpEndpointConfigArgs Empty => new DataSourceRdsHttpEndpointConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Inputs/DataSourceRelationalDatabaseConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/DataSourceRelationalDatabaseConfigArgs.cs new file mode 100644 index 0000000000..042df204fa --- /dev/null +++ b/sdk/dotnet/AppSync/Inputs/DataSourceRelationalDatabaseConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Inputs +{ + + public sealed class DataSourceRelationalDatabaseConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Information about the Amazon RDS resource. + /// + [Input("rdsHttpEndpointConfig")] + public Input? RdsHttpEndpointConfig { get; set; } + + /// + /// The type of relational data source. + /// + [Input("relationalDatabaseSourceType", required: true)] + public Input RelationalDatabaseSourceType { get; set; } = null!; + + public DataSourceRelationalDatabaseConfigArgs() + { + } + public static new DataSourceRelationalDatabaseConfigArgs Empty => new DataSourceRelationalDatabaseConfigArgs(); + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceAuthorizationConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceAuthorizationConfig.cs new file mode 100644 index 0000000000..2d038deb44 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceAuthorizationConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceAuthorizationConfig + { + /// + /// The authorization type that the HTTP endpoint requires. + /// + public readonly string AuthorizationType; + /// + /// The AWS Identity and Access Management settings. + /// + public readonly Outputs.DataSourceAwsIamConfig? AwsIamConfig; + + [OutputConstructor] + private DataSourceAuthorizationConfig( + string authorizationType, + + Outputs.DataSourceAwsIamConfig? awsIamConfig) + { + AuthorizationType = authorizationType; + AwsIamConfig = awsIamConfig; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceAwsIamConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceAwsIamConfig.cs new file mode 100644 index 0000000000..ec8ee4bafa --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceAwsIamConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceAwsIamConfig + { + /// + /// The signing Region for AWS Identity and Access Management authorization. + /// + public readonly string? SigningRegion; + /// + /// The signing service name for AWS Identity and Access Management authorization. + /// + public readonly string? SigningServiceName; + + [OutputConstructor] + private DataSourceAwsIamConfig( + string? signingRegion, + + string? signingServiceName) + { + SigningRegion = signingRegion; + SigningServiceName = signingServiceName; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceDeltaSyncConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceDeltaSyncConfig.cs new file mode 100644 index 0000000000..00e910081f --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceDeltaSyncConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceDeltaSyncConfig + { + /// + /// The number of minutes that an Item is stored in the data source. + /// + public readonly string BaseTableTtl; + /// + /// The Delta Sync table name. + /// + public readonly string DeltaSyncTableName; + /// + /// The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + /// + public readonly string DeltaSyncTableTtl; + + [OutputConstructor] + private DataSourceDeltaSyncConfig( + string baseTableTtl, + + string deltaSyncTableName, + + string deltaSyncTableTtl) + { + BaseTableTtl = baseTableTtl; + DeltaSyncTableName = deltaSyncTableName; + DeltaSyncTableTtl = deltaSyncTableTtl; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceDynamoDbConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceDynamoDbConfig.cs new file mode 100644 index 0000000000..2c840f378c --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceDynamoDbConfig.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceDynamoDbConfig + { + /// + /// The AWS Region. + /// + public readonly string AwsRegion; + /// + /// The DeltaSyncConfig for a versioned datasource. + /// + public readonly Outputs.DataSourceDeltaSyncConfig? DeltaSyncConfig; + /// + /// The table name. + /// + public readonly string TableName; + /// + /// Set to TRUE to use AWS Identity and Access Management with this data source. + /// + public readonly bool? UseCallerCredentials; + /// + /// Set to TRUE to use Conflict Detection and Resolution with this data source. + /// + public readonly bool? Versioned; + + [OutputConstructor] + private DataSourceDynamoDbConfig( + string awsRegion, + + Outputs.DataSourceDeltaSyncConfig? deltaSyncConfig, + + string tableName, + + bool? useCallerCredentials, + + bool? versioned) + { + AwsRegion = awsRegion; + DeltaSyncConfig = deltaSyncConfig; + TableName = tableName; + UseCallerCredentials = useCallerCredentials; + Versioned = versioned; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceElasticsearchConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceElasticsearchConfig.cs new file mode 100644 index 0000000000..b2b64d92a3 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceElasticsearchConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceElasticsearchConfig + { + /// + /// The AWS Region. + /// + public readonly string AwsRegion; + /// + /// The endpoint. + /// + public readonly string Endpoint; + + [OutputConstructor] + private DataSourceElasticsearchConfig( + string awsRegion, + + string endpoint) + { + AwsRegion = awsRegion; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceEventBridgeConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceEventBridgeConfig.cs new file mode 100644 index 0000000000..32923da13f --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceEventBridgeConfig.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceEventBridgeConfig + { + /// + /// ARN for the EventBridge bus. + /// + public readonly string EventBusArn; + + [OutputConstructor] + private DataSourceEventBridgeConfig(string eventBusArn) + { + EventBusArn = eventBusArn; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceHttpConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceHttpConfig.cs new file mode 100644 index 0000000000..a599e765ce --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceHttpConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceHttpConfig + { + /// + /// The authorization configuration. + /// + public readonly Outputs.DataSourceAuthorizationConfig? AuthorizationConfig; + /// + /// The endpoint. + /// + public readonly string Endpoint; + + [OutputConstructor] + private DataSourceHttpConfig( + Outputs.DataSourceAuthorizationConfig? authorizationConfig, + + string endpoint) + { + AuthorizationConfig = authorizationConfig; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceLambdaConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceLambdaConfig.cs new file mode 100644 index 0000000000..45d9756e1c --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceLambdaConfig.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceLambdaConfig + { + /// + /// The ARN for the Lambda function. + /// + public readonly string LambdaFunctionArn; + + [OutputConstructor] + private DataSourceLambdaConfig(string lambdaFunctionArn) + { + LambdaFunctionArn = lambdaFunctionArn; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceOpenSearchServiceConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceOpenSearchServiceConfig.cs new file mode 100644 index 0000000000..3109eb3962 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceOpenSearchServiceConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceOpenSearchServiceConfig + { + /// + /// The AWS Region. + /// + public readonly string AwsRegion; + /// + /// The endpoint. + /// + public readonly string Endpoint; + + [OutputConstructor] + private DataSourceOpenSearchServiceConfig( + string awsRegion, + + string endpoint) + { + AwsRegion = awsRegion; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceRdsHttpEndpointConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceRdsHttpEndpointConfig.cs new file mode 100644 index 0000000000..3218791508 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceRdsHttpEndpointConfig.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceRdsHttpEndpointConfig + { + /// + /// AWS Region for RDS HTTP endpoint. + /// + public readonly string AwsRegion; + /// + /// The ARN for database credentials stored in AWS Secrets Manager. + /// + public readonly string AwsSecretStoreArn; + /// + /// Logical database name. + /// + public readonly string? DatabaseName; + /// + /// Amazon RDS cluster Amazon Resource Name (ARN). + /// + public readonly string DbClusterIdentifier; + /// + /// Logical schema name. + /// + public readonly string? Schema; + + [OutputConstructor] + private DataSourceRdsHttpEndpointConfig( + string awsRegion, + + string awsSecretStoreArn, + + string? databaseName, + + string dbClusterIdentifier, + + string? schema) + { + AwsRegion = awsRegion; + AwsSecretStoreArn = awsSecretStoreArn; + DatabaseName = databaseName; + DbClusterIdentifier = dbClusterIdentifier; + Schema = schema; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/DataSourceRelationalDatabaseConfig.cs b/sdk/dotnet/AppSync/Outputs/DataSourceRelationalDatabaseConfig.cs new file mode 100644 index 0000000000..c5cb0a1707 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/DataSourceRelationalDatabaseConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.AppSync.Outputs +{ + + [OutputType] + public sealed class DataSourceRelationalDatabaseConfig + { + /// + /// Information about the Amazon RDS resource. + /// + public readonly Outputs.DataSourceRdsHttpEndpointConfig? RdsHttpEndpointConfig; + /// + /// The type of relational data source. + /// + public readonly string RelationalDatabaseSourceType; + + [OutputConstructor] + private DataSourceRelationalDatabaseConfig( + Outputs.DataSourceRdsHttpEndpointConfig? rdsHttpEndpointConfig, + + string relationalDatabaseSourceType) + { + RdsHttpEndpointConfig = rdsHttpEndpointConfig; + RelationalDatabaseSourceType = relationalDatabaseSourceType; + } + } +} diff --git a/sdk/dotnet/CodeBuild/Enums.cs b/sdk/dotnet/CodeBuild/Enums.cs index 17b24a54f3..525398031f 100644 --- a/sdk/dotnet/CodeBuild/Enums.cs +++ b/sdk/dotnet/CodeBuild/Enums.cs @@ -8,8 +8,6 @@ namespace Pulumi.AwsNative.CodeBuild { /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -64,8 +62,6 @@ private FleetComputeType(string value) } /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/dotnet/CodeBuild/Fleet.cs b/sdk/dotnet/CodeBuild/Fleet.cs index dd58d9c5a4..bace1914f8 100644 --- a/sdk/dotnet/CodeBuild/Fleet.cs +++ b/sdk/dotnet/CodeBuild/Fleet.cs @@ -28,8 +28,6 @@ public partial class Fleet : global::Pulumi.CustomResource public Output BaseCapacity { get; private set; } = null!; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -56,8 +54,6 @@ public partial class Fleet : global::Pulumi.CustomResource public Output ComputeType { get; private set; } = null!; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -78,16 +74,12 @@ public partial class Fleet : global::Pulumi.CustomResource public Output FleetServiceRole { get; private set; } = null!; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// Information about the VPC configuration that AWS CodeBuild accesses. /// [Output("fleetVpcConfig")] public Output FleetVpcConfig { get; private set; } = null!; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// The Amazon Machine Image (AMI) of the compute fleet. /// [Output("imageId")] @@ -170,8 +162,6 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? BaseCapacity { get; set; } /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -198,8 +188,6 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? ComputeType { get; set; } /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -220,16 +208,12 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? FleetServiceRole { get; set; } /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// Information about the VPC configuration that AWS CodeBuild accesses. /// [Input("fleetVpcConfig")] public Input? FleetVpcConfig { get; set; } /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// The Amazon Machine Image (AMI) of the compute fleet. /// [Input("imageId")] diff --git a/sdk/dotnet/CodeBuild/GetFleet.cs b/sdk/dotnet/CodeBuild/GetFleet.cs index 3e326f8157..f9210b6e04 100644 --- a/sdk/dotnet/CodeBuild/GetFleet.cs +++ b/sdk/dotnet/CodeBuild/GetFleet.cs @@ -66,8 +66,6 @@ public sealed class GetFleetResult /// public readonly int? BaseCapacity; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -92,8 +90,6 @@ public sealed class GetFleetResult /// public readonly Pulumi.AwsNative.CodeBuild.FleetComputeType? ComputeType; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -110,14 +106,10 @@ public sealed class GetFleetResult /// public readonly string? FleetServiceRole; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// Information about the VPC configuration that AWS CodeBuild accesses. /// public readonly Outputs.FleetVpcConfig? FleetVpcConfig; /// - /// > Updating this field is not allowed for `MAC_ARM` . - /// /// The Amazon Machine Image (AMI) of the compute fleet. /// public readonly string? ImageId; diff --git a/sdk/dotnet/CodePipeline/Enums.cs b/sdk/dotnet/CodePipeline/Enums.cs index a5d6a1ff18..2ecc5f05e1 100644 --- a/sdk/dotnet/CodePipeline/Enums.cs +++ b/sdk/dotnet/CodePipeline/Enums.cs @@ -26,6 +26,7 @@ private PipelineActionTypeIdCategory(string value) public static PipelineActionTypeIdCategory Deploy { get; } = new PipelineActionTypeIdCategory("Deploy"); public static PipelineActionTypeIdCategory Invoke { get; } = new PipelineActionTypeIdCategory("Invoke"); public static PipelineActionTypeIdCategory Approval { get; } = new PipelineActionTypeIdCategory("Approval"); + public static PipelineActionTypeIdCategory Compute { get; } = new PipelineActionTypeIdCategory("Compute"); public static bool operator ==(PipelineActionTypeIdCategory left, PipelineActionTypeIdCategory right) => left.Equals(right); public static bool operator !=(PipelineActionTypeIdCategory left, PipelineActionTypeIdCategory right) => !left.Equals(right); diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineActionDeclarationArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineActionDeclarationArgs.cs index e0787310c8..8cced60e36 100644 --- a/sdk/dotnet/CodePipeline/Inputs/PipelineActionDeclarationArgs.cs +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineActionDeclarationArgs.cs @@ -21,6 +21,18 @@ public sealed class PipelineActionDeclarationArgs : global::Pulumi.ResourceArgs [Input("actionTypeId", required: true)] public Input ActionTypeId { get; set; } = null!; + [Input("commands")] + private InputList? _commands; + + /// + /// The shell commands to run with your compute action in CodePipeline. + /// + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + /// /// The action's configuration. These are key-value pairs that specify input values for an action. /// @@ -65,6 +77,18 @@ public InputList OutputArtifacts set => _outputArtifacts = value; } + [Input("outputVariables")] + private InputList? _outputVariables; + + /// + /// The list of variables that are to be exported from the compute action. + /// + public InputList OutputVariables + { + get => _outputVariables ?? (_outputVariables = new InputList()); + set => _outputVariables = value; + } + /// /// The action declaration's AWS Region, such as us-east-1. /// diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineOutputArtifactArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineOutputArtifactArgs.cs index 839cdd871b..d2bb1bba82 100644 --- a/sdk/dotnet/CodePipeline/Inputs/PipelineOutputArtifactArgs.cs +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineOutputArtifactArgs.cs @@ -15,6 +15,18 @@ namespace Pulumi.AwsNative.CodePipeline.Inputs /// public sealed class PipelineOutputArtifactArgs : global::Pulumi.ResourceArgs { + [Input("files")] + private InputList? _files; + + /// + /// The files that you want to associate with the output artifact that will be exported from the compute action. + /// + public InputList Files + { + get => _files ?? (_files = new InputList()); + set => _files = value; + } + /// /// The name of the output of an artifact, such as "My App". /// diff --git a/sdk/dotnet/CodePipeline/Outputs/PipelineActionDeclaration.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineActionDeclaration.cs index 2949a89fdf..50a4818e05 100644 --- a/sdk/dotnet/CodePipeline/Outputs/PipelineActionDeclaration.cs +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineActionDeclaration.cs @@ -21,6 +21,10 @@ public sealed class PipelineActionDeclaration /// public readonly Outputs.PipelineActionTypeId ActionTypeId; /// + /// The shell commands to run with your compute action in CodePipeline. + /// + public readonly ImmutableArray Commands; + /// /// The action's configuration. These are key-value pairs that specify input values for an action. /// public readonly object? Configuration; @@ -43,6 +47,10 @@ public sealed class PipelineActionDeclaration /// public readonly ImmutableArray OutputArtifacts; /// + /// The list of variables that are to be exported from the compute action. + /// + public readonly ImmutableArray OutputVariables; + /// /// The action declaration's AWS Region, such as us-east-1. /// public readonly string? Region; @@ -63,6 +71,8 @@ public sealed class PipelineActionDeclaration private PipelineActionDeclaration( Outputs.PipelineActionTypeId actionTypeId, + ImmutableArray commands, + object? configuration, ImmutableArray inputArtifacts, @@ -73,6 +83,8 @@ private PipelineActionDeclaration( ImmutableArray outputArtifacts, + ImmutableArray outputVariables, + string? region, string? roleArn, @@ -82,11 +94,13 @@ private PipelineActionDeclaration( int? timeoutInMinutes) { ActionTypeId = actionTypeId; + Commands = commands; Configuration = configuration; InputArtifacts = inputArtifacts; Name = name; Namespace = @namespace; OutputArtifacts = outputArtifacts; + OutputVariables = outputVariables; Region = region; RoleArn = roleArn; RunOrder = runOrder; diff --git a/sdk/dotnet/CodePipeline/Outputs/PipelineOutputArtifact.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineOutputArtifact.cs index 858f625e23..1204a46ec4 100644 --- a/sdk/dotnet/CodePipeline/Outputs/PipelineOutputArtifact.cs +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineOutputArtifact.cs @@ -16,14 +16,22 @@ namespace Pulumi.AwsNative.CodePipeline.Outputs [OutputType] public sealed class PipelineOutputArtifact { + /// + /// The files that you want to associate with the output artifact that will be exported from the compute action. + /// + public readonly ImmutableArray Files; /// /// The name of the output of an artifact, such as "My App". /// public readonly string Name; [OutputConstructor] - private PipelineOutputArtifact(string name) + private PipelineOutputArtifact( + ImmutableArray files, + + string name) { + Files = files; Name = name; } } diff --git a/sdk/dotnet/Cognito/GetUserPool.cs b/sdk/dotnet/Cognito/GetUserPool.cs index 2af68395e7..c3c85ce214 100644 --- a/sdk/dotnet/Cognito/GetUserPool.cs +++ b/sdk/dotnet/Cognito/GetUserPool.cs @@ -58,7 +58,7 @@ public GetUserPoolInvokeArgs() public sealed class GetUserPoolResult { /// - /// Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + /// The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. /// public readonly Outputs.UserPoolAccountRecoverySetting? AccountRecoverySetting; /// @@ -69,8 +69,6 @@ public sealed class GetUserPoolResult public readonly Outputs.UserPoolAdminCreateUserConfig? AdminCreateUserConfig; /// /// Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - /// - /// > This user pool property cannot be updated. /// public readonly ImmutableArray AliasAttributes; /// @@ -102,11 +100,11 @@ public sealed class GetUserPoolResult /// public readonly Outputs.UserPoolEmailConfiguration? EmailConfiguration; /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// public readonly string? EmailVerificationMessage; /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// public readonly string? EmailVerificationSubject; /// @@ -128,7 +126,7 @@ public sealed class GetUserPoolResult /// public readonly Outputs.UserPoolPolicies? Policies; /// - /// The provider name of the Amazon Cognito user pool, specified as a `String` . + /// A friendly name for the IdP. /// public readonly string? ProviderName; /// @@ -136,13 +134,11 @@ public sealed class GetUserPoolResult /// public readonly string? ProviderUrl; /// - /// The schema attributes for the new user pool. These attributes can be standard or custom attributes. - /// - /// > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + /// An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. /// public readonly ImmutableArray Schema; /// - /// A string representing the SMS authentication message. + /// The contents of the SMS authentication message. /// public readonly string? SmsAuthenticationMessage; /// @@ -150,7 +146,7 @@ public sealed class GetUserPoolResult /// public readonly Outputs.UserPoolSmsConfiguration? SmsConfiguration; /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// public readonly string? SmsVerificationMessage; /// @@ -178,13 +174,13 @@ public sealed class GetUserPoolResult /// public readonly ImmutableDictionary? UserPoolTags; /// - /// Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - /// - /// This user pool property cannot be updated. + /// Specifies whether a user can use an email address or phone number as a username when they sign up. /// public readonly ImmutableArray UsernameAttributes; /// - /// You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + /// Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + /// + /// This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . /// public readonly Outputs.UserPoolUsernameConfiguration? UsernameConfiguration; /// diff --git a/sdk/dotnet/Cognito/GetUserPoolClient.cs b/sdk/dotnet/Cognito/GetUserPoolClient.cs index ad9e92c1fa..5bd137ffe8 100644 --- a/sdk/dotnet/Cognito/GetUserPoolClient.cs +++ b/sdk/dotnet/Cognito/GetUserPoolClient.cs @@ -72,9 +72,13 @@ public sealed class GetUserPoolClientResult /// /// The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. /// - /// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + /// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + /// their access token for 10 hours. /// - /// The default time unit for `AccessTokenValidity` in an API request is hours. + /// The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + /// + /// If you don't specify otherwise in the configuration of your app client, your access + /// tokens are valid for one hour. /// public readonly int? AccessTokenValidity; /// @@ -185,7 +189,10 @@ public sealed class GetUserPoolClientResult /// /// For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. /// - /// The default time unit for `IdTokenValidity` in an API request is hours. + /// The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + /// + /// If you don't specify otherwise in the configuration of your app client, your ID + /// tokens are valid for one hour. /// public readonly int? IdTokenValidity; /// @@ -194,7 +201,14 @@ public sealed class GetUserPoolClientResult public readonly ImmutableArray LogoutUrls; public readonly string? Name; /// - /// Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + /// Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + /// + /// Valid values include: + /// + /// - `ENABLED` - This prevents user existence-related errors. + /// - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + /// + /// Defaults to `LEGACY` when you don't provide a value. /// public readonly string? PreventUserExistenceErrors; /// @@ -206,9 +220,13 @@ public sealed class GetUserPoolClientResult /// /// The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. /// - /// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + /// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + /// and retrieve new access and ID tokens for 10 days. + /// + /// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. /// - /// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + /// If you don't specify otherwise in the configuration of your app client, your refresh + /// tokens are valid for 30 days. /// public readonly int? RefreshTokenValidity; /// diff --git a/sdk/dotnet/Cognito/GetUserPoolResourceServer.cs b/sdk/dotnet/Cognito/GetUserPoolResourceServer.cs index dbddea07e0..a152ad0ff3 100644 --- a/sdk/dotnet/Cognito/GetUserPoolResourceServer.cs +++ b/sdk/dotnet/Cognito/GetUserPoolResourceServer.cs @@ -28,7 +28,9 @@ public static Output Invoke(GetUserPoolResource public sealed class GetUserPoolResourceServerArgs : global::Pulumi.InvokeArgs { /// - /// A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + /// A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + /// + /// Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. /// [Input("identifier", required: true)] public string Identifier { get; set; } = null!; @@ -48,7 +50,9 @@ public GetUserPoolResourceServerArgs() public sealed class GetUserPoolResourceServerInvokeArgs : global::Pulumi.InvokeArgs { /// - /// A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + /// A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + /// + /// Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. /// [Input("identifier", required: true)] public Input Identifier { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs b/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs index fdcc3b3778..7a2f903433 100644 --- a/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs +++ b/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs @@ -28,7 +28,7 @@ public static Output Invoke(GetUse public sealed class GetUserPoolRiskConfigurationAttachmentArgs : global::Pulumi.InvokeArgs { /// - /// The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + /// The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. /// [Input("clientId", required: true)] public string ClientId { get; set; } = null!; @@ -48,7 +48,7 @@ public GetUserPoolRiskConfigurationAttachmentArgs() public sealed class GetUserPoolRiskConfigurationAttachmentInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + /// The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. /// [Input("clientId", required: true)] public Input ClientId { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/GetUserPoolUiCustomizationAttachment.cs b/sdk/dotnet/Cognito/GetUserPoolUiCustomizationAttachment.cs index 04038714d6..9afeabf126 100644 --- a/sdk/dotnet/Cognito/GetUserPoolUiCustomizationAttachment.cs +++ b/sdk/dotnet/Cognito/GetUserPoolUiCustomizationAttachment.cs @@ -28,7 +28,7 @@ public static Output Invoke(GetUserP public sealed class GetUserPoolUiCustomizationAttachmentArgs : global::Pulumi.InvokeArgs { /// - /// The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + /// The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. /// [Input("clientId", required: true)] public string ClientId { get; set; } = null!; @@ -48,7 +48,7 @@ public GetUserPoolUiCustomizationAttachmentArgs() public sealed class GetUserPoolUiCustomizationAttachmentInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + /// The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. /// [Input("clientId", required: true)] public Input ClientId { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolAccountRecoverySettingArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolAccountRecoverySettingArgs.cs index 6ced29e1f7..2a07ef2771 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolAccountRecoverySettingArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolAccountRecoverySettingArgs.cs @@ -16,7 +16,7 @@ public sealed class UserPoolAccountRecoverySettingArgs : global::Pulumi.Resource private InputList? _recoveryMechanisms; /// - /// The list of `RecoveryOptionTypes` . + /// The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. /// public InputList RecoveryMechanisms { diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs index e247d087dc..f91bf1440e 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs @@ -19,7 +19,7 @@ public sealed class UserPoolAdminCreateUserConfigArgs : global::Pulumi.ResourceA public Input? AllowAdminCreateUserOnly { get; set; } /// - /// The message template to be used for the welcome message to new users. + /// The template for the welcome message to new users. /// /// See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . /// diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs index fa78f62620..0454654578 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolClientAnalyticsConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + /// The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications /// [Input("applicationArn")] public Input? ApplicationArn { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolCustomEmailSenderArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolCustomEmailSenderArgs.cs index 806fd86000..6e2dc61c67 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolCustomEmailSenderArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolCustomEmailSenderArgs.cs @@ -13,13 +13,15 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolCustomEmailSenderArgs : global::Pulumi.ResourceArgs { /// - /// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + /// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. /// [Input("lambdaArn")] public Input? LambdaArn { get; set; } /// - /// The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + /// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + /// + /// You must use a `LambdaVersion` of `V1_0` with a custom sender function. /// [Input("lambdaVersion")] public Input? LambdaVersion { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolCustomSmsSenderArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolCustomSmsSenderArgs.cs index 211f0520a6..c57b8c7c0d 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolCustomSmsSenderArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolCustomSmsSenderArgs.cs @@ -13,13 +13,15 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolCustomSmsSenderArgs : global::Pulumi.ResourceArgs { /// - /// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + /// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. /// [Input("lambdaArn")] public Input? LambdaArn { get; set; } /// - /// The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + /// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + /// + /// You must use a `LambdaVersion` of `V1_0` with a custom sender function. /// [Input("lambdaVersion")] public Input? LambdaVersion { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolEmailConfigurationArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolEmailConfigurationArgs.cs index af1547bb37..3a29212012 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolEmailConfigurationArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolEmailConfigurationArgs.cs @@ -13,10 +13,10 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolEmailConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + /// The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: /// - /// - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - /// - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + /// - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + /// - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. /// [Input("configurationSet")] public Input? ConfigurationSet { get; set; } @@ -39,7 +39,7 @@ public sealed class UserPoolEmailConfigurationArgs : global::Pulumi.ResourceArgs public Input? EmailSendingAccount { get; set; } /// - /// Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User <testuser@example.com>` . This address appears before the body of the email. + /// Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User <testuser@example.com>` . This address appears before the body of the email. /// [Input("from")] public Input? From { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs index d39ceb1c66..a64573f6a1 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs @@ -19,7 +19,7 @@ public sealed class UserPoolLambdaConfigArgs : global::Pulumi.ResourceArgs public Input? CreateAuthChallenge { get; set; } /// - /// A custom email sender AWS Lambda trigger. + /// The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. /// [Input("customEmailSender")] public Input? CustomEmailSender { get; set; } @@ -31,7 +31,7 @@ public sealed class UserPoolLambdaConfigArgs : global::Pulumi.ResourceArgs public Input? CustomMessage { get; set; } /// - /// A custom SMS sender AWS Lambda trigger. + /// The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. /// [Input("customSmsSender")] public Input? CustomSmsSender { get; set; } @@ -43,7 +43,7 @@ public sealed class UserPoolLambdaConfigArgs : global::Pulumi.ResourceArgs public Input? DefineAuthChallenge { get; set; } /// - /// The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + /// The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. /// [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRecoveryOptionArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRecoveryOptionArgs.cs index c9fa7e0083..ae50fb1fd1 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRecoveryOptionArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRecoveryOptionArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRecoveryOptionArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the recovery method for a user. + /// The recovery method that this object sets a recovery option for. /// [Input("name")] public Input? Name { get; set; } /// - /// A positive integer specifying priority of a method with 1 being the highest priority. + /// Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . /// [Input("priority")] public Input? Priority { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolSchemaAttributeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolSchemaAttributeArgs.cs index 64c7c84e28..148cb7cd97 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolSchemaAttributeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolSchemaAttributeArgs.cs @@ -19,9 +19,9 @@ public sealed class UserPoolSchemaAttributeArgs : global::Pulumi.ResourceArgs public Input? AttributeDataType { get; set; } /// - /// > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + /// > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . /// - /// Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + /// Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. /// [Input("developerOnlyAttribute")] public Input? DeveloperOnlyAttribute { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolSmsConfigurationArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolSmsConfigurationArgs.cs index 48832dc48e..90c4dd1d97 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolSmsConfigurationArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolSmsConfigurationArgs.cs @@ -13,7 +13,9 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolSmsConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + /// The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + /// + /// For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . /// [Input("externalId")] public Input? ExternalId { get; set; } diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolAccountRecoverySetting.cs b/sdk/dotnet/Cognito/Outputs/UserPoolAccountRecoverySetting.cs index 02802d73fc..8337e0facc 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolAccountRecoverySetting.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolAccountRecoverySetting.cs @@ -14,7 +14,7 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolAccountRecoverySetting { /// - /// The list of `RecoveryOptionTypes` . + /// The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. /// public readonly ImmutableArray RecoveryMechanisms; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs b/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs index 0753572014..632abed93b 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs @@ -18,7 +18,7 @@ public sealed class UserPoolAdminCreateUserConfig /// public readonly bool? AllowAdminCreateUserOnly; /// - /// The message template to be used for the welcome message to new users. + /// The template for the welcome message to new users. /// /// See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs b/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs index 3e650aa919..32d9081fcb 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs @@ -14,7 +14,7 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolClientAnalyticsConfiguration { /// - /// The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + /// The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications /// public readonly string? ApplicationArn; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolCustomEmailSender.cs b/sdk/dotnet/Cognito/Outputs/UserPoolCustomEmailSender.cs index 32d8bce059..6661527de2 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolCustomEmailSender.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolCustomEmailSender.cs @@ -14,11 +14,13 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolCustomEmailSender { /// - /// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + /// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. /// public readonly string? LambdaArn; /// - /// The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + /// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + /// + /// You must use a `LambdaVersion` of `V1_0` with a custom sender function. /// public readonly string? LambdaVersion; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolCustomSmsSender.cs b/sdk/dotnet/Cognito/Outputs/UserPoolCustomSmsSender.cs index 3a52bc9a1f..ebd620082e 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolCustomSmsSender.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolCustomSmsSender.cs @@ -14,11 +14,13 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolCustomSmsSender { /// - /// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + /// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. /// public readonly string? LambdaArn; /// - /// The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + /// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + /// + /// You must use a `LambdaVersion` of `V1_0` with a custom sender function. /// public readonly string? LambdaVersion; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolEmailConfiguration.cs b/sdk/dotnet/Cognito/Outputs/UserPoolEmailConfiguration.cs index 347766ea78..d63f62c9eb 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolEmailConfiguration.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolEmailConfiguration.cs @@ -14,10 +14,10 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolEmailConfiguration { /// - /// The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + /// The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: /// - /// - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - /// - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + /// - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + /// - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. /// public readonly string? ConfigurationSet; /// @@ -36,7 +36,7 @@ public sealed class UserPoolEmailConfiguration /// public readonly string? EmailSendingAccount; /// - /// Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User <testuser@example.com>` . This address appears before the body of the email. + /// Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User <testuser@example.com>` . This address appears before the body of the email. /// public readonly string? From; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs b/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs index 839a01d271..b15ed7b29c 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs @@ -18,7 +18,7 @@ public sealed class UserPoolLambdaConfig /// public readonly string? CreateAuthChallenge; /// - /// A custom email sender AWS Lambda trigger. + /// The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. /// public readonly Outputs.UserPoolCustomEmailSender? CustomEmailSender; /// @@ -26,7 +26,7 @@ public sealed class UserPoolLambdaConfig /// public readonly string? CustomMessage; /// - /// A custom SMS sender AWS Lambda trigger. + /// The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. /// public readonly Outputs.UserPoolCustomSmsSender? CustomSmsSender; /// @@ -34,7 +34,7 @@ public sealed class UserPoolLambdaConfig /// public readonly string? DefineAuthChallenge; /// - /// The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + /// The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. /// public readonly string? KmsKeyId; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRecoveryOption.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRecoveryOption.cs index 8abc96a287..7b7dc18b13 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRecoveryOption.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRecoveryOption.cs @@ -14,11 +14,11 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRecoveryOption { /// - /// Specifies the recovery method for a user. + /// The recovery method that this object sets a recovery option for. /// public readonly string? Name; /// - /// A positive integer specifying priority of a method with 1 being the highest priority. + /// Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . /// public readonly int? Priority; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolSchemaAttribute.cs b/sdk/dotnet/Cognito/Outputs/UserPoolSchemaAttribute.cs index dbe0d45255..b68da1aa15 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolSchemaAttribute.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolSchemaAttribute.cs @@ -18,9 +18,9 @@ public sealed class UserPoolSchemaAttribute /// public readonly string? AttributeDataType; /// - /// > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + /// > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . /// - /// Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + /// Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. /// public readonly bool? DeveloperOnlyAttribute; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolSmsConfiguration.cs b/sdk/dotnet/Cognito/Outputs/UserPoolSmsConfiguration.cs index 7af438cf45..9e7c1380f4 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolSmsConfiguration.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolSmsConfiguration.cs @@ -14,7 +14,9 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolSmsConfiguration { /// - /// The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + /// The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + /// + /// For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . /// public readonly string? ExternalId; /// diff --git a/sdk/dotnet/Cognito/UserPool.cs b/sdk/dotnet/Cognito/UserPool.cs index fe233f18d1..62e3932d04 100644 --- a/sdk/dotnet/Cognito/UserPool.cs +++ b/sdk/dotnet/Cognito/UserPool.cs @@ -16,7 +16,7 @@ namespace Pulumi.AwsNative.Cognito public partial class UserPool : global::Pulumi.CustomResource { /// - /// Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + /// The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. /// [Output("accountRecoverySetting")] public Output AccountRecoverySetting { get; private set; } = null!; @@ -31,8 +31,6 @@ public partial class UserPool : global::Pulumi.CustomResource /// /// Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - /// - /// > This user pool property cannot be updated. /// [Output("aliasAttributes")] public Output> AliasAttributes { get; private set; } = null!; @@ -80,24 +78,25 @@ public partial class UserPool : global::Pulumi.CustomResource public Output EmailConfiguration { get; private set; } = null!; /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// [Output("emailVerificationMessage")] public Output EmailVerificationMessage { get; private set; } = null!; /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// [Output("emailVerificationSubject")] public Output EmailVerificationSubject { get; private set; } = null!; /// - /// Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + /// Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: /// - /// - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + /// - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . /// - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + /// - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . /// - /// Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + /// Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` /// [Output("enabledMfas")] public Output> EnabledMfas { get; private set; } = null!; @@ -127,7 +126,7 @@ public partial class UserPool : global::Pulumi.CustomResource public Output Policies { get; private set; } = null!; /// - /// The provider name of the Amazon Cognito user pool, specified as a `String` . + /// A friendly name for the IdP. /// [Output("providerName")] public Output ProviderName { get; private set; } = null!; @@ -139,15 +138,13 @@ public partial class UserPool : global::Pulumi.CustomResource public Output ProviderUrl { get; private set; } = null!; /// - /// The schema attributes for the new user pool. These attributes can be standard or custom attributes. - /// - /// > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + /// An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. /// [Output("schema")] public Output> Schema { get; private set; } = null!; /// - /// A string representing the SMS authentication message. + /// The contents of the SMS authentication message. /// [Output("smsAuthenticationMessage")] public Output SmsAuthenticationMessage { get; private set; } = null!; @@ -159,7 +156,7 @@ public partial class UserPool : global::Pulumi.CustomResource public Output SmsConfiguration { get; private set; } = null!; /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// [Output("smsVerificationMessage")] public Output SmsVerificationMessage { get; private set; } = null!; @@ -199,15 +196,15 @@ public partial class UserPool : global::Pulumi.CustomResource public Output?> UserPoolTags { get; private set; } = null!; /// - /// Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - /// - /// This user pool property cannot be updated. + /// Specifies whether a user can use an email address or phone number as a username when they sign up. /// [Output("usernameAttributes")] public Output> UsernameAttributes { get; private set; } = null!; /// - /// You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + /// Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + /// + /// This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . /// [Output("usernameConfiguration")] public Output UsernameConfiguration { get; private set; } = null!; @@ -266,7 +263,7 @@ public static UserPool Get(string name, Input id, CustomResourceOptions? public sealed class UserPoolArgs : global::Pulumi.ResourceArgs { /// - /// Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + /// The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. /// [Input("accountRecoverySetting")] public Input? AccountRecoverySetting { get; set; } @@ -284,8 +281,6 @@ public sealed class UserPoolArgs : global::Pulumi.ResourceArgs /// /// Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - /// - /// > This user pool property cannot be updated. /// public InputList AliasAttributes { @@ -336,13 +331,13 @@ public InputList AutoVerifiedAttributes public Input? EmailConfiguration { get; set; } /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// [Input("emailVerificationMessage")] public Input? EmailVerificationMessage { get; set; } /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// [Input("emailVerificationSubject")] public Input? EmailVerificationSubject { get; set; } @@ -351,12 +346,13 @@ public InputList AutoVerifiedAttributes private InputList? _enabledMfas; /// - /// Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + /// Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: /// - /// - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + /// - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . /// - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + /// - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . /// - /// Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + /// Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` /// public InputList EnabledMfas { @@ -392,9 +388,7 @@ public InputList EnabledMfas private InputList? _schema; /// - /// The schema attributes for the new user pool. These attributes can be standard or custom attributes. - /// - /// > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + /// An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. /// public InputList Schema { @@ -403,7 +397,7 @@ public InputList Schema } /// - /// A string representing the SMS authentication message. + /// The contents of the SMS authentication message. /// [Input("smsAuthenticationMessage")] public Input? SmsAuthenticationMessage { get; set; } @@ -415,7 +409,7 @@ public InputList Schema public Input? SmsConfiguration { get; set; } /// - /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + /// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . /// [Input("smsVerificationMessage")] public Input? SmsVerificationMessage { get; set; } @@ -458,9 +452,7 @@ public InputMap UserPoolTags private InputList? _usernameAttributes; /// - /// Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - /// - /// This user pool property cannot be updated. + /// Specifies whether a user can use an email address or phone number as a username when they sign up. /// public InputList UsernameAttributes { @@ -469,7 +461,9 @@ public InputList UsernameAttributes } /// - /// You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + /// Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + /// + /// This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . /// [Input("usernameConfiguration")] public Input? UsernameConfiguration { get; set; } diff --git a/sdk/dotnet/Cognito/UserPoolClient.cs b/sdk/dotnet/Cognito/UserPoolClient.cs index 803b3e02d7..76672ca21d 100644 --- a/sdk/dotnet/Cognito/UserPoolClient.cs +++ b/sdk/dotnet/Cognito/UserPoolClient.cs @@ -18,9 +18,13 @@ public partial class UserPoolClient : global::Pulumi.CustomResource /// /// The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. /// - /// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + /// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + /// their access token for 10 hours. /// - /// The default time unit for `AccessTokenValidity` in an API request is hours. + /// The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + /// + /// If you don't specify otherwise in the configuration of your app client, your access + /// tokens are valid for one hour. /// [Output("accessTokenValidity")] public Output AccessTokenValidity { get; private set; } = null!; @@ -165,7 +169,10 @@ public partial class UserPoolClient : global::Pulumi.CustomResource /// /// For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. /// - /// The default time unit for `IdTokenValidity` in an API request is hours. + /// The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + /// + /// If you don't specify otherwise in the configuration of your app client, your ID + /// tokens are valid for one hour. /// [Output("idTokenValidity")] public Output IdTokenValidity { get; private set; } = null!; @@ -180,7 +187,14 @@ public partial class UserPoolClient : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + /// Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + /// + /// Valid values include: + /// + /// - `ENABLED` - This prevents user existence-related errors. + /// - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + /// + /// Defaults to `LEGACY` when you don't provide a value. /// [Output("preventUserExistenceErrors")] public Output PreventUserExistenceErrors { get; private set; } = null!; @@ -196,9 +210,13 @@ public partial class UserPoolClient : global::Pulumi.CustomResource /// /// The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. /// - /// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + /// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + /// and retrieve new access and ID tokens for 10 days. + /// + /// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. /// - /// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + /// If you don't specify otherwise in the configuration of your app client, your refresh + /// tokens are valid for 30 days. /// [Output("refreshTokenValidity")] public Output RefreshTokenValidity { get; private set; } = null!; @@ -284,9 +302,13 @@ public sealed class UserPoolClientArgs : global::Pulumi.ResourceArgs /// /// The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. /// - /// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + /// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + /// their access token for 10 hours. /// - /// The default time unit for `AccessTokenValidity` in an API request is hours. + /// The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + /// + /// If you don't specify otherwise in the configuration of your app client, your access + /// tokens are valid for one hour. /// [Input("accessTokenValidity")] public Input? AccessTokenValidity { get; set; } @@ -446,7 +468,10 @@ public InputList ExplicitAuthFlows /// /// For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. /// - /// The default time unit for `IdTokenValidity` in an API request is hours. + /// The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + /// + /// If you don't specify otherwise in the configuration of your app client, your ID + /// tokens are valid for one hour. /// [Input("idTokenValidity")] public Input? IdTokenValidity { get; set; } @@ -464,7 +489,14 @@ public InputList LogoutUrls } /// - /// Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + /// Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + /// + /// Valid values include: + /// + /// - `ENABLED` - This prevents user existence-related errors. + /// - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + /// + /// Defaults to `LEGACY` when you don't provide a value. /// [Input("preventUserExistenceErrors")] public Input? PreventUserExistenceErrors { get; set; } @@ -486,9 +518,13 @@ public InputList ReadAttributes /// /// The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. /// - /// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + /// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + /// and retrieve new access and ID tokens for 10 days. + /// + /// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. /// - /// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + /// If you don't specify otherwise in the configuration of your app client, your refresh + /// tokens are valid for 30 days. /// [Input("refreshTokenValidity")] public Input? RefreshTokenValidity { get; set; } diff --git a/sdk/dotnet/Cognito/UserPoolDomain.cs b/sdk/dotnet/Cognito/UserPoolDomain.cs index ea8be8c418..12116dace1 100644 --- a/sdk/dotnet/Cognito/UserPoolDomain.cs +++ b/sdk/dotnet/Cognito/UserPoolDomain.cs @@ -34,7 +34,7 @@ public partial class UserPoolDomain : global::Pulumi.CustomResource public Output CustomDomainConfig { get; private set; } = null!; /// - /// The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + /// The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . /// /// This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. /// @@ -42,7 +42,7 @@ public partial class UserPoolDomain : global::Pulumi.CustomResource public Output Domain { get; private set; } = null!; /// - /// The user pool ID for the user pool where you want to associate a user pool domain. + /// The ID of the user pool that is associated with the custom domain whose certificate you're updating. /// [Output("userPoolId")] public Output UserPoolId { get; private set; } = null!; @@ -104,7 +104,7 @@ public sealed class UserPoolDomainArgs : global::Pulumi.ResourceArgs public Input? CustomDomainConfig { get; set; } /// - /// The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + /// The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . /// /// This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. /// @@ -112,7 +112,7 @@ public sealed class UserPoolDomainArgs : global::Pulumi.ResourceArgs public Input Domain { get; set; } = null!; /// - /// The user pool ID for the user pool where you want to associate a user pool domain. + /// The ID of the user pool that is associated with the custom domain whose certificate you're updating. /// [Input("userPoolId", required: true)] public Input UserPoolId { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/UserPoolResourceServer.cs b/sdk/dotnet/Cognito/UserPoolResourceServer.cs index 92ebcf4cfb..3ecb7d0088 100644 --- a/sdk/dotnet/Cognito/UserPoolResourceServer.cs +++ b/sdk/dotnet/Cognito/UserPoolResourceServer.cs @@ -16,7 +16,9 @@ namespace Pulumi.AwsNative.Cognito public partial class UserPoolResourceServer : global::Pulumi.CustomResource { /// - /// A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + /// A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + /// + /// Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. /// [Output("identifier")] public Output Identifier { get; private set; } = null!; @@ -90,7 +92,9 @@ public static UserPoolResourceServer Get(string name, Input id, CustomRe public sealed class UserPoolResourceServerArgs : global::Pulumi.ResourceArgs { /// - /// A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + /// A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + /// + /// Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. /// [Input("identifier", required: true)] public Input Identifier { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs b/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs index 1a881f79c7..fe2400bc44 100644 --- a/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs +++ b/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs @@ -22,7 +22,7 @@ public partial class UserPoolRiskConfigurationAttachment : global::Pulumi.Custom public Output AccountTakeoverRiskConfiguration { get; private set; } = null!; /// - /// The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + /// The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. /// [Output("clientId")] public Output ClientId { get; private set; } = null!; @@ -102,7 +102,7 @@ public sealed class UserPoolRiskConfigurationAttachmentArgs : global::Pulumi.Res public Input? AccountTakeoverRiskConfiguration { get; set; } /// - /// The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + /// The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. /// [Input("clientId", required: true)] public Input ClientId { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/UserPoolUiCustomizationAttachment.cs b/sdk/dotnet/Cognito/UserPoolUiCustomizationAttachment.cs index 955e8347a9..4e0d721241 100644 --- a/sdk/dotnet/Cognito/UserPoolUiCustomizationAttachment.cs +++ b/sdk/dotnet/Cognito/UserPoolUiCustomizationAttachment.cs @@ -16,7 +16,7 @@ namespace Pulumi.AwsNative.Cognito public partial class UserPoolUiCustomizationAttachment : global::Pulumi.CustomResource { /// - /// The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + /// The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. /// [Output("clientId")] public Output ClientId { get; private set; } = null!; @@ -84,7 +84,7 @@ public static UserPoolUiCustomizationAttachment Get(string name, Input i public sealed class UserPoolUiCustomizationAttachmentArgs : global::Pulumi.ResourceArgs { /// - /// The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + /// The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. /// [Input("clientId", required: true)] public Input ClientId { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/UserPoolUser.cs b/sdk/dotnet/Cognito/UserPoolUser.cs index eda281e676..e7a98be80c 100644 --- a/sdk/dotnet/Cognito/UserPoolUser.cs +++ b/sdk/dotnet/Cognito/UserPoolUser.cs @@ -54,7 +54,16 @@ public partial class UserPoolUser : global::Pulumi.CustomResource public Output MessageAction { get; private set; } = null!; /// - /// An array of name-value pairs that contain user attributes and attribute values. + /// An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + /// + /// For custom attributes, you must prepend the `custom:` prefix to the attribute name. + /// + /// To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + /// + /// In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + /// + /// - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + /// - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. /// [Output("userAttributes")] public Output> UserAttributes { get; private set; } = null!; @@ -195,7 +204,16 @@ public InputList DesiredDeliveryMediums private InputList? _userAttributes; /// - /// An array of name-value pairs that contain user attributes and attribute values. + /// An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + /// + /// For custom attributes, you must prepend the `custom:` prefix to the attribute name. + /// + /// To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + /// + /// In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + /// + /// - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + /// - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. /// public InputList UserAttributes { diff --git a/sdk/dotnet/Cognito/UserPoolUserToGroupAttachment.cs b/sdk/dotnet/Cognito/UserPoolUserToGroupAttachment.cs index 353b83ce60..8aad542948 100644 --- a/sdk/dotnet/Cognito/UserPoolUserToGroupAttachment.cs +++ b/sdk/dotnet/Cognito/UserPoolUserToGroupAttachment.cs @@ -27,6 +27,9 @@ public partial class UserPoolUserToGroupAttachment : global::Pulumi.CustomResour [Output("userPoolId")] public Output UserPoolId { get; private set; } = null!; + /// + /// The user's username. + /// [Output("username")] public Output Username { get; private set; } = null!; @@ -93,6 +96,9 @@ public sealed class UserPoolUserToGroupAttachmentArgs : global::Pulumi.ResourceA [Input("userPoolId", required: true)] public Input UserPoolId { get; set; } = null!; + /// + /// The user's username. + /// [Input("username", required: true)] public Input Username { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Enums.cs b/sdk/dotnet/Ec2/Enums.cs index 1900c1beb6..bc62ed5a29 100644 --- a/sdk/dotnet/Ec2/Enums.cs +++ b/sdk/dotnet/Ec2/Enums.cs @@ -2098,6 +2098,11 @@ private VpcEndpointType(string value) public override string ToString() => _value; } + /// + /// Set log format. Default format is `json` . + /// + /// Valid values: `json` | `text` + /// [EnumType] public readonly struct VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat : IEquatable { @@ -2126,6 +2131,9 @@ private VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat(string val public override string ToString() => _value; } + /// + /// The IKE version. + /// [EnumType] public readonly struct VpnConnectionIkeVersionsRequestListValueValue : IEquatable { @@ -2154,6 +2162,9 @@ private VpnConnectionIkeVersionsRequestListValueValue(string value) public override string ToString() => _value; } + /// + /// The value for the encryption algorithm. + /// [EnumType] public readonly struct VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue : IEquatable { @@ -2184,6 +2195,9 @@ private VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue(string valu public override string ToString() => _value; } + /// + /// The value for the integrity algorithm. + /// [EnumType] public readonly struct VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue : IEquatable { @@ -2214,6 +2228,9 @@ private VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue(string value public override string ToString() => _value; } + /// + /// The encryption algorithm. + /// [EnumType] public readonly struct VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue : IEquatable { @@ -2244,6 +2261,9 @@ private VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue(string valu public override string ToString() => _value; } + /// + /// The integrity algorithm. + /// [EnumType] public readonly struct VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue : IEquatable { @@ -2274,6 +2294,13 @@ private VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue(string value public override string ToString() => _value; } + /// + /// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + /// + /// Valid Values: `clear` | `none` | `restart` + /// + /// Default: `clear` + /// [EnumType] public readonly struct VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction : IEquatable { @@ -2303,6 +2330,13 @@ private VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction(string value) public override string ToString() => _value; } + /// + /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + /// + /// Valid Values: `add` | `start` + /// + /// Default: `add` + /// [EnumType] public readonly struct VpnConnectionVpnTunnelOptionsSpecificationStartupAction : IEquatable { diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs index a07e5b4cd0..02d7f5a7d2 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionCloudwatchLogOptionsSpecificationArgs.cs @@ -12,12 +12,25 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionCloudwatchLogOptionsSpecificationArgs : global::Pulumi.ResourceArgs { + /// + /// Enable or disable VPN tunnel logging feature. Default value is `False` . + /// + /// Valid values: `True` | `False` + /// [Input("logEnabled")] public Input? LogEnabled { get; set; } + /// + /// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + /// [Input("logGroupArn")] public Input? LogGroupArn { get; set; } + /// + /// Set log format. Default format is `json` . + /// + /// Valid values: `json` | `text` + /// [Input("logOutputFormat")] public Input? LogOutputFormat { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs index 6935a7ad54..9ed7e41cf7 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionIkeVersionsRequestListValueArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionIkeVersionsRequestListValueArgs : global::Pulumi.ResourceArgs { + /// + /// The IKE version. + /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs index bc7f738fde..b0ee75c429 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { + /// + /// The value for the encryption algorithm. + /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs index 28d8a117c8..c8f736b416 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { + /// + /// The value for the integrity algorithm. + /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs index ce1f51876c..983ea1e669 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase1dhGroupNumbersRequestListValueArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionPhase1dhGroupNumbersRequestListValueArgs : global::Pulumi.ResourceArgs { + /// + /// The Diffie-Hellmann group number. + /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs index 64e9ab32f0..984952f40a 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { + /// + /// The encryption algorithm. + /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs index 6748fbbb8d..0eb8704354 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs : global::Pulumi.ResourceArgs { + /// + /// The integrity algorithm. + /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs index 0385380cca..2deff2fff5 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionPhase2dhGroupNumbersRequestListValueArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionPhase2dhGroupNumbersRequestListValueArgs : global::Pulumi.ResourceArgs { + /// + /// The Diffie-Hellmann group number. + /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs index 1f68c730d3..0dc854f966 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelLogOptionsSpecificationArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class VpnConnectionVpnTunnelLogOptionsSpecificationArgs : global::Pulumi.ResourceArgs { + /// + /// Options for sending VPN tunnel logs to CloudWatch. + /// [Input("cloudwatchLogOptions")] public Input? CloudwatchLogOptions { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs index 16f1c43654..db3790540a 100644 --- a/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpnConnectionVpnTunnelOptionsSpecificationArgs.cs @@ -15,28 +15,60 @@ namespace Pulumi.AwsNative.Ec2.Inputs /// public sealed class VpnConnectionVpnTunnelOptionsSpecificationArgs : global::Pulumi.ResourceArgs { + /// + /// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + /// + /// Valid Values: `clear` | `none` | `restart` + /// + /// Default: `clear` + /// [Input("dpdTimeoutAction")] public Input? DpdTimeoutAction { get; set; } + /// + /// The number of seconds after which a DPD timeout occurs. + /// + /// Constraints: A value greater than or equal to 30. + /// + /// Default: `30` + /// [Input("dpdTimeoutSeconds")] public Input? DpdTimeoutSeconds { get; set; } + /// + /// Turn on or off tunnel endpoint lifecycle control feature. + /// [Input("enableTunnelLifecycleControl")] public Input? EnableTunnelLifecycleControl { get; set; } [Input("ikeVersions")] private InputList? _ikeVersions; + + /// + /// The IKE versions that are permitted for the VPN tunnel. + /// + /// Valid values: `ikev1` | `ikev2` + /// public InputList IkeVersions { get => _ikeVersions ?? (_ikeVersions = new InputList()); set => _ikeVersions = value; } + /// + /// Options for logging VPN tunnel activity. + /// [Input("logOptions")] public Input? LogOptions { get; set; } [Input("phase1EncryptionAlgorithms")] private InputList? _phase1EncryptionAlgorithms; + + /// + /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + /// + /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// public InputList Phase1EncryptionAlgorithms { get => _phase1EncryptionAlgorithms ?? (_phase1EncryptionAlgorithms = new InputList()); @@ -45,17 +77,36 @@ public InputList? _phase1IntegrityAlgorithms; + + /// + /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + /// + /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// public InputList Phase1IntegrityAlgorithms { get => _phase1IntegrityAlgorithms ?? (_phase1IntegrityAlgorithms = new InputList()); set => _phase1IntegrityAlgorithms = value; } + /// + /// The lifetime for phase 1 of the IKE negotiation, in seconds. + /// + /// Constraints: A value between 900 and 28,800. + /// + /// Default: `28800` + /// [Input("phase1LifetimeSeconds")] public Input? Phase1LifetimeSeconds { get; set; } [Input("phase1dhGroupNumbers")] private InputList? _phase1dhGroupNumbers; + + /// + /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + /// + /// Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// public InputList Phase1dhGroupNumbers { get => _phase1dhGroupNumbers ?? (_phase1dhGroupNumbers = new InputList()); @@ -64,6 +115,12 @@ public InputList P [Input("phase2EncryptionAlgorithms")] private InputList? _phase2EncryptionAlgorithms; + + /// + /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + /// + /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// public InputList Phase2EncryptionAlgorithms { get => _phase2EncryptionAlgorithms ?? (_phase2EncryptionAlgorithms = new InputList()); @@ -72,17 +129,36 @@ public InputList? _phase2IntegrityAlgorithms; + + /// + /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + /// + /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// public InputList Phase2IntegrityAlgorithms { get => _phase2IntegrityAlgorithms ?? (_phase2IntegrityAlgorithms = new InputList()); set => _phase2IntegrityAlgorithms = value; } + /// + /// The lifetime for phase 2 of the IKE negotiation, in seconds. + /// + /// Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + /// + /// Default: `3600` + /// [Input("phase2LifetimeSeconds")] public Input? Phase2LifetimeSeconds { get; set; } [Input("phase2dhGroupNumbers")] private InputList? _phase2dhGroupNumbers; + + /// + /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + /// + /// Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// public InputList Phase2dhGroupNumbers { get => _phase2dhGroupNumbers ?? (_phase2dhGroupNumbers = new InputList()); @@ -96,15 +172,43 @@ public InputList P [Input("preSharedKey")] public Input? PreSharedKey { get; set; } + /// + /// The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + /// + /// Constraints: A value between 0 and 100. + /// + /// Default: `100` + /// [Input("rekeyFuzzPercentage")] public Input? RekeyFuzzPercentage { get; set; } + /// + /// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + /// + /// Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + /// + /// Default: `270` + /// [Input("rekeyMarginTimeSeconds")] public Input? RekeyMarginTimeSeconds { get; set; } + /// + /// The number of packets in an IKE replay window. + /// + /// Constraints: A value between 64 and 2048. + /// + /// Default: `1024` + /// [Input("replayWindowSize")] public Input? ReplayWindowSize { get; set; } + /// + /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + /// + /// Valid Values: `add` | `start` + /// + /// Default: `add` + /// [Input("startupAction")] public Input? StartupAction { get; set; } @@ -122,6 +226,11 @@ public InputList P [Input("tunnelInsideCidr")] public Input? TunnelInsideCidr { get; set; } + /// + /// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + /// + /// Constraints: A size /126 CIDR block from the local `fd00::/8` range. + /// [Input("tunnelInsideIpv6Cidr")] public Input? TunnelInsideIpv6Cidr { get; set; } diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs index b1f5ca715f..d74f2ebd80 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionCloudwatchLogOptionsSpecification.cs @@ -13,8 +13,21 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionCloudwatchLogOptionsSpecification { + /// + /// Enable or disable VPN tunnel logging feature. Default value is `False` . + /// + /// Valid values: `True` | `False` + /// public readonly bool? LogEnabled; + /// + /// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + /// public readonly string? LogGroupArn; + /// + /// Set log format. Default format is `json` . + /// + /// Valid values: `json` | `text` + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat? LogOutputFormat; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs index 2f6b3071c8..3a304fd52c 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionIkeVersionsRequestListValue.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionIkeVersionsRequestListValue { + /// + /// The IKE version. + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionIkeVersionsRequestListValueValue? Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs index e7ef841ebf..4565e3adbd 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1EncryptionAlgorithmsRequestListValue.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionPhase1EncryptionAlgorithmsRequestListValue { + /// + /// The value for the encryption algorithm. + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue? Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs index 18eee42e18..f1b61d7b3a 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1IntegrityAlgorithmsRequestListValue.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionPhase1IntegrityAlgorithmsRequestListValue { + /// + /// The value for the integrity algorithm. + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue? Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs index 104cfac88c..39e6a1cb23 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase1dhGroupNumbersRequestListValue.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionPhase1dhGroupNumbersRequestListValue { + /// + /// The Diffie-Hellmann group number. + /// public readonly int? Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs index 232597f6c1..0031a94713 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2EncryptionAlgorithmsRequestListValue.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionPhase2EncryptionAlgorithmsRequestListValue { + /// + /// The encryption algorithm. + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue? Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs index 10e036f03e..fb852d7eec 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2IntegrityAlgorithmsRequestListValue.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionPhase2IntegrityAlgorithmsRequestListValue { + /// + /// The integrity algorithm. + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue? Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs index 111b494107..a6b18e636d 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionPhase2dhGroupNumbersRequestListValue.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionPhase2dhGroupNumbersRequestListValue { + /// + /// The Diffie-Hellmann group number. + /// public readonly int? Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs index a195f85b60..50be31b142 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelLogOptionsSpecification.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionVpnTunnelLogOptionsSpecification { + /// + /// Options for sending VPN tunnel logs to CloudWatch. + /// public readonly Outputs.VpnConnectionCloudwatchLogOptionsSpecification? CloudwatchLogOptions; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs index 79762bbeb2..22d7ba06a8 100644 --- a/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/VpnConnectionVpnTunnelOptionsSpecification.cs @@ -16,27 +16,124 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VpnConnectionVpnTunnelOptionsSpecification { + /// + /// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + /// + /// Valid Values: `clear` | `none` | `restart` + /// + /// Default: `clear` + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction? DpdTimeoutAction; + /// + /// The number of seconds after which a DPD timeout occurs. + /// + /// Constraints: A value greater than or equal to 30. + /// + /// Default: `30` + /// public readonly int? DpdTimeoutSeconds; + /// + /// Turn on or off tunnel endpoint lifecycle control feature. + /// public readonly bool? EnableTunnelLifecycleControl; + /// + /// The IKE versions that are permitted for the VPN tunnel. + /// + /// Valid values: `ikev1` | `ikev2` + /// public readonly ImmutableArray IkeVersions; + /// + /// Options for logging VPN tunnel activity. + /// public readonly Outputs.VpnConnectionVpnTunnelLogOptionsSpecification? LogOptions; + /// + /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + /// + /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// public readonly ImmutableArray Phase1EncryptionAlgorithms; + /// + /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + /// + /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// public readonly ImmutableArray Phase1IntegrityAlgorithms; + /// + /// The lifetime for phase 1 of the IKE negotiation, in seconds. + /// + /// Constraints: A value between 900 and 28,800. + /// + /// Default: `28800` + /// public readonly int? Phase1LifetimeSeconds; + /// + /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + /// + /// Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// public readonly ImmutableArray Phase1dhGroupNumbers; + /// + /// One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + /// + /// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + /// public readonly ImmutableArray Phase2EncryptionAlgorithms; + /// + /// One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + /// + /// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + /// public readonly ImmutableArray Phase2IntegrityAlgorithms; + /// + /// The lifetime for phase 2 of the IKE negotiation, in seconds. + /// + /// Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + /// + /// Default: `3600` + /// public readonly int? Phase2LifetimeSeconds; + /// + /// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + /// + /// Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + /// public readonly ImmutableArray Phase2dhGroupNumbers; /// /// The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. /// Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). /// public readonly string? PreSharedKey; + /// + /// The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + /// + /// Constraints: A value between 0 and 100. + /// + /// Default: `100` + /// public readonly int? RekeyFuzzPercentage; + /// + /// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + /// + /// Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + /// + /// Default: `270` + /// public readonly int? RekeyMarginTimeSeconds; + /// + /// The number of packets in an IKE replay window. + /// + /// Constraints: A value between 64 and 2048. + /// + /// Default: `1024` + /// public readonly int? ReplayWindowSize; + /// + /// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + /// + /// Valid Values: `add` | `start` + /// + /// Default: `add` + /// public readonly Pulumi.AwsNative.Ec2.VpnConnectionVpnTunnelOptionsSpecificationStartupAction? StartupAction; /// /// The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. @@ -50,6 +147,11 @@ public sealed class VpnConnectionVpnTunnelOptionsSpecification /// + ``169.254.169.252/30`` /// public readonly string? TunnelInsideCidr; + /// + /// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + /// + /// Constraints: A size /126 CIDR block from the local `fd00::/8` range. + /// public readonly string? TunnelInsideIpv6Cidr; [OutputConstructor] diff --git a/sdk/dotnet/Ecs/Inputs/TaskSetCapacityProviderStrategyItemArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskSetCapacityProviderStrategyItemArgs.cs index b40a6cb078..db78d78153 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskSetCapacityProviderStrategyItemArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskSetCapacityProviderStrategyItemArgs.cs @@ -12,12 +12,25 @@ namespace Pulumi.AwsNative.Ecs.Inputs public sealed class TaskSetCapacityProviderStrategyItemArgs : global::Pulumi.ResourceArgs { + /// + /// The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + /// [Input("base")] public Input? Base { get; set; } + /// + /// The short name of the capacity provider. + /// [Input("capacityProvider")] public Input? CapacityProvider { get; set; } + /// + /// The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + /// + /// If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + /// + /// An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + /// [Input("weight")] public Input? Weight { get; set; } diff --git a/sdk/dotnet/Ecs/Outputs/TaskSetCapacityProviderStrategyItem.cs b/sdk/dotnet/Ecs/Outputs/TaskSetCapacityProviderStrategyItem.cs index e7606dfccb..a149357c5d 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskSetCapacityProviderStrategyItem.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskSetCapacityProviderStrategyItem.cs @@ -13,8 +13,21 @@ namespace Pulumi.AwsNative.Ecs.Outputs [OutputType] public sealed class TaskSetCapacityProviderStrategyItem { + /// + /// The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + /// public readonly int? Base; + /// + /// The short name of the capacity provider. + /// public readonly string? CapacityProvider; + /// + /// The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + /// + /// If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + /// + /// An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + /// public readonly int? Weight; [OutputConstructor] diff --git a/sdk/dotnet/Ecs/TaskSet.cs b/sdk/dotnet/Ecs/TaskSet.cs index 1767ce14e9..c1e2974bdc 100644 --- a/sdk/dotnet/Ecs/TaskSet.cs +++ b/sdk/dotnet/Ecs/TaskSet.cs @@ -21,6 +21,9 @@ public partial class TaskSet : global::Pulumi.CustomResource [Output("awsId")] public Output AwsId { get; private set; } = null!; + /// + /// The capacity provider strategy that are associated with the task set. + /// [Output("capacityProviderStrategy")] public Output> CapacityProviderStrategy { get; private set; } = null!; @@ -160,6 +163,10 @@ public sealed class TaskSetArgs : global::Pulumi.ResourceArgs { [Input("capacityProviderStrategy")] private InputList? _capacityProviderStrategy; + + /// + /// The capacity provider strategy that are associated with the task set. + /// public InputList CapacityProviderStrategy { get => _capacityProviderStrategy ?? (_capacityProviderStrategy = new InputList()); diff --git a/sdk/dotnet/GameLift/ContainerGroupDefinition.cs b/sdk/dotnet/GameLift/ContainerGroupDefinition.cs index a1d88c56a5..3882d5da65 100644 --- a/sdk/dotnet/GameLift/ContainerGroupDefinition.cs +++ b/sdk/dotnet/GameLift/ContainerGroupDefinition.cs @@ -51,6 +51,30 @@ public partial class ContainerGroupDefinition : global::Pulumi.CustomResource [Output("schedulingStrategy")] public Output SchedulingStrategy { get; private set; } = null!; + /// + /// A specific ContainerGroupDefinition version to be updated + /// + [Output("sourceVersionNumber")] + public Output SourceVersionNumber { get; private set; } = null!; + + /// + /// A string indicating ContainerGroupDefinition status. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// A string indicating the reason for ContainerGroupDefinition status. + /// + [Output("statusReason")] + public Output StatusReason { get; private set; } = null!; + + /// + /// A collection of support container definitions that define the containers in this group. + /// + [Output("supportContainerDefinitions")] + public Output> SupportContainerDefinitions { get; private set; } = null!; + /// /// An array of key-value pairs to apply to this resource. /// @@ -153,6 +177,24 @@ public InputList Contain [Input("schedulingStrategy")] public Input? SchedulingStrategy { get; set; } + /// + /// A specific ContainerGroupDefinition version to be updated + /// + [Input("sourceVersionNumber")] + public Input? SourceVersionNumber { get; set; } + + [Input("supportContainerDefinitions")] + private InputList? _supportContainerDefinitions; + + /// + /// A collection of support container definitions that define the containers in this group. + /// + public InputList SupportContainerDefinitions + { + get => _supportContainerDefinitions ?? (_supportContainerDefinitions = new InputList()); + set => _supportContainerDefinitions = value; + } + [Input("tags")] private InputList? _tags; diff --git a/sdk/dotnet/GameLift/Enums.cs b/sdk/dotnet/GameLift/Enums.cs index 3e956e0973..6c470ee920 100644 --- a/sdk/dotnet/GameLift/Enums.cs +++ b/sdk/dotnet/GameLift/Enums.cs @@ -197,6 +197,38 @@ private ContainerGroupDefinitionSchedulingStrategy(string value) public override string ToString() => _value; } + /// + /// A string indicating ContainerGroupDefinition status. + /// + [EnumType] + public readonly struct ContainerGroupDefinitionStatus : IEquatable + { + private readonly string _value; + + private ContainerGroupDefinitionStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ContainerGroupDefinitionStatus Ready { get; } = new ContainerGroupDefinitionStatus("READY"); + public static ContainerGroupDefinitionStatus Copying { get; } = new ContainerGroupDefinitionStatus("COPYING"); + public static ContainerGroupDefinitionStatus Failed { get; } = new ContainerGroupDefinitionStatus("FAILED"); + + public static bool operator ==(ContainerGroupDefinitionStatus left, ContainerGroupDefinitionStatus right) => left.Equals(right); + public static bool operator !=(ContainerGroupDefinitionStatus left, ContainerGroupDefinitionStatus right) => !left.Equals(right); + + public static explicit operator string(ContainerGroupDefinitionStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ContainerGroupDefinitionStatus other && Equals(other); + public bool Equals(ContainerGroupDefinitionStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Determines whether to apply fleet or location capacities on fleet creation. /// diff --git a/sdk/dotnet/GameLift/GetContainerGroupDefinition.cs b/sdk/dotnet/GameLift/GetContainerGroupDefinition.cs index f8bf62befc..51d3d43382 100644 --- a/sdk/dotnet/GameLift/GetContainerGroupDefinition.cs +++ b/sdk/dotnet/GameLift/GetContainerGroupDefinition.cs @@ -66,6 +66,22 @@ public sealed class GetContainerGroupDefinitionResult /// public readonly string? CreationTime; /// + /// A specific ContainerGroupDefinition version to be updated + /// + public readonly int? SourceVersionNumber; + /// + /// A string indicating ContainerGroupDefinition status. + /// + public readonly Pulumi.AwsNative.GameLift.ContainerGroupDefinitionStatus? Status; + /// + /// A string indicating the reason for ContainerGroupDefinition status. + /// + public readonly string? StatusReason; + /// + /// A collection of support container definitions that define the containers in this group. + /// + public readonly ImmutableArray SupportContainerDefinitions; + /// /// An array of key-value pairs to apply to this resource. /// public readonly ImmutableArray Tags; @@ -76,10 +92,22 @@ private GetContainerGroupDefinitionResult( string? creationTime, + int? sourceVersionNumber, + + Pulumi.AwsNative.GameLift.ContainerGroupDefinitionStatus? status, + + string? statusReason, + + ImmutableArray supportContainerDefinitions, + ImmutableArray tags) { ContainerGroupDefinitionArn = containerGroupDefinitionArn; CreationTime = creationTime; + SourceVersionNumber = sourceVersionNumber; + Status = status; + StatusReason = statusReason; + SupportContainerDefinitions = supportContainerDefinitions; Tags = tags; } } diff --git a/sdk/dotnet/Glue/Schema.cs b/sdk/dotnet/Glue/Schema.cs index fb527a77ff..a7325204e7 100644 --- a/sdk/dotnet/Glue/Schema.cs +++ b/sdk/dotnet/Glue/Schema.cs @@ -67,7 +67,7 @@ public partial class Schema : global::Pulumi.CustomResource /// Definition for the initial schema version in plain-text. /// [Output("schemaDefinition")] - public Output SchemaDefinition { get; private set; } = null!; + public Output SchemaDefinition { get; private set; } = null!; /// /// List of tags to tag the schema @@ -166,8 +166,8 @@ public sealed class SchemaArgs : global::Pulumi.ResourceArgs /// /// Definition for the initial schema version in plain-text. /// - [Input("schemaDefinition", required: true)] - public Input SchemaDefinition { get; set; } = null!; + [Input("schemaDefinition")] + public Input? SchemaDefinition { get; set; } [Input("tags")] private InputList? _tags; diff --git a/sdk/dotnet/Lambda/EventSourceMapping.cs b/sdk/dotnet/Lambda/EventSourceMapping.cs index f8c8ff7c9a..c37d88959b 100644 --- a/sdk/dotnet/Lambda/EventSourceMapping.cs +++ b/sdk/dotnet/Lambda/EventSourceMapping.cs @@ -198,8 +198,7 @@ public partial class EventSourceMapping : global::Pulumi.CustomResource /// /// A list of tags to add to the event source mapping. - /// - /// > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + /// You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -454,8 +453,7 @@ public InputList SourceA /// /// A list of tags to add to the event source mapping. - /// - /// > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + /// You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. /// public InputList Tags { diff --git a/sdk/dotnet/Lambda/GetEventSourceMapping.cs b/sdk/dotnet/Lambda/GetEventSourceMapping.cs index 9858841285..9f5d063b2a 100644 --- a/sdk/dotnet/Lambda/GetEventSourceMapping.cs +++ b/sdk/dotnet/Lambda/GetEventSourceMapping.cs @@ -167,8 +167,7 @@ public sealed class GetEventSourceMappingResult public readonly ImmutableArray SourceAccessConfigurations; /// /// A list of tags to add to the event source mapping. - /// - /// > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + /// You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. /// public readonly ImmutableArray Tags; /// diff --git a/sdk/dotnet/Lambda/GetVersion.cs b/sdk/dotnet/Lambda/GetVersion.cs index bc69e2a7bc..91238d0b68 100644 --- a/sdk/dotnet/Lambda/GetVersion.cs +++ b/sdk/dotnet/Lambda/GetVersion.cs @@ -62,12 +62,6 @@ public sealed class GetVersionResult /// public readonly string? FunctionArn; /// - /// The resource policy of your function - /// - /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - /// - public readonly object? Policy; - /// /// The version number. /// public readonly string? VersionValue; @@ -76,12 +70,9 @@ public sealed class GetVersionResult private GetVersionResult( string? functionArn, - object? policy, - string? version) { FunctionArn = functionArn; - Policy = policy; VersionValue = version; } } diff --git a/sdk/dotnet/Lambda/Version.cs b/sdk/dotnet/Lambda/Version.cs index 725f67463e..f3649ed399 100644 --- a/sdk/dotnet/Lambda/Version.cs +++ b/sdk/dotnet/Lambda/Version.cs @@ -39,14 +39,6 @@ public partial class Version : global::Pulumi.CustomResource [Output("functionName")] public Output FunctionName { get; private set; } = null!; - /// - /// The resource policy of your function - /// - /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - /// - [Output("policy")] - public Output Policy { get; private set; } = null!; - /// /// Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. /// @@ -136,14 +128,6 @@ public sealed class VersionArgs : global::Pulumi.ResourceArgs [Input("functionName", required: true)] public Input FunctionName { get; set; } = null!; - /// - /// The resource policy of your function - /// - /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - /// - [Input("policy")] - public Input? Policy { get; set; } - /// /// Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. /// diff --git a/sdk/dotnet/Organizations/Enums.cs b/sdk/dotnet/Organizations/Enums.cs index cbaeafd0ff..8eb3b34a1d 100644 --- a/sdk/dotnet/Organizations/Enums.cs +++ b/sdk/dotnet/Organizations/Enums.cs @@ -102,7 +102,7 @@ private OrganizationFeatureSet(string value) } /// - /// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + /// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY /// [EnumType] public readonly struct PolicyType : IEquatable @@ -118,6 +118,7 @@ private PolicyType(string value) public static PolicyType AiservicesOptOutPolicy { get; } = new PolicyType("AISERVICES_OPT_OUT_POLICY"); public static PolicyType BackupPolicy { get; } = new PolicyType("BACKUP_POLICY"); public static PolicyType TagPolicy { get; } = new PolicyType("TAG_POLICY"); + public static PolicyType ChatbotPolicy { get; } = new PolicyType("CHATBOT_POLICY"); public static bool operator ==(PolicyType left, PolicyType right) => left.Equals(right); public static bool operator !=(PolicyType left, PolicyType right) => !left.Equals(right); diff --git a/sdk/dotnet/Organizations/Policy.cs b/sdk/dotnet/Organizations/Policy.cs index 06ae462a48..581394c7f2 100644 --- a/sdk/dotnet/Organizations/Policy.cs +++ b/sdk/dotnet/Organizations/Policy.cs @@ -66,7 +66,7 @@ public partial class Policy : global::Pulumi.CustomResource public Output> TargetIds { get; private set; } = null!; /// - /// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + /// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY /// [Output("type")] public Output Type { get; private set; } = null!; @@ -165,7 +165,7 @@ public InputList TargetIds } /// - /// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + /// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/QBusiness/DataSource.cs b/sdk/dotnet/QBusiness/DataSource.cs index 22337cb062..1fee8d20b7 100644 --- a/sdk/dotnet/QBusiness/DataSource.cs +++ b/sdk/dotnet/QBusiness/DataSource.cs @@ -22,12 +22,17 @@ public partial class DataSource : global::Pulumi.CustomResource public Output ApplicationId { get; private set; } = null!; /// - /// Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + /// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + /// + /// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + /// + /// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + /// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) /// /// You can find configuration templates for your specific data source using the following steps: /// - /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - /// - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + /// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. /// @@ -179,12 +184,17 @@ public sealed class DataSourceArgs : global::Pulumi.ResourceArgs public Input ApplicationId { get; set; } = null!; /// - /// Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + /// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + /// + /// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + /// + /// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + /// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) /// /// You can find configuration templates for your specific data source using the following steps: /// - /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - /// - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + /// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. /// diff --git a/sdk/dotnet/QBusiness/GetDataSource.cs b/sdk/dotnet/QBusiness/GetDataSource.cs index cc37a16f50..cc35e2ba94 100644 --- a/sdk/dotnet/QBusiness/GetDataSource.cs +++ b/sdk/dotnet/QBusiness/GetDataSource.cs @@ -82,12 +82,17 @@ public GetDataSourceInvokeArgs() public sealed class GetDataSourceResult { /// - /// Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + /// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + /// + /// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + /// + /// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + /// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) /// /// You can find configuration templates for your specific data source using the following steps: /// - /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - /// - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + /// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + /// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. /// diff --git a/sdk/dotnet/QBusiness/GetWebExperience.cs b/sdk/dotnet/QBusiness/GetWebExperience.cs index 624f6dafb0..23575e1f7c 100644 --- a/sdk/dotnet/QBusiness/GetWebExperience.cs +++ b/sdk/dotnet/QBusiness/GetWebExperience.cs @@ -81,6 +81,7 @@ public sealed class GetWebExperienceResult /// Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. /// public readonly Union? IdentityProviderConfiguration; + public readonly ImmutableArray Origins; /// /// The Amazon Resource Name (ARN) of the service role attached to your web experience. /// @@ -132,6 +133,8 @@ private GetWebExperienceResult( Union? identityProviderConfiguration, + ImmutableArray origins, + string? roleArn, Pulumi.AwsNative.QBusiness.WebExperienceSamplePromptsControlMode? samplePromptsControlMode, @@ -155,6 +158,7 @@ private GetWebExperienceResult( CreatedAt = createdAt; DefaultEndpoint = defaultEndpoint; IdentityProviderConfiguration = identityProviderConfiguration; + Origins = origins; RoleArn = roleArn; SamplePromptsControlMode = samplePromptsControlMode; Status = status; diff --git a/sdk/dotnet/QBusiness/WebExperience.cs b/sdk/dotnet/QBusiness/WebExperience.cs index 8d1fb702b0..3d1faf5525 100644 --- a/sdk/dotnet/QBusiness/WebExperience.cs +++ b/sdk/dotnet/QBusiness/WebExperience.cs @@ -39,6 +39,9 @@ public partial class WebExperience : global::Pulumi.CustomResource [Output("identityProviderConfiguration")] public Output?> IdentityProviderConfiguration { get; private set; } = null!; + [Output("origins")] + public Output> Origins { get; private set; } = null!; + /// /// The Amazon Resource Name (ARN) of the service role attached to your web experience. /// @@ -162,6 +165,14 @@ public sealed class WebExperienceArgs : global::Pulumi.ResourceArgs [Input("identityProviderConfiguration")] public InputUnion? IdentityProviderConfiguration { get; set; } + [Input("origins")] + private InputList? _origins; + public InputList Origins + { + get => _origins ?? (_origins = new InputList()); + set => _origins = value; + } + /// /// The Amazon Resource Name (ARN) of the service role attached to your web experience. /// diff --git a/sdk/dotnet/QuickSight/Analysis.cs b/sdk/dotnet/QuickSight/Analysis.cs index d84bd1ef14..f58217f03e 100644 --- a/sdk/dotnet/QuickSight/Analysis.cs +++ b/sdk/dotnet/QuickSight/Analysis.cs @@ -54,6 +54,9 @@ public partial class Analysis : global::Pulumi.CustomResource [Output("errors")] public Output> Errors { get; private set; } = null!; + [Output("folderArns")] + public Output> FolderArns { get; private set; } = null!; + /// /// <p>The time that the analysis was last updated.</p> /// @@ -195,6 +198,14 @@ public InputList Errors set => _errors = value; } + [Input("folderArns")] + private InputList? _folderArns; + public InputList FolderArns + { + get => _folderArns ?? (_folderArns = new InputList()); + set => _folderArns = value; + } + /// /// <p>The descriptive name of the analysis.</p> /// diff --git a/sdk/dotnet/QuickSight/Dashboard.cs b/sdk/dotnet/QuickSight/Dashboard.cs index e2788e82e8..26b573142a 100644 --- a/sdk/dotnet/QuickSight/Dashboard.cs +++ b/sdk/dotnet/QuickSight/Dashboard.cs @@ -52,6 +52,9 @@ public partial class Dashboard : global::Pulumi.CustomResource [Output("definition")] public Output Definition { get; private set; } = null!; + [Output("folderArns")] + public Output> FolderArns { get; private set; } = null!; + /// /// <p>The last time that this dashboard was published.</p> /// @@ -206,6 +209,14 @@ public sealed class DashboardArgs : global::Pulumi.ResourceArgs [Input("definition")] public Input? Definition { get; set; } + [Input("folderArns")] + private InputList? _folderArns; + public InputList FolderArns + { + get => _folderArns ?? (_folderArns = new InputList()); + set => _folderArns = value; + } + [Input("linkEntities")] private InputList? _linkEntities; diff --git a/sdk/dotnet/QuickSight/DataSource.cs b/sdk/dotnet/QuickSight/DataSource.cs index c384c9d655..e78ef557f2 100644 --- a/sdk/dotnet/QuickSight/DataSource.cs +++ b/sdk/dotnet/QuickSight/DataSource.cs @@ -71,6 +71,9 @@ public partial class DataSource : global::Pulumi.CustomResource [Output("errorInfo")] public Output ErrorInfo { get; private set; } = null!; + [Output("folderArns")] + public Output> FolderArns { get; private set; } = null!; + /// /// <p>The last time that this data source was updated.</p> /// @@ -222,6 +225,14 @@ public InputList AlternateDataSourceParameters [Input("errorInfo")] public Input? ErrorInfo { get; set; } + [Input("folderArns")] + private InputList? _folderArns; + public InputList FolderArns + { + get => _folderArns ?? (_folderArns = new InputList()); + set => _folderArns = value; + } + /// /// A display name for the data source. /// diff --git a/sdk/dotnet/QuickSight/Enums.cs b/sdk/dotnet/QuickSight/Enums.cs index e4dd1b8392..ab2beb191c 100644 --- a/sdk/dotnet/QuickSight/Enums.cs +++ b/sdk/dotnet/QuickSight/Enums.cs @@ -7581,6 +7581,7 @@ private DataSourceType(string value) public static DataSourceType Presto { get; } = new DataSourceType("PRESTO"); public static DataSourceType Redshift { get; } = new DataSourceType("REDSHIFT"); public static DataSourceType S3 { get; } = new DataSourceType("S3"); + public static DataSourceType S3Tables { get; } = new DataSourceType("S3_TABLES"); public static DataSourceType Salesforce { get; } = new DataSourceType("SALESFORCE"); public static DataSourceType Servicenow { get; } = new DataSourceType("SERVICENOW"); public static DataSourceType Snowflake { get; } = new DataSourceType("SNOWFLAKE"); diff --git a/sdk/dotnet/QuickSight/Folder.cs b/sdk/dotnet/QuickSight/Folder.cs index 05a2557574..e1ad64655c 100644 --- a/sdk/dotnet/QuickSight/Folder.cs +++ b/sdk/dotnet/QuickSight/Folder.cs @@ -21,6 +21,9 @@ public partial class Folder : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + /// + /// The ID for the AWS account where you want to create the folder. + /// [Output("awsAccountId")] public Output AwsAccountId { get; private set; } = null!; @@ -55,11 +58,16 @@ public partial class Folder : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + /// The Amazon Resource Name (ARN) for the folder. /// [Output("parentFolderArn")] public Output ParentFolderArn { get; private set; } = null!; + /// + /// A structure that describes the principals and the resource-level permissions of a folder. + /// + /// To specify no permissions, omit `Permissions` . + /// [Output("permissions")] public Output> Permissions { get; private set; } = null!; @@ -128,6 +136,9 @@ public static Folder Get(string name, Input id, CustomResourceOptions? o public sealed class FolderArgs : global::Pulumi.ResourceArgs { + /// + /// The ID for the AWS account where you want to create the folder. + /// [Input("awsAccountId")] public Input? AwsAccountId { get; set; } @@ -150,13 +161,19 @@ public sealed class FolderArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + /// The Amazon Resource Name (ARN) for the folder. /// [Input("parentFolderArn")] public Input? ParentFolderArn { get; set; } [Input("permissions")] private InputList? _permissions; + + /// + /// A structure that describes the principals and the resource-level permissions of a folder. + /// + /// To specify no permissions, omit `Permissions` . + /// public InputList Permissions { get => _permissions ?? (_permissions = new InputList()); diff --git a/sdk/dotnet/QuickSight/GetFolder.cs b/sdk/dotnet/QuickSight/GetFolder.cs index 0f439440d9..9869ee1aa6 100644 --- a/sdk/dotnet/QuickSight/GetFolder.cs +++ b/sdk/dotnet/QuickSight/GetFolder.cs @@ -27,6 +27,9 @@ public static Output Invoke(GetFolderInvokeArgs args, InvokeOpt public sealed class GetFolderArgs : global::Pulumi.InvokeArgs { + /// + /// The ID for the AWS account where you want to create the folder. + /// [Input("awsAccountId", required: true)] public string AwsAccountId { get; set; } = null!; @@ -44,6 +47,9 @@ public GetFolderArgs() public sealed class GetFolderInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The ID for the AWS account where you want to create the folder. + /// [Input("awsAccountId", required: true)] public Input AwsAccountId { get; set; } = null!; @@ -79,6 +85,11 @@ public sealed class GetFolderResult /// A display name for the folder. /// public readonly string? Name; + /// + /// A structure that describes the principals and the resource-level permissions of a folder. + /// + /// To specify no permissions, omit `Permissions` . + /// public readonly ImmutableArray Permissions; /// /// A list of tags for the folders that you want to apply overrides to. diff --git a/sdk/dotnet/QuickSight/Inputs/AnalysisDestinationParameterValueConfigurationArgs.cs b/sdk/dotnet/QuickSight/Inputs/AnalysisDestinationParameterValueConfigurationArgs.cs index 7b9528c527..5c20c1c1dc 100644 --- a/sdk/dotnet/QuickSight/Inputs/AnalysisDestinationParameterValueConfigurationArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/AnalysisDestinationParameterValueConfigurationArgs.cs @@ -24,6 +24,9 @@ public sealed class AnalysisDestinationParameterValueConfigurationArgs : global: [Input("selectAllValueOptions")] public Input? SelectAllValueOptions { get; set; } + /// + /// A column of a data set. + /// [Input("sourceColumn")] public Input? SourceColumn { get; set; } diff --git a/sdk/dotnet/QuickSight/Inputs/DashboardDestinationParameterValueConfigurationArgs.cs b/sdk/dotnet/QuickSight/Inputs/DashboardDestinationParameterValueConfigurationArgs.cs index 963f7894f7..bc7e7e5bdc 100644 --- a/sdk/dotnet/QuickSight/Inputs/DashboardDestinationParameterValueConfigurationArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/DashboardDestinationParameterValueConfigurationArgs.cs @@ -24,6 +24,9 @@ public sealed class DashboardDestinationParameterValueConfigurationArgs : global [Input("selectAllValueOptions")] public Input? SelectAllValueOptions { get; set; } + /// + /// A column of a data set. + /// [Input("sourceColumn")] public Input? SourceColumn { get; set; } diff --git a/sdk/dotnet/QuickSight/Inputs/DataSetCustomSqlArgs.cs b/sdk/dotnet/QuickSight/Inputs/DataSetCustomSqlArgs.cs index 60808529de..191b74aad5 100644 --- a/sdk/dotnet/QuickSight/Inputs/DataSetCustomSqlArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/DataSetCustomSqlArgs.cs @@ -15,7 +15,7 @@ namespace Pulumi.AwsNative.QuickSight.Inputs /// public sealed class DataSetCustomSqlArgs : global::Pulumi.ResourceArgs { - [Input("columns", required: true)] + [Input("columns")] private InputList? _columns; /// diff --git a/sdk/dotnet/QuickSight/Inputs/DataSetRelationalTableArgs.cs b/sdk/dotnet/QuickSight/Inputs/DataSetRelationalTableArgs.cs index 6a3a008d12..92e5476954 100644 --- a/sdk/dotnet/QuickSight/Inputs/DataSetRelationalTableArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/DataSetRelationalTableArgs.cs @@ -27,7 +27,7 @@ public sealed class DataSetRelationalTableArgs : global::Pulumi.ResourceArgs [Input("dataSourceArn", required: true)] public Input DataSourceArn { get; set; } = null!; - [Input("inputColumns", required: true)] + [Input("inputColumns")] private InputList? _inputColumns; /// diff --git a/sdk/dotnet/QuickSight/Inputs/DataSetTransformOperationArgs.cs b/sdk/dotnet/QuickSight/Inputs/DataSetTransformOperationArgs.cs index 7156893570..2cded634b7 100644 --- a/sdk/dotnet/QuickSight/Inputs/DataSetTransformOperationArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/DataSetTransformOperationArgs.cs @@ -34,6 +34,9 @@ public sealed class DataSetTransformOperationArgs : global::Pulumi.ResourceArgs [Input("filterOperation")] public Input? FilterOperation { get; set; } + /// + /// A transform operation that overrides the dataset parameter values that are defined in another dataset. + /// [Input("overrideDatasetParameterOperation")] public Input? OverrideDatasetParameterOperation { get; set; } diff --git a/sdk/dotnet/QuickSight/Inputs/TemplateDestinationParameterValueConfigurationArgs.cs b/sdk/dotnet/QuickSight/Inputs/TemplateDestinationParameterValueConfigurationArgs.cs index 8be683e825..c14761a1a9 100644 --- a/sdk/dotnet/QuickSight/Inputs/TemplateDestinationParameterValueConfigurationArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/TemplateDestinationParameterValueConfigurationArgs.cs @@ -24,6 +24,9 @@ public sealed class TemplateDestinationParameterValueConfigurationArgs : global: [Input("selectAllValueOptions")] public Input? SelectAllValueOptions { get; set; } + /// + /// A column of a data set. + /// [Input("sourceColumn")] public Input? SourceColumn { get; set; } diff --git a/sdk/dotnet/QuickSight/Inputs/ThemeConfigurationArgs.cs b/sdk/dotnet/QuickSight/Inputs/ThemeConfigurationArgs.cs index 1872f9597f..ef39ae8520 100644 --- a/sdk/dotnet/QuickSight/Inputs/ThemeConfigurationArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/ThemeConfigurationArgs.cs @@ -28,6 +28,9 @@ public sealed class ThemeConfigurationArgs : global::Pulumi.ResourceArgs [Input("sheet")] public Input? Sheet { get; set; } + /// + /// Determines the typography options. + /// [Input("typography")] public Input? Typography { get; set; } diff --git a/sdk/dotnet/QuickSight/Outputs/AnalysisDestinationParameterValueConfiguration.cs b/sdk/dotnet/QuickSight/Outputs/AnalysisDestinationParameterValueConfiguration.cs index 3aa64c10bc..a0d6abea93 100644 --- a/sdk/dotnet/QuickSight/Outputs/AnalysisDestinationParameterValueConfiguration.cs +++ b/sdk/dotnet/QuickSight/Outputs/AnalysisDestinationParameterValueConfiguration.cs @@ -21,6 +21,9 @@ public sealed class AnalysisDestinationParameterValueConfiguration /// The configuration that selects all options. /// public readonly Pulumi.AwsNative.QuickSight.AnalysisSelectAllValueOptions? SelectAllValueOptions; + /// + /// A column of a data set. + /// public readonly Outputs.AnalysisColumnIdentifier? SourceColumn; /// /// The source field ID of the destination parameter. diff --git a/sdk/dotnet/QuickSight/Outputs/DashboardDestinationParameterValueConfiguration.cs b/sdk/dotnet/QuickSight/Outputs/DashboardDestinationParameterValueConfiguration.cs index 9669e28aea..98290cdec5 100644 --- a/sdk/dotnet/QuickSight/Outputs/DashboardDestinationParameterValueConfiguration.cs +++ b/sdk/dotnet/QuickSight/Outputs/DashboardDestinationParameterValueConfiguration.cs @@ -21,6 +21,9 @@ public sealed class DashboardDestinationParameterValueConfiguration /// The configuration that selects all options. /// public readonly Pulumi.AwsNative.QuickSight.DashboardSelectAllValueOptions? SelectAllValueOptions; + /// + /// A column of a data set. + /// public readonly Outputs.DashboardColumnIdentifier? SourceColumn; /// /// The source field ID of the destination parameter. diff --git a/sdk/dotnet/QuickSight/Outputs/DataSetTransformOperation.cs b/sdk/dotnet/QuickSight/Outputs/DataSetTransformOperation.cs index 2edb3f4421..9bae4145a8 100644 --- a/sdk/dotnet/QuickSight/Outputs/DataSetTransformOperation.cs +++ b/sdk/dotnet/QuickSight/Outputs/DataSetTransformOperation.cs @@ -29,6 +29,9 @@ public sealed class DataSetTransformOperation /// An operation that filters rows based on some condition. /// public readonly Outputs.DataSetFilterOperation? FilterOperation; + /// + /// A transform operation that overrides the dataset parameter values that are defined in another dataset. + /// public readonly Outputs.DataSetOverrideDatasetParameterOperation? OverrideDatasetParameterOperation; /// /// An operation that projects columns. Operations that come after a projection can only refer to projected columns. diff --git a/sdk/dotnet/QuickSight/Outputs/TemplateDestinationParameterValueConfiguration.cs b/sdk/dotnet/QuickSight/Outputs/TemplateDestinationParameterValueConfiguration.cs index ab6f4ebc37..17ae2d68e1 100644 --- a/sdk/dotnet/QuickSight/Outputs/TemplateDestinationParameterValueConfiguration.cs +++ b/sdk/dotnet/QuickSight/Outputs/TemplateDestinationParameterValueConfiguration.cs @@ -21,6 +21,9 @@ public sealed class TemplateDestinationParameterValueConfiguration /// The configuration that selects all options. /// public readonly Pulumi.AwsNative.QuickSight.TemplateSelectAllValueOptions? SelectAllValueOptions; + /// + /// A column of a data set. + /// public readonly Outputs.TemplateColumnIdentifier? SourceColumn; /// /// The source field ID of the destination parameter. diff --git a/sdk/dotnet/QuickSight/Outputs/ThemeConfiguration.cs b/sdk/dotnet/QuickSight/Outputs/ThemeConfiguration.cs index eb4655470b..ce8b760905 100644 --- a/sdk/dotnet/QuickSight/Outputs/ThemeConfiguration.cs +++ b/sdk/dotnet/QuickSight/Outputs/ThemeConfiguration.cs @@ -25,6 +25,9 @@ public sealed class ThemeConfiguration /// Display options related to sheets. /// public readonly Outputs.ThemeSheetStyle? Sheet; + /// + /// Determines the typography options. + /// public readonly Outputs.ThemeTypography? Typography; /// /// Color properties that apply to the UI and to charts, excluding the colors that apply to data. diff --git a/sdk/dotnet/Rds/DbInstance.cs b/sdk/dotnet/Rds/DbInstance.cs index 82dc736172..123a0eba3c 100644 --- a/sdk/dotnet/Rds/DbInstance.cs +++ b/sdk/dotnet/Rds/DbInstance.cs @@ -330,16 +330,13 @@ public partial class DbInstance : global::Pulumi.CustomResource /// + ``CharacterSetName`` /// + ``DBClusterIdentifier`` /// + ``DBName`` - /// + ``DeleteAutomatedBackups`` /// + ``KmsKeyId`` /// + ``MasterUsername`` /// + ``MasterUserPassword`` - /// + ``PerformanceInsightsKMSKeyId`` - /// + ``PerformanceInsightsRetentionPeriod`` /// + ``PromotionTier`` /// + ``SourceDBInstanceIdentifier`` /// + ``SourceRegion`` - /// + ``StorageEncrypted`` (for an encrypted snapshot) + /// + ``StorageEncrypted`` (for an unencrypted snapshot) /// + ``Timezone`` /// /// *Amazon Aurora* @@ -1327,16 +1324,13 @@ public InputList DbSecurityGroups /// + ``CharacterSetName`` /// + ``DBClusterIdentifier`` /// + ``DBName`` - /// + ``DeleteAutomatedBackups`` /// + ``KmsKeyId`` /// + ``MasterUsername`` /// + ``MasterUserPassword`` - /// + ``PerformanceInsightsKMSKeyId`` - /// + ``PerformanceInsightsRetentionPeriod`` /// + ``PromotionTier`` /// + ``SourceDBInstanceIdentifier`` /// + ``SourceRegion`` - /// + ``StorageEncrypted`` (for an encrypted snapshot) + /// + ``StorageEncrypted`` (for an unencrypted snapshot) /// + ``Timezone`` /// /// *Amazon Aurora* diff --git a/sdk/dotnet/Rds/GetDbSubnetGroup.cs b/sdk/dotnet/Rds/GetDbSubnetGroup.cs index d203e22057..8ea8528961 100644 --- a/sdk/dotnet/Rds/GetDbSubnetGroup.cs +++ b/sdk/dotnet/Rds/GetDbSubnetGroup.cs @@ -76,6 +76,10 @@ public sealed class GetDbSubnetGroupResult /// public readonly string? DbSubnetGroupDescription; /// + /// The EC2 Subnet IDs for the DB subnet group. + /// + public readonly ImmutableArray SubnetIds; + /// /// Tags to assign to the DB subnet group. /// public readonly ImmutableArray Tags; @@ -84,9 +88,12 @@ public sealed class GetDbSubnetGroupResult private GetDbSubnetGroupResult( string? dbSubnetGroupDescription, + ImmutableArray subnetIds, + ImmutableArray tags) { DbSubnetGroupDescription = dbSubnetGroupDescription; + SubnetIds = subnetIds; Tags = tags; } } diff --git a/sdk/dotnet/SageMaker/GetImageVersion.cs b/sdk/dotnet/SageMaker/GetImageVersion.cs index 3dcd79b858..cca5601c9b 100644 --- a/sdk/dotnet/SageMaker/GetImageVersion.cs +++ b/sdk/dotnet/SageMaker/GetImageVersion.cs @@ -95,7 +95,7 @@ public sealed class GetImageVersionResult public readonly string? ReleaseNotes; public readonly Pulumi.AwsNative.SageMaker.ImageVersionVendorGuidance? VendorGuidance; /// - /// The version number. + /// The version of the image. /// public readonly int? Version; diff --git a/sdk/dotnet/SageMaker/ImageVersion.cs b/sdk/dotnet/SageMaker/ImageVersion.cs index e96d5a0619..29dd4cb89c 100644 --- a/sdk/dotnet/SageMaker/ImageVersion.cs +++ b/sdk/dotnet/SageMaker/ImageVersion.cs @@ -83,7 +83,7 @@ public partial class ImageVersion : global::Pulumi.CustomResource public Output VendorGuidance { get; private set; } = null!; /// - /// The version number. + /// The version of the image. /// [Output("version")] public Output Version { get; private set; } = null!; diff --git a/sdk/dotnet/Sqs/GetQueue.cs b/sdk/dotnet/Sqs/GetQueue.cs index f0874aeec9..c9631a3a8e 100644 --- a/sdk/dotnet/Sqs/GetQueue.cs +++ b/sdk/dotnet/Sqs/GetQueue.cs @@ -20,7 +20,7 @@ public static class GetQueue /// + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. /// + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. /// - /// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + /// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. /// public static Task InvokeAsync(GetQueueArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:sqs:getQueue", args ?? new GetQueueArgs(), options.WithDefaults()); @@ -34,7 +34,7 @@ public static Task InvokeAsync(GetQueueArgs args, InvokeOptions? /// + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. /// + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. /// - /// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + /// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. /// public static Output Invoke(GetQueueInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:sqs:getQueue", args ?? new GetQueueInvokeArgs(), options.WithDefaults()); @@ -101,11 +101,11 @@ public sealed class GetQueueResult /// public readonly int? KmsDataKeyReusePeriodSeconds; /// - /// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + /// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: /// + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* /// + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* /// + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - /// + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + /// + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* /// public readonly string? KmsMasterKeyId; /// @@ -126,20 +126,20 @@ public sealed class GetQueueResult public readonly int? ReceiveMessageWaitTimeSeconds; /// /// The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - /// + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - /// + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - /// + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - /// + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + /// + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + /// + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + /// + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + /// + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. /// - /// + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + /// + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. /// public readonly object? RedriveAllowPolicy; /// /// The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - /// + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - /// + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + /// + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + /// + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. /// /// The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. /// *JSON* diff --git a/sdk/dotnet/Sqs/Queue.cs b/sdk/dotnet/Sqs/Queue.cs index 5375cfde8c..50f9f6e47b 100644 --- a/sdk/dotnet/Sqs/Queue.cs +++ b/sdk/dotnet/Sqs/Queue.cs @@ -18,7 +18,7 @@ namespace Pulumi.AwsNative.Sqs /// + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. /// + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. /// - /// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + /// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. /// /// ## Example Usage /// ### Example @@ -245,7 +245,7 @@ public partial class Queue : global::Pulumi.CustomResource public Output DelaySeconds { get; private set; } = null!; /// - /// If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + /// If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. /// [Output("fifoQueue")] public Output FifoQueue { get; private set; } = null!; @@ -265,11 +265,11 @@ public partial class Queue : global::Pulumi.CustomResource public Output KmsDataKeyReusePeriodSeconds { get; private set; } = null!; /// - /// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + /// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: /// + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* /// + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* /// + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - /// + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + /// + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* /// [Output("kmsMasterKeyId")] public Output KmsMasterKeyId { get; private set; } = null!; @@ -287,7 +287,7 @@ public partial class Queue : global::Pulumi.CustomResource public Output MessageRetentionPeriod { get; private set; } = null!; /// - /// A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + /// A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. /// If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. /// If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. /// @@ -308,12 +308,12 @@ public partial class Queue : global::Pulumi.CustomResource /// /// The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - /// + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - /// + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - /// + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - /// + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + /// + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + /// + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + /// + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + /// + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. /// - /// + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + /// + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. /// @@ -322,8 +322,8 @@ public partial class Queue : global::Pulumi.CustomResource /// /// The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - /// + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - /// + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + /// + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + /// + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. /// /// The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. /// *JSON* @@ -427,7 +427,7 @@ public sealed class QueueArgs : global::Pulumi.ResourceArgs public Input? DelaySeconds { get; set; } /// - /// If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + /// If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. /// [Input("fifoQueue")] public Input? FifoQueue { get; set; } @@ -447,11 +447,11 @@ public sealed class QueueArgs : global::Pulumi.ResourceArgs public Input? KmsDataKeyReusePeriodSeconds { get; set; } /// - /// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + /// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: /// + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* /// + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* /// + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - /// + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + /// + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* /// [Input("kmsMasterKeyId")] public Input? KmsMasterKeyId { get; set; } @@ -469,7 +469,7 @@ public sealed class QueueArgs : global::Pulumi.ResourceArgs public Input? MessageRetentionPeriod { get; set; } /// - /// A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + /// A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. /// If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. /// If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. /// @@ -484,12 +484,12 @@ public sealed class QueueArgs : global::Pulumi.ResourceArgs /// /// The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - /// + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - /// + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - /// + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - /// + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + /// + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + /// + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + /// + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + /// + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. /// - /// + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + /// + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. /// /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. /// @@ -498,8 +498,8 @@ public sealed class QueueArgs : global::Pulumi.ResourceArgs /// /// The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - /// + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - /// + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + /// + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + /// + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. /// /// The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. /// *JSON* diff --git a/sdk/dotnet/SsmQuickSetup/Inputs/ConfigurationManagerConfigurationDefinitionArgs.cs b/sdk/dotnet/SsmQuickSetup/Inputs/ConfigurationManagerConfigurationDefinitionArgs.cs index 10dc9bf5c7..2fc7faf6b6 100644 --- a/sdk/dotnet/SsmQuickSetup/Inputs/ConfigurationManagerConfigurationDefinitionArgs.cs +++ b/sdk/dotnet/SsmQuickSetup/Inputs/ConfigurationManagerConfigurationDefinitionArgs.cs @@ -290,7 +290,7 @@ public sealed class ConfigurationManagerConfigurationDefinitionArgs : global::Pu /// - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". /// - `RebootOption` /// - /// - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + /// - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . /// - `IsPolicyAttachAllowed` /// /// - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". diff --git a/sdk/dotnet/SsmQuickSetup/Outputs/ConfigurationManagerConfigurationDefinition.cs b/sdk/dotnet/SsmQuickSetup/Outputs/ConfigurationManagerConfigurationDefinition.cs index 4a59af213c..a37bf41f8b 100644 --- a/sdk/dotnet/SsmQuickSetup/Outputs/ConfigurationManagerConfigurationDefinition.cs +++ b/sdk/dotnet/SsmQuickSetup/Outputs/ConfigurationManagerConfigurationDefinition.cs @@ -282,7 +282,7 @@ public sealed class ConfigurationManagerConfigurationDefinition /// - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". /// - `RebootOption` /// - /// - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + /// - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . /// - `IsPolicyAttachAllowed` /// /// - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". diff --git a/sdk/dotnet/Transfer/Enums.cs b/sdk/dotnet/Transfer/Enums.cs index 0d517b1c69..78dbc62caf 100644 --- a/sdk/dotnet/Transfer/Enums.cs +++ b/sdk/dotnet/Transfer/Enums.cs @@ -329,6 +329,268 @@ private ProfileType(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct ServerAs2Transport : IEquatable + { + private readonly string _value; + + private ServerAs2Transport(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerAs2Transport Http { get; } = new ServerAs2Transport("HTTP"); + + public static bool operator ==(ServerAs2Transport left, ServerAs2Transport right) => left.Equals(right); + public static bool operator !=(ServerAs2Transport left, ServerAs2Transport right) => !left.Equals(right); + + public static explicit operator string(ServerAs2Transport value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerAs2Transport other && Equals(other); + public bool Equals(ServerAs2Transport other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility. + /// + [EnumType] + public readonly struct ServerDirectoryListingOptimization : IEquatable + { + private readonly string _value; + + private ServerDirectoryListingOptimization(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerDirectoryListingOptimization Enabled { get; } = new ServerDirectoryListingOptimization("ENABLED"); + public static ServerDirectoryListingOptimization Disabled { get; } = new ServerDirectoryListingOptimization("DISABLED"); + + public static bool operator ==(ServerDirectoryListingOptimization left, ServerDirectoryListingOptimization right) => left.Equals(right); + public static bool operator !=(ServerDirectoryListingOptimization left, ServerDirectoryListingOptimization right) => !left.Equals(right); + + public static explicit operator string(ServerDirectoryListingOptimization value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerDirectoryListingOptimization other && Equals(other); + public bool Equals(ServerDirectoryListingOptimization other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ServerDomain : IEquatable + { + private readonly string _value; + + private ServerDomain(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerDomain S3 { get; } = new ServerDomain("S3"); + public static ServerDomain Efs { get; } = new ServerDomain("EFS"); + + public static bool operator ==(ServerDomain left, ServerDomain right) => left.Equals(right); + public static bool operator !=(ServerDomain left, ServerDomain right) => !left.Equals(right); + + public static explicit operator string(ServerDomain value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerDomain other && Equals(other); + public bool Equals(ServerDomain other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ServerEndpointType : IEquatable + { + private readonly string _value; + + private ServerEndpointType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerEndpointType Public { get; } = new ServerEndpointType("PUBLIC"); + public static ServerEndpointType Vpc { get; } = new ServerEndpointType("VPC"); + public static ServerEndpointType VpcEndpoint { get; } = new ServerEndpointType("VPC_ENDPOINT"); + + public static bool operator ==(ServerEndpointType left, ServerEndpointType right) => left.Equals(right); + public static bool operator !=(ServerEndpointType left, ServerEndpointType right) => !left.Equals(right); + + public static explicit operator string(ServerEndpointType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerEndpointType other && Equals(other); + public bool Equals(ServerEndpointType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ServerIdentityProviderType : IEquatable + { + private readonly string _value; + + private ServerIdentityProviderType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerIdentityProviderType ServiceManaged { get; } = new ServerIdentityProviderType("SERVICE_MANAGED"); + public static ServerIdentityProviderType ApiGateway { get; } = new ServerIdentityProviderType("API_GATEWAY"); + public static ServerIdentityProviderType AwsDirectoryService { get; } = new ServerIdentityProviderType("AWS_DIRECTORY_SERVICE"); + public static ServerIdentityProviderType AwsLambda { get; } = new ServerIdentityProviderType("AWS_LAMBDA"); + + public static bool operator ==(ServerIdentityProviderType left, ServerIdentityProviderType right) => left.Equals(right); + public static bool operator !=(ServerIdentityProviderType left, ServerIdentityProviderType right) => !left.Equals(right); + + public static explicit operator string(ServerIdentityProviderType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerIdentityProviderType other && Equals(other); + public bool Equals(ServerIdentityProviderType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ServerProtocol : IEquatable + { + private readonly string _value; + + private ServerProtocol(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerProtocol Sftp { get; } = new ServerProtocol("SFTP"); + public static ServerProtocol Ftp { get; } = new ServerProtocol("FTP"); + public static ServerProtocol Ftps { get; } = new ServerProtocol("FTPS"); + public static ServerProtocol As2 { get; } = new ServerProtocol("AS2"); + + public static bool operator ==(ServerProtocol left, ServerProtocol right) => left.Equals(right); + public static bool operator !=(ServerProtocol left, ServerProtocol right) => !left.Equals(right); + + public static explicit operator string(ServerProtocol value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerProtocol other && Equals(other); + public bool Equals(ServerProtocol other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ServerSetStatOption : IEquatable + { + private readonly string _value; + + private ServerSetStatOption(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerSetStatOption Default { get; } = new ServerSetStatOption("DEFAULT"); + public static ServerSetStatOption EnableNoOp { get; } = new ServerSetStatOption("ENABLE_NO_OP"); + + public static bool operator ==(ServerSetStatOption left, ServerSetStatOption right) => left.Equals(right); + public static bool operator !=(ServerSetStatOption left, ServerSetStatOption right) => !left.Equals(right); + + public static explicit operator string(ServerSetStatOption value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerSetStatOption other && Equals(other); + public bool Equals(ServerSetStatOption other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ServerSftpAuthenticationMethods : IEquatable + { + private readonly string _value; + + private ServerSftpAuthenticationMethods(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerSftpAuthenticationMethods Password { get; } = new ServerSftpAuthenticationMethods("PASSWORD"); + public static ServerSftpAuthenticationMethods PublicKey { get; } = new ServerSftpAuthenticationMethods("PUBLIC_KEY"); + public static ServerSftpAuthenticationMethods PublicKeyOrPassword { get; } = new ServerSftpAuthenticationMethods("PUBLIC_KEY_OR_PASSWORD"); + public static ServerSftpAuthenticationMethods PublicKeyAndPassword { get; } = new ServerSftpAuthenticationMethods("PUBLIC_KEY_AND_PASSWORD"); + + public static bool operator ==(ServerSftpAuthenticationMethods left, ServerSftpAuthenticationMethods right) => left.Equals(right); + public static bool operator !=(ServerSftpAuthenticationMethods left, ServerSftpAuthenticationMethods right) => !left.Equals(right); + + public static explicit operator string(ServerSftpAuthenticationMethods value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerSftpAuthenticationMethods other && Equals(other); + public bool Equals(ServerSftpAuthenticationMethods other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct ServerTlsSessionResumptionMode : IEquatable + { + private readonly string _value; + + private ServerTlsSessionResumptionMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServerTlsSessionResumptionMode Disabled { get; } = new ServerTlsSessionResumptionMode("DISABLED"); + public static ServerTlsSessionResumptionMode Enabled { get; } = new ServerTlsSessionResumptionMode("ENABLED"); + public static ServerTlsSessionResumptionMode Enforced { get; } = new ServerTlsSessionResumptionMode("ENFORCED"); + + public static bool operator ==(ServerTlsSessionResumptionMode left, ServerTlsSessionResumptionMode right) => left.Equals(right); + public static bool operator !=(ServerTlsSessionResumptionMode left, ServerTlsSessionResumptionMode right) => !left.Equals(right); + + public static explicit operator string(ServerTlsSessionResumptionMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServerTlsSessionResumptionMode other && Equals(other); + public bool Equals(ServerTlsSessionResumptionMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is FALSE. /// diff --git a/sdk/dotnet/Transfer/GetServer.cs b/sdk/dotnet/Transfer/GetServer.cs new file mode 100644 index 0000000000..8021301fb6 --- /dev/null +++ b/sdk/dotnet/Transfer/GetServer.cs @@ -0,0 +1,256 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer +{ + public static class GetServer + { + /// + /// Definition of AWS::Transfer::Server Resource Type + /// + public static Task InvokeAsync(GetServerArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:transfer:getServer", args ?? new GetServerArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::Transfer::Server Resource Type + /// + public static Output Invoke(GetServerInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:transfer:getServer", args ?? new GetServerInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetServerArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + /// + /// An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + /// + [Input("arn", required: true)] + public string Arn { get; set; } = null!; + + public GetServerArgs() + { + } + public static new GetServerArgs Empty => new GetServerArgs(); + } + + public sealed class GetServerInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + /// + /// An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public GetServerInvokeArgs() + { + } + public static new GetServerInvokeArgs Empty => new GetServerInvokeArgs(); + } + + + [OutputType] + public sealed class GetServerResult + { + /// + /// The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + /// + /// An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + /// + public readonly string? Arn; + /// + /// The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + /// + public readonly ImmutableArray As2ServiceManagedEgressIpAddresses; + /// + /// The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + /// + /// To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + /// + /// To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + /// + /// To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + /// + /// Certificates with the following cryptographic algorithms and key sizes are supported: + /// + /// - 2048-bit RSA (RSA_2048) + /// - 4096-bit RSA (RSA_4096) + /// - Elliptic Prime Curve 256 bit (EC_prime256v1) + /// - Elliptic Prime Curve 384 bit (EC_secp384r1) + /// - Elliptic Prime Curve 521 bit (EC_secp521r1) + /// + /// > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + /// + public readonly string? Certificate; + /// + /// The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + /// + public readonly Outputs.ServerEndpointDetails? EndpointDetails; + /// + /// The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + /// + /// > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + /// > + /// > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + /// > + /// > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + /// + public readonly Pulumi.AwsNative.Transfer.ServerEndpointType? EndpointType; + /// + /// Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + /// + public readonly Outputs.ServerIdentityProviderDetails? IdentityProviderDetails; + /// + /// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + /// + public readonly string? LoggingRole; + /// + /// Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + /// + /// > The SFTP protocol does not support post-authentication display banners. + /// + public readonly string? PostAuthenticationLoginBanner; + /// + /// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + /// + /// `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + /// + public readonly string? PreAuthenticationLoginBanner; + /// + /// The protocol settings that are configured for your server. + /// + /// - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + /// - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + /// - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + /// - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + /// + /// The `Protocols` parameter is an array of strings. + /// + /// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + /// + public readonly Outputs.ServerProtocolDetails? ProtocolDetails; + /// + /// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + /// + /// - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + /// - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + /// - `FTP` (File Transfer Protocol): Unencrypted file transfer + /// - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + /// + /// > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + /// > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + /// > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + /// > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + /// > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + /// + /// The `Protocols` parameter is an array of strings. + /// + /// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + /// + public readonly ImmutableArray Protocols; + /// + /// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + /// + /// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + /// + public readonly Outputs.ServerS3StorageOptions? S3StorageOptions; + /// + /// Specifies the name of the security policy for the server. + /// + public readonly string? SecurityPolicyName; + /// + /// The service-assigned ID of the server that is created. + /// + /// An example `ServerId` is `s-01234567890abcdef` . + /// + public readonly string? ServerId; + /// + /// Specifies the log groups to which your server logs are sent. + /// + /// To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + /// + /// `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + /// + /// For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + /// + /// If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + /// + /// `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + /// + public readonly ImmutableArray StructuredLogDestinations; + /// + /// Key-value pairs that can be used to group and search for servers. + /// + public readonly ImmutableArray Tags; + /// + /// Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + /// + /// In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + /// + public readonly Outputs.ServerWorkflowDetails? WorkflowDetails; + + [OutputConstructor] + private GetServerResult( + string? arn, + + ImmutableArray as2ServiceManagedEgressIpAddresses, + + string? certificate, + + Outputs.ServerEndpointDetails? endpointDetails, + + Pulumi.AwsNative.Transfer.ServerEndpointType? endpointType, + + Outputs.ServerIdentityProviderDetails? identityProviderDetails, + + string? loggingRole, + + string? postAuthenticationLoginBanner, + + string? preAuthenticationLoginBanner, + + Outputs.ServerProtocolDetails? protocolDetails, + + ImmutableArray protocols, + + Outputs.ServerS3StorageOptions? s3StorageOptions, + + string? securityPolicyName, + + string? serverId, + + ImmutableArray structuredLogDestinations, + + ImmutableArray tags, + + Outputs.ServerWorkflowDetails? workflowDetails) + { + Arn = arn; + As2ServiceManagedEgressIpAddresses = as2ServiceManagedEgressIpAddresses; + Certificate = certificate; + EndpointDetails = endpointDetails; + EndpointType = endpointType; + IdentityProviderDetails = identityProviderDetails; + LoggingRole = loggingRole; + PostAuthenticationLoginBanner = postAuthenticationLoginBanner; + PreAuthenticationLoginBanner = preAuthenticationLoginBanner; + ProtocolDetails = protocolDetails; + Protocols = protocols; + S3StorageOptions = s3StorageOptions; + SecurityPolicyName = securityPolicyName; + ServerId = serverId; + StructuredLogDestinations = structuredLogDestinations; + Tags = tags; + WorkflowDetails = workflowDetails; + } + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerEndpointDetailsArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerEndpointDetailsArgs.cs new file mode 100644 index 0000000000..6192c8ad37 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerEndpointDetailsArgs.cs @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Inputs +{ + + public sealed class ServerEndpointDetailsArgs : global::Pulumi.ResourceArgs + { + [Input("addressAllocationIds")] + private InputList? _addressAllocationIds; + + /// + /// A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + /// + /// An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + /// + /// This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + /// + /// > This property can only be set as follows: + /// > + /// > - `EndpointType` must be set to `VPC` + /// > - The Transfer Family server must be offline. + /// > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + /// > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + /// > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + /// > - Call the `UpdateServer` API to set or change this parameter. + /// + public InputList AddressAllocationIds + { + get => _addressAllocationIds ?? (_addressAllocationIds = new InputList()); + set => _addressAllocationIds = value; + } + + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// A list of security groups IDs that are available to attach to your server's endpoint. + /// + /// > This property can only be set when `EndpointType` is set to `VPC` . + /// > + /// > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds")] + private InputList? _subnetIds; + + /// + /// A list of subnet IDs that are required to host your server endpoint in your VPC. + /// + /// > This property can only be set when `EndpointType` is set to `VPC` . + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + /// + /// The ID of the VPC endpoint. + /// + /// > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + /// + [Input("vpcEndpointId")] + public Input? VpcEndpointId { get; set; } + + /// + /// The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + /// + /// > This property can only be set when `EndpointType` is set to `VPC` . + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public ServerEndpointDetailsArgs() + { + } + public static new ServerEndpointDetailsArgs Empty => new ServerEndpointDetailsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerIdentityProviderDetailsArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerIdentityProviderDetailsArgs.cs new file mode 100644 index 0000000000..e3853f7320 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerIdentityProviderDetailsArgs.cs @@ -0,0 +1,55 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Inputs +{ + + public sealed class ServerIdentityProviderDetailsArgs : global::Pulumi.ResourceArgs + { + /// + /// The identifier of the AWS Directory Service directory that you want to use as your identity provider. + /// + [Input("directoryId")] + public Input? DirectoryId { get; set; } + + /// + /// The ARN for a Lambda function to use for the Identity provider. + /// + [Input("function")] + public Input? Function { get; set; } + + /// + /// This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + /// + [Input("invocationRole")] + public Input? InvocationRole { get; set; } + + /// + /// For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + /// + /// - `PASSWORD` - users must provide their password to connect. + /// - `PUBLIC_KEY` - users must provide their private key to connect. + /// - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + /// - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + /// + [Input("sftpAuthenticationMethods")] + public Input? SftpAuthenticationMethods { get; set; } + + /// + /// Provides the location of the service endpoint used to authenticate users. + /// + [Input("url")] + public Input? Url { get; set; } + + public ServerIdentityProviderDetailsArgs() + { + } + public static new ServerIdentityProviderDetailsArgs Empty => new ServerIdentityProviderDetailsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsArgs.cs new file mode 100644 index 0000000000..49e8177d62 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerProtocolDetailsArgs.cs @@ -0,0 +1,72 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Inputs +{ + + public sealed class ServerProtocolDetailsArgs : global::Pulumi.ResourceArgs + { + [Input("as2Transports")] + private InputList? _as2Transports; + + /// + /// List of `As2Transport` objects. + /// + public InputList As2Transports + { + get => _as2Transports ?? (_as2Transports = new InputList()); + set => _as2Transports = value; + } + + /// + /// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + /// + /// `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + /// + /// Replace `0.0.0.0` in the example above with the actual IP address you want to use. + /// + /// > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + /// + /// *Special values* + /// + /// The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + /// + [Input("passiveIp")] + public Input? PassiveIp { get; set; } + + /// + /// Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + /// + /// Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + /// + /// Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + /// + /// > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + /// + [Input("setStatOption")] + public Input? SetStatOption { get; set; } + + /// + /// A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + /// + /// - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + /// - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + /// - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + /// + /// > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + /// + [Input("tlsSessionResumptionMode")] + public Input? TlsSessionResumptionMode { get; set; } + + public ServerProtocolDetailsArgs() + { + } + public static new ServerProtocolDetailsArgs Empty => new ServerProtocolDetailsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerS3StorageOptionsArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerS3StorageOptionsArgs.cs new file mode 100644 index 0000000000..9f364f68f7 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerS3StorageOptionsArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Inputs +{ + + public sealed class ServerS3StorageOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + /// + /// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + /// + [Input("directoryListingOptimization")] + public Input? DirectoryListingOptimization { get; set; } + + public ServerS3StorageOptionsArgs() + { + } + public static new ServerS3StorageOptionsArgs Empty => new ServerS3StorageOptionsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerWorkflowDetailArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerWorkflowDetailArgs.cs new file mode 100644 index 0000000000..db60b5d611 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerWorkflowDetailArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Inputs +{ + + public sealed class ServerWorkflowDetailArgs : global::Pulumi.ResourceArgs + { + /// + /// Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + /// + [Input("executionRole", required: true)] + public Input ExecutionRole { get; set; } = null!; + + /// + /// A unique identifier for the workflow. + /// + [Input("workflowId", required: true)] + public Input WorkflowId { get; set; } = null!; + + public ServerWorkflowDetailArgs() + { + } + public static new ServerWorkflowDetailArgs Empty => new ServerWorkflowDetailArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/ServerWorkflowDetailsArgs.cs b/sdk/dotnet/Transfer/Inputs/ServerWorkflowDetailsArgs.cs new file mode 100644 index 0000000000..3e4c83c51c --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/ServerWorkflowDetailsArgs.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Inputs +{ + + public sealed class ServerWorkflowDetailsArgs : global::Pulumi.ResourceArgs + { + [Input("onPartialUpload")] + private InputList? _onPartialUpload; + + /// + /// A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + /// + /// A *partial upload* occurs when a file is open when the session disconnects. + /// + /// > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + /// + public InputList OnPartialUpload + { + get => _onPartialUpload ?? (_onPartialUpload = new InputList()); + set => _onPartialUpload = value; + } + + [Input("onUpload")] + private InputList? _onUpload; + + /// + /// A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + /// + /// To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + /// + /// `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + /// + /// > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + /// + public InputList OnUpload + { + get => _onUpload ?? (_onUpload = new InputList()); + set => _onUpload = value; + } + + public ServerWorkflowDetailsArgs() + { + } + public static new ServerWorkflowDetailsArgs Empty => new ServerWorkflowDetailsArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Outputs/ServerEndpointDetails.cs b/sdk/dotnet/Transfer/Outputs/ServerEndpointDetails.cs new file mode 100644 index 0000000000..68b5f866f4 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/ServerEndpointDetails.cs @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class ServerEndpointDetails + { + /// + /// A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + /// + /// An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + /// + /// This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + /// + /// > This property can only be set as follows: + /// > + /// > - `EndpointType` must be set to `VPC` + /// > - The Transfer Family server must be offline. + /// > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + /// > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + /// > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + /// > - Call the `UpdateServer` API to set or change this parameter. + /// + public readonly ImmutableArray AddressAllocationIds; + /// + /// A list of security groups IDs that are available to attach to your server's endpoint. + /// + /// > This property can only be set when `EndpointType` is set to `VPC` . + /// > + /// > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// A list of subnet IDs that are required to host your server endpoint in your VPC. + /// + /// > This property can only be set when `EndpointType` is set to `VPC` . + /// + public readonly ImmutableArray SubnetIds; + /// + /// The ID of the VPC endpoint. + /// + /// > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + /// + public readonly string? VpcEndpointId; + /// + /// The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + /// + /// > This property can only be set when `EndpointType` is set to `VPC` . + /// + public readonly string? VpcId; + + [OutputConstructor] + private ServerEndpointDetails( + ImmutableArray addressAllocationIds, + + ImmutableArray securityGroupIds, + + ImmutableArray subnetIds, + + string? vpcEndpointId, + + string? vpcId) + { + AddressAllocationIds = addressAllocationIds; + SecurityGroupIds = securityGroupIds; + SubnetIds = subnetIds; + VpcEndpointId = vpcEndpointId; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/ServerIdentityProviderDetails.cs b/sdk/dotnet/Transfer/Outputs/ServerIdentityProviderDetails.cs new file mode 100644 index 0000000000..2fe6589bab --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/ServerIdentityProviderDetails.cs @@ -0,0 +1,61 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class ServerIdentityProviderDetails + { + /// + /// The identifier of the AWS Directory Service directory that you want to use as your identity provider. + /// + public readonly string? DirectoryId; + /// + /// The ARN for a Lambda function to use for the Identity provider. + /// + public readonly string? Function; + /// + /// This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + /// + public readonly string? InvocationRole; + /// + /// For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + /// + /// - `PASSWORD` - users must provide their password to connect. + /// - `PUBLIC_KEY` - users must provide their private key to connect. + /// - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + /// - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + /// + public readonly Pulumi.AwsNative.Transfer.ServerSftpAuthenticationMethods? SftpAuthenticationMethods; + /// + /// Provides the location of the service endpoint used to authenticate users. + /// + public readonly string? Url; + + [OutputConstructor] + private ServerIdentityProviderDetails( + string? directoryId, + + string? function, + + string? invocationRole, + + Pulumi.AwsNative.Transfer.ServerSftpAuthenticationMethods? sftpAuthenticationMethods, + + string? url) + { + DirectoryId = directoryId; + Function = function; + InvocationRole = invocationRole; + SftpAuthenticationMethods = sftpAuthenticationMethods; + Url = url; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/ServerProtocolDetails.cs b/sdk/dotnet/Transfer/Outputs/ServerProtocolDetails.cs new file mode 100644 index 0000000000..2fbcb1e963 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/ServerProtocolDetails.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class ServerProtocolDetails + { + /// + /// List of `As2Transport` objects. + /// + public readonly ImmutableArray As2Transports; + /// + /// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + /// + /// `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + /// + /// Replace `0.0.0.0` in the example above with the actual IP address you want to use. + /// + /// > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + /// + /// *Special values* + /// + /// The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + /// + public readonly string? PassiveIp; + /// + /// Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + /// + /// Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + /// + /// Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + /// + /// > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + /// + public readonly Pulumi.AwsNative.Transfer.ServerSetStatOption? SetStatOption; + /// + /// A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + /// + /// - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + /// - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + /// - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + /// + /// > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + /// + public readonly Pulumi.AwsNative.Transfer.ServerTlsSessionResumptionMode? TlsSessionResumptionMode; + + [OutputConstructor] + private ServerProtocolDetails( + ImmutableArray as2Transports, + + string? passiveIp, + + Pulumi.AwsNative.Transfer.ServerSetStatOption? setStatOption, + + Pulumi.AwsNative.Transfer.ServerTlsSessionResumptionMode? tlsSessionResumptionMode) + { + As2Transports = as2Transports; + PassiveIp = passiveIp; + SetStatOption = setStatOption; + TlsSessionResumptionMode = tlsSessionResumptionMode; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/ServerS3StorageOptions.cs b/sdk/dotnet/Transfer/Outputs/ServerS3StorageOptions.cs new file mode 100644 index 0000000000..fdf867c250 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/ServerS3StorageOptions.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class ServerS3StorageOptions + { + /// + /// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + /// + /// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + /// + public readonly Pulumi.AwsNative.Transfer.ServerDirectoryListingOptimization? DirectoryListingOptimization; + + [OutputConstructor] + private ServerS3StorageOptions(Pulumi.AwsNative.Transfer.ServerDirectoryListingOptimization? directoryListingOptimization) + { + DirectoryListingOptimization = directoryListingOptimization; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/ServerWorkflowDetail.cs b/sdk/dotnet/Transfer/Outputs/ServerWorkflowDetail.cs new file mode 100644 index 0000000000..1d5bdaa9eb --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/ServerWorkflowDetail.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class ServerWorkflowDetail + { + /// + /// Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + /// + public readonly string ExecutionRole; + /// + /// A unique identifier for the workflow. + /// + public readonly string WorkflowId; + + [OutputConstructor] + private ServerWorkflowDetail( + string executionRole, + + string workflowId) + { + ExecutionRole = executionRole; + WorkflowId = workflowId; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/ServerWorkflowDetails.cs b/sdk/dotnet/Transfer/Outputs/ServerWorkflowDetails.cs new file mode 100644 index 0000000000..4d8631b553 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/ServerWorkflowDetails.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class ServerWorkflowDetails + { + /// + /// A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + /// + /// A *partial upload* occurs when a file is open when the session disconnects. + /// + /// > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + /// + public readonly ImmutableArray OnPartialUpload; + /// + /// A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + /// + /// To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + /// + /// `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + /// + /// > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + /// + public readonly ImmutableArray OnUpload; + + [OutputConstructor] + private ServerWorkflowDetails( + ImmutableArray onPartialUpload, + + ImmutableArray onUpload) + { + OnPartialUpload = onPartialUpload; + OnUpload = onUpload; + } + } +} diff --git a/sdk/dotnet/Transfer/Server.cs b/sdk/dotnet/Transfer/Server.cs new file mode 100644 index 0000000000..d796c7f45c --- /dev/null +++ b/sdk/dotnet/Transfer/Server.cs @@ -0,0 +1,743 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Transfer +{ + /// + /// Definition of AWS::Transfer::Server Resource Type + /// + /// ## Example Usage + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var myTransferServer = new AwsNative.Transfer.Server("myTransferServer", new() + /// { + /// EndpointDetails = new AwsNative.Transfer.Inputs.ServerEndpointDetailsArgs + /// { + /// AddressAllocationIds = new[] + /// { + /// "AddressAllocationId-1", + /// "AddressAllocationId-2", + /// }, + /// SubnetIds = new[] + /// { + /// "SubnetId-1", + /// "SubnetId-2", + /// }, + /// VpcId = "VpcId", + /// }, + /// EndpointType = AwsNative.Transfer.ServerEndpointType.Vpc, + /// LoggingRole = "Logging-Role-ARN", + /// Protocols = new[] + /// { + /// AwsNative.Transfer.ServerProtocol.Sftp, + /// }, + /// SecurityPolicyName = "Security-Policy-Name", + /// IdentityProviderDetails = new AwsNative.Transfer.Inputs.ServerIdentityProviderDetailsArgs + /// { + /// InvocationRole = "Invocation-Role-ARN", + /// Url = "API_GATEWAY-Invocation-URL", + /// }, + /// IdentityProviderType = AwsNative.Transfer.ServerIdentityProviderType.ApiGateway, + /// Tags = new[] + /// { + /// new AwsNative.Inputs.TagArgs + /// { + /// Key = "KeyName", + /// Value = "ValueName", + /// }, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var myTransferServer = new AwsNative.Transfer.Server("myTransferServer", new() + /// { + /// EndpointDetails = new AwsNative.Transfer.Inputs.ServerEndpointDetailsArgs + /// { + /// AddressAllocationIds = new[] + /// { + /// "AddressAllocationId-1", + /// "AddressAllocationId-2", + /// }, + /// SubnetIds = new[] + /// { + /// "SubnetId-1", + /// "SubnetId-2", + /// }, + /// VpcId = "VpcId", + /// }, + /// EndpointType = AwsNative.Transfer.ServerEndpointType.Vpc, + /// LoggingRole = "Logging-Role-ARN", + /// Protocols = new[] + /// { + /// AwsNative.Transfer.ServerProtocol.Sftp, + /// }, + /// SecurityPolicyName = "Security-Policy-Name", + /// IdentityProviderDetails = new AwsNative.Transfer.Inputs.ServerIdentityProviderDetailsArgs + /// { + /// InvocationRole = "Invocation-Role-ARN", + /// Url = "API_GATEWAY-Invocation-URL", + /// }, + /// IdentityProviderType = AwsNative.Transfer.ServerIdentityProviderType.ApiGateway, + /// Tags = new[] + /// { + /// new AwsNative.Inputs.TagArgs + /// { + /// Key = "KeyName", + /// Value = "ValueName", + /// }, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var transferWorkflow = new AwsNative.Transfer.Workflow("transferWorkflow", new() + /// { + /// Description = "Transfer Family Workflows Blog", + /// Steps = new[] + /// { + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Copy, + /// CopyStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCopyStepDetailsPropertiesArgs + /// { + /// Name = "copyToUserKey", + /// DestinationFileLocation = new AwsNative.Transfer.Inputs.WorkflowS3FileLocationArgs + /// { + /// S3FileLocation = new AwsNative.Transfer.Inputs.WorkflowS3InputFileLocationArgs + /// { + /// Bucket = "archived-records", + /// Key = "${transfer:UserName}/", + /// }, + /// }, + /// OverwriteExisting = AwsNative.Transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True, + /// }, + /// }, + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Tag, + /// TagStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepTagStepDetailsPropertiesArgs + /// { + /// Name = "tagFileForArchive", + /// Tags = new[] + /// { + /// new AwsNative.Transfer.Inputs.WorkflowS3TagArgs + /// { + /// Key = "Archive", + /// Value = "yes", + /// }, + /// }, + /// }, + /// }, + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Custom, + /// CustomStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCustomStepDetailsPropertiesArgs + /// { + /// Name = "transferExtract", + /// Target = "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + /// TimeoutSeconds = 60, + /// }, + /// }, + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Delete, + /// DeleteStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepDeleteStepDetailsPropertiesArgs + /// { + /// Name = "DeleteInputFile", + /// SourceFileLocation = "${original.file}", + /// }, + /// }, + /// }, + /// Tags = new[] + /// { + /// new AwsNative.Inputs.TagArgs + /// { + /// Key = "Name", + /// Value = "TransferFamilyWorkflows", + /// }, + /// }, + /// }); + /// + /// var sftpServer = new AwsNative.Transfer.Server("sftpServer", new() + /// { + /// WorkflowDetails = new AwsNative.Transfer.Inputs.ServerWorkflowDetailsArgs + /// { + /// OnUpload = new[] + /// { + /// new AwsNative.Transfer.Inputs.ServerWorkflowDetailArgs + /// { + /// ExecutionRole = "your-workflow-execution-role-arn", + /// WorkflowId = transferWorkflow.WorkflowId, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var transferWorkflow = new AwsNative.Transfer.Workflow("transferWorkflow", new() + /// { + /// Description = "Transfer Family Workflows Blog", + /// Steps = new[] + /// { + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Copy, + /// CopyStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCopyStepDetailsPropertiesArgs + /// { + /// Name = "copyToUserKey", + /// DestinationFileLocation = new AwsNative.Transfer.Inputs.WorkflowS3FileLocationArgs + /// { + /// S3FileLocation = new AwsNative.Transfer.Inputs.WorkflowS3InputFileLocationArgs + /// { + /// Bucket = "archived-records", + /// Key = "${transfer:UserName}/", + /// }, + /// }, + /// OverwriteExisting = AwsNative.Transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True, + /// }, + /// }, + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Tag, + /// TagStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepTagStepDetailsPropertiesArgs + /// { + /// Name = "tagFileForArchive", + /// Tags = new[] + /// { + /// new AwsNative.Transfer.Inputs.WorkflowS3TagArgs + /// { + /// Key = "Archive", + /// Value = "yes", + /// }, + /// }, + /// }, + /// }, + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Custom, + /// CustomStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepCustomStepDetailsPropertiesArgs + /// { + /// Name = "transferExtract", + /// Target = "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + /// TimeoutSeconds = 60, + /// }, + /// }, + /// new AwsNative.Transfer.Inputs.WorkflowStepArgs + /// { + /// Type = AwsNative.Transfer.WorkflowStepType.Delete, + /// DeleteStepDetails = new AwsNative.Transfer.Inputs.WorkflowStepDeleteStepDetailsPropertiesArgs + /// { + /// Name = "DeleteInputFile", + /// SourceFileLocation = "${original.file}", + /// }, + /// }, + /// }, + /// Tags = new[] + /// { + /// new AwsNative.Inputs.TagArgs + /// { + /// Key = "Name", + /// Value = "TransferFamilyWorkflows", + /// }, + /// }, + /// }); + /// + /// var sftpServer = new AwsNative.Transfer.Server("sftpServer", new() + /// { + /// WorkflowDetails = new AwsNative.Transfer.Inputs.ServerWorkflowDetailsArgs + /// { + /// OnUpload = new[] + /// { + /// new AwsNative.Transfer.Inputs.ServerWorkflowDetailArgs + /// { + /// ExecutionRole = "your-workflow-execution-role-arn", + /// WorkflowId = transferWorkflow.WorkflowId, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` + /// + [AwsNativeResourceType("aws-native:transfer:Server")] + public partial class Server : global::Pulumi.CustomResource + { + /// + /// The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + /// + /// An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + /// + [Output("as2ServiceManagedEgressIpAddresses")] + public Output> As2ServiceManagedEgressIpAddresses { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + /// + /// To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + /// + /// To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + /// + /// To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + /// + /// Certificates with the following cryptographic algorithms and key sizes are supported: + /// + /// - 2048-bit RSA (RSA_2048) + /// - 4096-bit RSA (RSA_4096) + /// - Elliptic Prime Curve 256 bit (EC_prime256v1) + /// - Elliptic Prime Curve 384 bit (EC_secp384r1) + /// - Elliptic Prime Curve 521 bit (EC_secp521r1) + /// + /// > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + /// + [Output("certificate")] + public Output Certificate { get; private set; } = null!; + + /// + /// Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + /// + [Output("domain")] + public Output Domain { get; private set; } = null!; + + /// + /// The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + /// + [Output("endpointDetails")] + public Output EndpointDetails { get; private set; } = null!; + + /// + /// The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + /// + /// > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + /// > + /// > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + /// > + /// > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + /// + [Output("endpointType")] + public Output EndpointType { get; private set; } = null!; + + /// + /// Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + /// + [Output("identityProviderDetails")] + public Output IdentityProviderDetails { get; private set; } = null!; + + /// + /// The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + /// + /// Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + /// + /// Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + /// + /// Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + /// + [Output("identityProviderType")] + public Output IdentityProviderType { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + /// + [Output("loggingRole")] + public Output LoggingRole { get; private set; } = null!; + + /// + /// Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + /// + /// > The SFTP protocol does not support post-authentication display banners. + /// + [Output("postAuthenticationLoginBanner")] + public Output PostAuthenticationLoginBanner { get; private set; } = null!; + + /// + /// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + /// + /// `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + /// + [Output("preAuthenticationLoginBanner")] + public Output PreAuthenticationLoginBanner { get; private set; } = null!; + + /// + /// The protocol settings that are configured for your server. + /// + /// - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + /// - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + /// - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + /// - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + /// + /// The `Protocols` parameter is an array of strings. + /// + /// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + /// + [Output("protocolDetails")] + public Output ProtocolDetails { get; private set; } = null!; + + /// + /// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + /// + /// - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + /// - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + /// - `FTP` (File Transfer Protocol): Unencrypted file transfer + /// - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + /// + /// > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + /// > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + /// > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + /// > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + /// > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + /// + /// The `Protocols` parameter is an array of strings. + /// + /// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + /// + [Output("protocols")] + public Output> Protocols { get; private set; } = null!; + + /// + /// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + /// + /// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + /// + [Output("s3StorageOptions")] + public Output S3StorageOptions { get; private set; } = null!; + + /// + /// Specifies the name of the security policy for the server. + /// + [Output("securityPolicyName")] + public Output SecurityPolicyName { get; private set; } = null!; + + /// + /// The service-assigned ID of the server that is created. + /// + /// An example `ServerId` is `s-01234567890abcdef` . + /// + [Output("serverId")] + public Output ServerId { get; private set; } = null!; + + /// + /// Specifies the log groups to which your server logs are sent. + /// + /// To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + /// + /// `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + /// + /// For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + /// + /// If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + /// + /// `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + /// + [Output("structuredLogDestinations")] + public Output> StructuredLogDestinations { get; private set; } = null!; + + /// + /// Key-value pairs that can be used to group and search for servers. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + /// + /// In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + /// + [Output("workflowDetails")] + public Output WorkflowDetails { get; private set; } = null!; + + + /// + /// Create a Server 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 Server(string name, ServerArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:transfer:Server", name, args ?? new ServerArgs(), MakeResourceOptions(options, "")) + { + } + + private Server(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:transfer:Server", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "domain", + "identityProviderType", + }, + }; + 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 Server 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. + /// A bag of options that control this resource's behavior + public static Server Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Server(name, id, options); + } + } + + public sealed class ServerArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + /// + /// To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + /// + /// To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + /// + /// To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + /// + /// Certificates with the following cryptographic algorithms and key sizes are supported: + /// + /// - 2048-bit RSA (RSA_2048) + /// - 4096-bit RSA (RSA_4096) + /// - Elliptic Prime Curve 256 bit (EC_prime256v1) + /// - Elliptic Prime Curve 384 bit (EC_secp384r1) + /// - Elliptic Prime Curve 521 bit (EC_secp521r1) + /// + /// > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + /// + [Input("certificate")] + public Input? Certificate { get; set; } + + /// + /// Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + /// + [Input("domain")] + public Input? Domain { get; set; } + + /// + /// The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + /// + [Input("endpointDetails")] + public Input? EndpointDetails { get; set; } + + /// + /// The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + /// + /// > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + /// > + /// > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + /// > + /// > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + /// + [Input("endpointType")] + public Input? EndpointType { get; set; } + + /// + /// Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + /// + [Input("identityProviderDetails")] + public Input? IdentityProviderDetails { get; set; } + + /// + /// The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + /// + /// Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + /// + /// Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + /// + /// Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + /// + [Input("identityProviderType")] + public Input? IdentityProviderType { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + /// + [Input("loggingRole")] + public Input? LoggingRole { get; set; } + + /// + /// Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + /// + /// > The SFTP protocol does not support post-authentication display banners. + /// + [Input("postAuthenticationLoginBanner")] + public Input? PostAuthenticationLoginBanner { get; set; } + + /// + /// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + /// + /// `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + /// + [Input("preAuthenticationLoginBanner")] + public Input? PreAuthenticationLoginBanner { get; set; } + + /// + /// The protocol settings that are configured for your server. + /// + /// - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + /// - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + /// - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + /// - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + /// + /// The `Protocols` parameter is an array of strings. + /// + /// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + /// + [Input("protocolDetails")] + public Input? ProtocolDetails { get; set; } + + [Input("protocols")] + private InputList? _protocols; + + /// + /// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + /// + /// - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + /// - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + /// - `FTP` (File Transfer Protocol): Unencrypted file transfer + /// - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + /// + /// > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + /// > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + /// > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + /// > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + /// > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + /// + /// The `Protocols` parameter is an array of strings. + /// + /// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + /// + public InputList Protocols + { + get => _protocols ?? (_protocols = new InputList()); + set => _protocols = value; + } + + /// + /// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + /// + /// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + /// + [Input("s3StorageOptions")] + public Input? S3StorageOptions { get; set; } + + /// + /// Specifies the name of the security policy for the server. + /// + [Input("securityPolicyName")] + public Input? SecurityPolicyName { get; set; } + + [Input("structuredLogDestinations")] + private InputList? _structuredLogDestinations; + + /// + /// Specifies the log groups to which your server logs are sent. + /// + /// To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + /// + /// `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + /// + /// For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + /// + /// If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + /// + /// `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + /// + public InputList StructuredLogDestinations + { + get => _structuredLogDestinations ?? (_structuredLogDestinations = new InputList()); + set => _structuredLogDestinations = value; + } + + [Input("tags")] + private InputList? _tags; + + /// + /// Key-value pairs that can be used to group and search for servers. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + /// + /// In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + /// + [Input("workflowDetails")] + public Input? WorkflowDetails { get; set; } + + public ServerArgs() + { + } + public static new ServerArgs Empty => new ServerArgs(); + } +} diff --git a/sdk/dotnet/Wisdom/AiPrompt.cs b/sdk/dotnet/Wisdom/AiPrompt.cs new file mode 100644 index 0000000000..b643992fcb --- /dev/null +++ b/sdk/dotnet/Wisdom/AiPrompt.cs @@ -0,0 +1,210 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Wisdom +{ + /// + /// Definition of AWS::Wisdom::AIPrompt Resource Type + /// + [AwsNativeResourceType("aws-native:wisdom:AiPrompt")] + public partial class AiPrompt : global::Pulumi.CustomResource + { + /// + /// The Amazon Resource Name (ARN) of the AI Prompt. + /// + [Output("aiPromptArn")] + public Output AiPromptArn { get; private set; } = null!; + + /// + /// The identifier of the Amazon Q in Connect AI prompt. + /// + [Output("aiPromptId")] + public Output AiPromptId { get; private set; } = null!; + + /// + /// The API format used for this AI Prompt. + /// + [Output("apiFormat")] + public Output ApiFormat { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + /// + [Output("assistantArn")] + public Output AssistantArn { get; private set; } = null!; + + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// + [Output("assistantId")] + public Output AssistantId { get; private set; } = null!; + + /// + /// The description of the AI Prompt. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + /// + [Output("modelId")] + public Output ModelId { get; private set; } = null!; + + /// + /// The name of the AI Prompt + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The tags used to organize, track, or control access for this resource. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The configuration of the prompt template for this AI Prompt. + /// + [Output("templateConfiguration")] + public Output TemplateConfiguration { get; private set; } = null!; + + /// + /// The type of the prompt template for this AI Prompt. + /// + [Output("templateType")] + public Output TemplateType { get; private set; } = null!; + + /// + /// The type of this AI Prompt. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a AiPrompt 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 AiPrompt(string name, AiPromptArgs args, CustomResourceOptions? options = null) + : base("aws-native:wisdom:AiPrompt", name, args ?? new AiPromptArgs(), MakeResourceOptions(options, "")) + { + } + + private AiPrompt(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:wisdom:AiPrompt", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "apiFormat", + "assistantId", + "modelId", + "name", + "tags.*", + "templateType", + "type", + }, + }; + 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 AiPrompt 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. + /// A bag of options that control this resource's behavior + public static AiPrompt Get(string name, Input id, CustomResourceOptions? options = null) + { + return new AiPrompt(name, id, options); + } + } + + public sealed class AiPromptArgs : global::Pulumi.ResourceArgs + { + /// + /// The API format used for this AI Prompt. + /// + [Input("apiFormat", required: true)] + public Input ApiFormat { get; set; } = null!; + + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// + [Input("assistantId")] + public Input? AssistantId { get; set; } + + /// + /// The description of the AI Prompt. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + /// + [Input("modelId", required: true)] + public Input ModelId { get; set; } = null!; + + /// + /// The name of the AI Prompt + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// The tags used to organize, track, or control access for this resource. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The configuration of the prompt template for this AI Prompt. + /// + [Input("templateConfiguration", required: true)] + public Input TemplateConfiguration { get; set; } = null!; + + /// + /// The type of the prompt template for this AI Prompt. + /// + [Input("templateType", required: true)] + public Input TemplateType { get; set; } = null!; + + /// + /// The type of this AI Prompt. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public AiPromptArgs() + { + } + public static new AiPromptArgs Empty => new AiPromptArgs(); + } +} diff --git a/sdk/dotnet/Wisdom/Enums.cs b/sdk/dotnet/Wisdom/Enums.cs index 8a3759a4be..2fb851041c 100644 --- a/sdk/dotnet/Wisdom/Enums.cs +++ b/sdk/dotnet/Wisdom/Enums.cs @@ -7,6 +7,90 @@ namespace Pulumi.AwsNative.Wisdom { + [EnumType] + public readonly struct AiPromptAiPromptApiFormat : IEquatable + { + private readonly string _value; + + private AiPromptAiPromptApiFormat(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AiPromptAiPromptApiFormat AnthropicClaudeMessages { get; } = new AiPromptAiPromptApiFormat("ANTHROPIC_CLAUDE_MESSAGES"); + public static AiPromptAiPromptApiFormat AnthropicClaudeTextCompletions { get; } = new AiPromptAiPromptApiFormat("ANTHROPIC_CLAUDE_TEXT_COMPLETIONS"); + + public static bool operator ==(AiPromptAiPromptApiFormat left, AiPromptAiPromptApiFormat right) => left.Equals(right); + public static bool operator !=(AiPromptAiPromptApiFormat left, AiPromptAiPromptApiFormat right) => !left.Equals(right); + + public static explicit operator string(AiPromptAiPromptApiFormat value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AiPromptAiPromptApiFormat other && Equals(other); + public bool Equals(AiPromptAiPromptApiFormat other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct AiPromptAiPromptTemplateType : IEquatable + { + private readonly string _value; + + private AiPromptAiPromptTemplateType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AiPromptAiPromptTemplateType Text { get; } = new AiPromptAiPromptTemplateType("TEXT"); + + public static bool operator ==(AiPromptAiPromptTemplateType left, AiPromptAiPromptTemplateType right) => left.Equals(right); + public static bool operator !=(AiPromptAiPromptTemplateType left, AiPromptAiPromptTemplateType right) => !left.Equals(right); + + public static explicit operator string(AiPromptAiPromptTemplateType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AiPromptAiPromptTemplateType other && Equals(other); + public bool Equals(AiPromptAiPromptTemplateType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct AiPromptAiPromptType : IEquatable + { + private readonly string _value; + + private AiPromptAiPromptType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AiPromptAiPromptType AnswerGeneration { get; } = new AiPromptAiPromptType("ANSWER_GENERATION"); + public static AiPromptAiPromptType IntentLabelingGeneration { get; } = new AiPromptAiPromptType("INTENT_LABELING_GENERATION"); + public static AiPromptAiPromptType QueryReformulation { get; } = new AiPromptAiPromptType("QUERY_REFORMULATION"); + + public static bool operator ==(AiPromptAiPromptType left, AiPromptAiPromptType right) => left.Equals(right); + public static bool operator !=(AiPromptAiPromptType left, AiPromptAiPromptType right) => !left.Equals(right); + + public static explicit operator string(AiPromptAiPromptType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AiPromptAiPromptType other && Equals(other); + public bool Equals(AiPromptAiPromptType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct AssistantAssociationAssociationType : IEquatable { diff --git a/sdk/dotnet/Wisdom/GetAiPrompt.cs b/sdk/dotnet/Wisdom/GetAiPrompt.cs new file mode 100644 index 0000000000..c60466b8d0 --- /dev/null +++ b/sdk/dotnet/Wisdom/GetAiPrompt.cs @@ -0,0 +1,112 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Wisdom +{ + public static class GetAiPrompt + { + /// + /// Definition of AWS::Wisdom::AIPrompt Resource Type + /// + public static Task InvokeAsync(GetAiPromptArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:wisdom:getAiPrompt", args ?? new GetAiPromptArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::Wisdom::AIPrompt Resource Type + /// + public static Output Invoke(GetAiPromptInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:wisdom:getAiPrompt", args ?? new GetAiPromptInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAiPromptArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the Amazon Q in Connect AI prompt. + /// + [Input("aiPromptId", required: true)] + public string AiPromptId { get; set; } = null!; + + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// + [Input("assistantId", required: true)] + public string AssistantId { get; set; } = null!; + + public GetAiPromptArgs() + { + } + public static new GetAiPromptArgs Empty => new GetAiPromptArgs(); + } + + public sealed class GetAiPromptInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the Amazon Q in Connect AI prompt. + /// + [Input("aiPromptId", required: true)] + public Input AiPromptId { get; set; } = null!; + + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// + [Input("assistantId", required: true)] + public Input AssistantId { get; set; } = null!; + + public GetAiPromptInvokeArgs() + { + } + public static new GetAiPromptInvokeArgs Empty => new GetAiPromptInvokeArgs(); + } + + + [OutputType] + public sealed class GetAiPromptResult + { + /// + /// The Amazon Resource Name (ARN) of the AI Prompt. + /// + public readonly string? AiPromptArn; + /// + /// The identifier of the Amazon Q in Connect AI prompt. + /// + public readonly string? AiPromptId; + /// + /// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + /// + public readonly string? AssistantArn; + /// + /// The description of the AI Prompt. + /// + public readonly string? Description; + /// + /// The configuration of the prompt template for this AI Prompt. + /// + public readonly Outputs.AiPromptAiPromptTemplateConfiguration? TemplateConfiguration; + + [OutputConstructor] + private GetAiPromptResult( + string? aiPromptArn, + + string? aiPromptId, + + string? assistantArn, + + string? description, + + Outputs.AiPromptAiPromptTemplateConfiguration? templateConfiguration) + { + AiPromptArn = aiPromptArn; + AiPromptId = aiPromptId; + AssistantArn = assistantArn; + Description = description; + TemplateConfiguration = templateConfiguration; + } + } +} diff --git a/sdk/dotnet/Wisdom/Inputs/AiPromptAiPromptTemplateConfigurationArgs.cs b/sdk/dotnet/Wisdom/Inputs/AiPromptAiPromptTemplateConfigurationArgs.cs new file mode 100644 index 0000000000..2e9b404915 --- /dev/null +++ b/sdk/dotnet/Wisdom/Inputs/AiPromptAiPromptTemplateConfigurationArgs.cs @@ -0,0 +1,20 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Wisdom.Inputs +{ + + public sealed class AiPromptAiPromptTemplateConfigurationArgs : global::Pulumi.ResourceArgs + { + public AiPromptAiPromptTemplateConfigurationArgs() + { + } + public static new AiPromptAiPromptTemplateConfigurationArgs Empty => new AiPromptAiPromptTemplateConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Wisdom/Outputs/AiPromptAiPromptTemplateConfiguration.cs b/sdk/dotnet/Wisdom/Outputs/AiPromptAiPromptTemplateConfiguration.cs new file mode 100644 index 0000000000..1b3edea611 --- /dev/null +++ b/sdk/dotnet/Wisdom/Outputs/AiPromptAiPromptTemplateConfiguration.cs @@ -0,0 +1,21 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Wisdom.Outputs +{ + + [OutputType] + public sealed class AiPromptAiPromptTemplateConfiguration + { + [OutputConstructor] + private AiPromptAiPromptTemplateConfiguration() + { + } + } +} diff --git a/sdk/go/aws/appflow/pulumiTypes.go b/sdk/go/aws/appflow/pulumiTypes.go index 0369cdb647..da7e0fd440 100644 --- a/sdk/go/aws/appflow/pulumiTypes.go +++ b/sdk/go/aws/appflow/pulumiTypes.go @@ -13568,6 +13568,7 @@ func (o FlowSapoDataDestinationPropertiesPtrOutput) WriteOperationType() FlowWri // SAP Source connector page size type FlowSapoDataPaginationConfig struct { + // The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. MaxPageSize int `pulumi:"maxPageSize"` } @@ -13584,6 +13585,7 @@ type FlowSapoDataPaginationConfigInput interface { // SAP Source connector page size type FlowSapoDataPaginationConfigArgs struct { + // The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. MaxPageSize pulumi.IntInput `pulumi:"maxPageSize"` } @@ -13665,6 +13667,7 @@ func (o FlowSapoDataPaginationConfigOutput) ToFlowSapoDataPaginationConfigPtrOut }).(FlowSapoDataPaginationConfigPtrOutput) } +// The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. func (o FlowSapoDataPaginationConfigOutput) MaxPageSize() pulumi.IntOutput { return o.ApplyT(func(v FlowSapoDataPaginationConfig) int { return v.MaxPageSize }).(pulumi.IntOutput) } @@ -13693,6 +13696,7 @@ func (o FlowSapoDataPaginationConfigPtrOutput) Elem() FlowSapoDataPaginationConf }).(FlowSapoDataPaginationConfigOutput) } +// The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. func (o FlowSapoDataPaginationConfigPtrOutput) MaxPageSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *FlowSapoDataPaginationConfig) *int { if v == nil { @@ -13704,6 +13708,7 @@ func (o FlowSapoDataPaginationConfigPtrOutput) MaxPageSize() pulumi.IntPtrOutput // SAP Source connector parallelism factor type FlowSapoDataParallelismConfig struct { + // The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. MaxParallelism int `pulumi:"maxParallelism"` } @@ -13720,6 +13725,7 @@ type FlowSapoDataParallelismConfigInput interface { // SAP Source connector parallelism factor type FlowSapoDataParallelismConfigArgs struct { + // The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. MaxParallelism pulumi.IntInput `pulumi:"maxParallelism"` } @@ -13801,6 +13807,7 @@ func (o FlowSapoDataParallelismConfigOutput) ToFlowSapoDataParallelismConfigPtrO }).(FlowSapoDataParallelismConfigPtrOutput) } +// The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. func (o FlowSapoDataParallelismConfigOutput) MaxParallelism() pulumi.IntOutput { return o.ApplyT(func(v FlowSapoDataParallelismConfig) int { return v.MaxParallelism }).(pulumi.IntOutput) } @@ -13829,6 +13836,7 @@ func (o FlowSapoDataParallelismConfigPtrOutput) Elem() FlowSapoDataParallelismCo }).(FlowSapoDataParallelismConfigOutput) } +// The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. func (o FlowSapoDataParallelismConfigPtrOutput) MaxParallelism() pulumi.IntPtrOutput { return o.ApplyT(func(v *FlowSapoDataParallelismConfig) *int { if v == nil { @@ -13840,8 +13848,10 @@ func (o FlowSapoDataParallelismConfigPtrOutput) MaxParallelism() pulumi.IntPtrOu type FlowSapoDataSourceProperties struct { // The object path specified in the SAPOData flow source. - ObjectPath string `pulumi:"objectPath"` - PaginationConfig *FlowSapoDataPaginationConfig `pulumi:"paginationConfig"` + ObjectPath string `pulumi:"objectPath"` + // Sets the page size for each concurrent process that transfers OData records from your SAP instance. + PaginationConfig *FlowSapoDataPaginationConfig `pulumi:"paginationConfig"` + // Sets the number of concurrent processes that transfers OData records from your SAP instance. ParallelismConfig *FlowSapoDataParallelismConfig `pulumi:"parallelismConfig"` } @@ -13858,8 +13868,10 @@ type FlowSapoDataSourcePropertiesInput interface { type FlowSapoDataSourcePropertiesArgs struct { // The object path specified in the SAPOData flow source. - ObjectPath pulumi.StringInput `pulumi:"objectPath"` - PaginationConfig FlowSapoDataPaginationConfigPtrInput `pulumi:"paginationConfig"` + ObjectPath pulumi.StringInput `pulumi:"objectPath"` + // Sets the page size for each concurrent process that transfers OData records from your SAP instance. + PaginationConfig FlowSapoDataPaginationConfigPtrInput `pulumi:"paginationConfig"` + // Sets the number of concurrent processes that transfers OData records from your SAP instance. ParallelismConfig FlowSapoDataParallelismConfigPtrInput `pulumi:"parallelismConfig"` } @@ -13945,10 +13957,12 @@ func (o FlowSapoDataSourcePropertiesOutput) ObjectPath() pulumi.StringOutput { return o.ApplyT(func(v FlowSapoDataSourceProperties) string { return v.ObjectPath }).(pulumi.StringOutput) } +// Sets the page size for each concurrent process that transfers OData records from your SAP instance. func (o FlowSapoDataSourcePropertiesOutput) PaginationConfig() FlowSapoDataPaginationConfigPtrOutput { return o.ApplyT(func(v FlowSapoDataSourceProperties) *FlowSapoDataPaginationConfig { return v.PaginationConfig }).(FlowSapoDataPaginationConfigPtrOutput) } +// Sets the number of concurrent processes that transfers OData records from your SAP instance. func (o FlowSapoDataSourcePropertiesOutput) ParallelismConfig() FlowSapoDataParallelismConfigPtrOutput { return o.ApplyT(func(v FlowSapoDataSourceProperties) *FlowSapoDataParallelismConfig { return v.ParallelismConfig }).(FlowSapoDataParallelismConfigPtrOutput) } @@ -13987,6 +14001,7 @@ func (o FlowSapoDataSourcePropertiesPtrOutput) ObjectPath() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } +// Sets the page size for each concurrent process that transfers OData records from your SAP instance. func (o FlowSapoDataSourcePropertiesPtrOutput) PaginationConfig() FlowSapoDataPaginationConfigPtrOutput { return o.ApplyT(func(v *FlowSapoDataSourceProperties) *FlowSapoDataPaginationConfig { if v == nil { @@ -13996,6 +14011,7 @@ func (o FlowSapoDataSourcePropertiesPtrOutput) PaginationConfig() FlowSapoDataPa }).(FlowSapoDataPaginationConfigPtrOutput) } +// Sets the number of concurrent processes that transfers OData records from your SAP instance. func (o FlowSapoDataSourcePropertiesPtrOutput) ParallelismConfig() FlowSapoDataParallelismConfigPtrOutput { return o.ApplyT(func(v *FlowSapoDataSourceProperties) *FlowSapoDataParallelismConfig { if v == nil { diff --git a/sdk/go/aws/appsync/dataSource.go b/sdk/go/aws/appsync/dataSource.go new file mode 100644 index 0000000000..12ca0a1216 --- /dev/null +++ b/sdk/go/aws/appsync/dataSource.go @@ -0,0 +1,360 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package appsync + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::AppSync::DataSource +// +// ## Example Usage +// ### Example +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/appsync" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// graphQlApiId := cfg.Require("graphQlApiId") +// dataSourceName := cfg.Require("dataSourceName") +// dataSourceDescription := cfg.Require("dataSourceDescription") +// serviceRoleArn := cfg.Require("serviceRoleArn") +// lambdaFunctionArn := cfg.Require("lambdaFunctionArn") +// _, err := appsync.NewDataSource(ctx, "dataSource", &appsync.DataSourceArgs{ +// ApiId: pulumi.String(graphQlApiId), +// Name: pulumi.String(dataSourceName), +// Description: pulumi.String(dataSourceDescription), +// Type: pulumi.String("AWS_LAMBDA"), +// ServiceRoleArn: pulumi.String(serviceRoleArn), +// LambdaConfig: &appsync.DataSourceLambdaConfigArgs{ +// LambdaFunctionArn: pulumi.String(lambdaFunctionArn), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Example +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/appsync" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// graphQlApiId := cfg.Require("graphQlApiId") +// dataSourceName := cfg.Require("dataSourceName") +// dataSourceDescription := cfg.Require("dataSourceDescription") +// serviceRoleArn := cfg.Require("serviceRoleArn") +// lambdaFunctionArn := cfg.Require("lambdaFunctionArn") +// _, err := appsync.NewDataSource(ctx, "dataSource", &appsync.DataSourceArgs{ +// ApiId: pulumi.String(graphQlApiId), +// Name: pulumi.String(dataSourceName), +// Description: pulumi.String(dataSourceDescription), +// Type: pulumi.String("AWS_LAMBDA"), +// ServiceRoleArn: pulumi.String(serviceRoleArn), +// LambdaConfig: &appsync.DataSourceLambdaConfigArgs{ +// LambdaFunctionArn: pulumi.String(lambdaFunctionArn), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type DataSource struct { + pulumi.CustomResourceState + + // Unique AWS AppSync GraphQL API identifier where this data source will be created. + ApiId pulumi.StringOutput `pulumi:"apiId"` + // The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + DataSourceArn pulumi.StringOutput `pulumi:"dataSourceArn"` + // The description of the data source. + Description pulumi.StringPtrOutput `pulumi:"description"` + // AWS Region and TableName for an Amazon DynamoDB table in your account. + DynamoDbConfig DataSourceDynamoDbConfigPtrOutput `pulumi:"dynamoDbConfig"` + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + // As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + ElasticsearchConfig DataSourceElasticsearchConfigPtrOutput `pulumi:"elasticsearchConfig"` + // ARN for the EventBridge bus. + EventBridgeConfig DataSourceEventBridgeConfigPtrOutput `pulumi:"eventBridgeConfig"` + // Endpoints for an HTTP data source. + HttpConfig DataSourceHttpConfigPtrOutput `pulumi:"httpConfig"` + // An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + LambdaConfig DataSourceLambdaConfigPtrOutput `pulumi:"lambdaConfig"` + // Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + // + // `MetricsConfig` can be `ENABLED` or `DISABLED` . + MetricsConfig DataSourceMetricsConfigPtrOutput `pulumi:"metricsConfig"` + // Friendly name for you to identify your AppSync data source after creation. + Name pulumi.StringOutput `pulumi:"name"` + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + OpenSearchServiceConfig DataSourceOpenSearchServiceConfigPtrOutput `pulumi:"openSearchServiceConfig"` + // Relational Database configuration of the relational database data source. + RelationalDatabaseConfig DataSourceRelationalDatabaseConfigPtrOutput `pulumi:"relationalDatabaseConfig"` + // The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + ServiceRoleArn pulumi.StringPtrOutput `pulumi:"serviceRoleArn"` + // The type of the data source. + Type pulumi.StringOutput `pulumi:"type"` +} + +// NewDataSource registers a new resource with the given unique name, arguments, and options. +func NewDataSource(ctx *pulumi.Context, + name string, args *DataSourceArgs, opts ...pulumi.ResourceOption) (*DataSource, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ApiId == nil { + return nil, errors.New("invalid value for required argument 'ApiId'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "apiId", + "name", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource DataSource + err := ctx.RegisterResource("aws-native:appsync:DataSource", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDataSource gets an existing DataSource 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 GetDataSource(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DataSourceState, opts ...pulumi.ResourceOption) (*DataSource, error) { + var resource DataSource + err := ctx.ReadResource("aws-native:appsync:DataSource", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DataSource resources. +type dataSourceState struct { +} + +type DataSourceState struct { +} + +func (DataSourceState) ElementType() reflect.Type { + return reflect.TypeOf((*dataSourceState)(nil)).Elem() +} + +type dataSourceArgs struct { + // Unique AWS AppSync GraphQL API identifier where this data source will be created. + ApiId string `pulumi:"apiId"` + // The description of the data source. + Description *string `pulumi:"description"` + // AWS Region and TableName for an Amazon DynamoDB table in your account. + DynamoDbConfig *DataSourceDynamoDbConfig `pulumi:"dynamoDbConfig"` + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + // As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + ElasticsearchConfig *DataSourceElasticsearchConfig `pulumi:"elasticsearchConfig"` + // ARN for the EventBridge bus. + EventBridgeConfig *DataSourceEventBridgeConfig `pulumi:"eventBridgeConfig"` + // Endpoints for an HTTP data source. + HttpConfig *DataSourceHttpConfig `pulumi:"httpConfig"` + // An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + LambdaConfig *DataSourceLambdaConfig `pulumi:"lambdaConfig"` + // Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + // + // `MetricsConfig` can be `ENABLED` or `DISABLED` . + MetricsConfig *DataSourceMetricsConfig `pulumi:"metricsConfig"` + // Friendly name for you to identify your AppSync data source after creation. + Name *string `pulumi:"name"` + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + OpenSearchServiceConfig *DataSourceOpenSearchServiceConfig `pulumi:"openSearchServiceConfig"` + // Relational Database configuration of the relational database data source. + RelationalDatabaseConfig *DataSourceRelationalDatabaseConfig `pulumi:"relationalDatabaseConfig"` + // The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + ServiceRoleArn *string `pulumi:"serviceRoleArn"` + // The type of the data source. + Type string `pulumi:"type"` +} + +// The set of arguments for constructing a DataSource resource. +type DataSourceArgs struct { + // Unique AWS AppSync GraphQL API identifier where this data source will be created. + ApiId pulumi.StringInput + // The description of the data source. + Description pulumi.StringPtrInput + // AWS Region and TableName for an Amazon DynamoDB table in your account. + DynamoDbConfig DataSourceDynamoDbConfigPtrInput + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + // As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + ElasticsearchConfig DataSourceElasticsearchConfigPtrInput + // ARN for the EventBridge bus. + EventBridgeConfig DataSourceEventBridgeConfigPtrInput + // Endpoints for an HTTP data source. + HttpConfig DataSourceHttpConfigPtrInput + // An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + LambdaConfig DataSourceLambdaConfigPtrInput + // Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + // + // `MetricsConfig` can be `ENABLED` or `DISABLED` . + MetricsConfig DataSourceMetricsConfigPtrInput + // Friendly name for you to identify your AppSync data source after creation. + Name pulumi.StringPtrInput + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + OpenSearchServiceConfig DataSourceOpenSearchServiceConfigPtrInput + // Relational Database configuration of the relational database data source. + RelationalDatabaseConfig DataSourceRelationalDatabaseConfigPtrInput + // The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + ServiceRoleArn pulumi.StringPtrInput + // The type of the data source. + Type pulumi.StringInput +} + +func (DataSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dataSourceArgs)(nil)).Elem() +} + +type DataSourceInput interface { + pulumi.Input + + ToDataSourceOutput() DataSourceOutput + ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput +} + +func (*DataSource) ElementType() reflect.Type { + return reflect.TypeOf((**DataSource)(nil)).Elem() +} + +func (i *DataSource) ToDataSourceOutput() DataSourceOutput { + return i.ToDataSourceOutputWithContext(context.Background()) +} + +func (i *DataSource) ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceOutput) +} + +type DataSourceOutput struct{ *pulumi.OutputState } + +func (DataSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSource)(nil)).Elem() +} + +func (o DataSourceOutput) ToDataSourceOutput() DataSourceOutput { + return o +} + +func (o DataSourceOutput) ToDataSourceOutputWithContext(ctx context.Context) DataSourceOutput { + return o +} + +// Unique AWS AppSync GraphQL API identifier where this data source will be created. +func (o DataSourceOutput) ApiId() pulumi.StringOutput { + return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.ApiId }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. +func (o DataSourceOutput) DataSourceArn() pulumi.StringOutput { + return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.DataSourceArn }).(pulumi.StringOutput) +} + +// The description of the data source. +func (o DataSourceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// AWS Region and TableName for an Amazon DynamoDB table in your account. +func (o DataSourceOutput) DynamoDbConfig() DataSourceDynamoDbConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceDynamoDbConfigPtrOutput { return v.DynamoDbConfig }).(DataSourceDynamoDbConfigPtrOutput) +} + +// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. +// As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. +func (o DataSourceOutput) ElasticsearchConfig() DataSourceElasticsearchConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceElasticsearchConfigPtrOutput { return v.ElasticsearchConfig }).(DataSourceElasticsearchConfigPtrOutput) +} + +// ARN for the EventBridge bus. +func (o DataSourceOutput) EventBridgeConfig() DataSourceEventBridgeConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceEventBridgeConfigPtrOutput { return v.EventBridgeConfig }).(DataSourceEventBridgeConfigPtrOutput) +} + +// Endpoints for an HTTP data source. +func (o DataSourceOutput) HttpConfig() DataSourceHttpConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceHttpConfigPtrOutput { return v.HttpConfig }).(DataSourceHttpConfigPtrOutput) +} + +// An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. +func (o DataSourceOutput) LambdaConfig() DataSourceLambdaConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceLambdaConfigPtrOutput { return v.LambdaConfig }).(DataSourceLambdaConfigPtrOutput) +} + +// Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. +// +// `MetricsConfig` can be `ENABLED` or `DISABLED` . +func (o DataSourceOutput) MetricsConfig() DataSourceMetricsConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceMetricsConfigPtrOutput { return v.MetricsConfig }).(DataSourceMetricsConfigPtrOutput) +} + +// Friendly name for you to identify your AppSync data source after creation. +func (o DataSourceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. +func (o DataSourceOutput) OpenSearchServiceConfig() DataSourceOpenSearchServiceConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceOpenSearchServiceConfigPtrOutput { return v.OpenSearchServiceConfig }).(DataSourceOpenSearchServiceConfigPtrOutput) +} + +// Relational Database configuration of the relational database data source. +func (o DataSourceOutput) RelationalDatabaseConfig() DataSourceRelationalDatabaseConfigPtrOutput { + return o.ApplyT(func(v *DataSource) DataSourceRelationalDatabaseConfigPtrOutput { return v.RelationalDatabaseConfig }).(DataSourceRelationalDatabaseConfigPtrOutput) +} + +// The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. +func (o DataSourceOutput) ServiceRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.ServiceRoleArn }).(pulumi.StringPtrOutput) +} + +// The type of the data source. +func (o DataSourceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceInput)(nil)).Elem(), &DataSource{}) + pulumi.RegisterOutputType(DataSourceOutput{}) +} diff --git a/sdk/go/aws/appsync/getDataSource.go b/sdk/go/aws/appsync/getDataSource.go new file mode 100644 index 0000000000..684ed8bed6 --- /dev/null +++ b/sdk/go/aws/appsync/getDataSource.go @@ -0,0 +1,167 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package appsync + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::AppSync::DataSource +func LookupDataSource(ctx *pulumi.Context, args *LookupDataSourceArgs, opts ...pulumi.InvokeOption) (*LookupDataSourceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDataSourceResult + err := ctx.Invoke("aws-native:appsync:getDataSource", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDataSourceArgs struct { + // The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + DataSourceArn string `pulumi:"dataSourceArn"` +} + +type LookupDataSourceResult struct { + // The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + DataSourceArn *string `pulumi:"dataSourceArn"` + // The description of the data source. + Description *string `pulumi:"description"` + // AWS Region and TableName for an Amazon DynamoDB table in your account. + DynamoDbConfig *DataSourceDynamoDbConfig `pulumi:"dynamoDbConfig"` + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + // As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + ElasticsearchConfig *DataSourceElasticsearchConfig `pulumi:"elasticsearchConfig"` + // ARN for the EventBridge bus. + EventBridgeConfig *DataSourceEventBridgeConfig `pulumi:"eventBridgeConfig"` + // Endpoints for an HTTP data source. + HttpConfig *DataSourceHttpConfig `pulumi:"httpConfig"` + // An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + LambdaConfig *DataSourceLambdaConfig `pulumi:"lambdaConfig"` + // Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + // + // `MetricsConfig` can be `ENABLED` or `DISABLED` . + MetricsConfig *DataSourceMetricsConfig `pulumi:"metricsConfig"` + // AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + OpenSearchServiceConfig *DataSourceOpenSearchServiceConfig `pulumi:"openSearchServiceConfig"` + // Relational Database configuration of the relational database data source. + RelationalDatabaseConfig *DataSourceRelationalDatabaseConfig `pulumi:"relationalDatabaseConfig"` + // The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + ServiceRoleArn *string `pulumi:"serviceRoleArn"` + // The type of the data source. + Type *string `pulumi:"type"` +} + +func LookupDataSourceOutput(ctx *pulumi.Context, args LookupDataSourceOutputArgs, opts ...pulumi.InvokeOption) LookupDataSourceResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDataSourceResultOutput, error) { + args := v.(LookupDataSourceArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDataSourceResult + secret, err := ctx.InvokePackageRaw("aws-native:appsync:getDataSource", args, &rv, "", opts...) + if err != nil { + return LookupDataSourceResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupDataSourceResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupDataSourceResultOutput), nil + } + return output, nil + }).(LookupDataSourceResultOutput) +} + +type LookupDataSourceOutputArgs struct { + // The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + DataSourceArn pulumi.StringInput `pulumi:"dataSourceArn"` +} + +func (LookupDataSourceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDataSourceArgs)(nil)).Elem() +} + +type LookupDataSourceResultOutput struct{ *pulumi.OutputState } + +func (LookupDataSourceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDataSourceResult)(nil)).Elem() +} + +func (o LookupDataSourceResultOutput) ToLookupDataSourceResultOutput() LookupDataSourceResultOutput { + return o +} + +func (o LookupDataSourceResultOutput) ToLookupDataSourceResultOutputWithContext(ctx context.Context) LookupDataSourceResultOutput { + return o +} + +// The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. +func (o LookupDataSourceResultOutput) DataSourceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *string { return v.DataSourceArn }).(pulumi.StringPtrOutput) +} + +// The description of the data source. +func (o LookupDataSourceResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// AWS Region and TableName for an Amazon DynamoDB table in your account. +func (o LookupDataSourceResultOutput) DynamoDbConfig() DataSourceDynamoDbConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceDynamoDbConfig { return v.DynamoDbConfig }).(DataSourceDynamoDbConfigPtrOutput) +} + +// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. +// As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. +func (o LookupDataSourceResultOutput) ElasticsearchConfig() DataSourceElasticsearchConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceElasticsearchConfig { return v.ElasticsearchConfig }).(DataSourceElasticsearchConfigPtrOutput) +} + +// ARN for the EventBridge bus. +func (o LookupDataSourceResultOutput) EventBridgeConfig() DataSourceEventBridgeConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceEventBridgeConfig { return v.EventBridgeConfig }).(DataSourceEventBridgeConfigPtrOutput) +} + +// Endpoints for an HTTP data source. +func (o LookupDataSourceResultOutput) HttpConfig() DataSourceHttpConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceHttpConfig { return v.HttpConfig }).(DataSourceHttpConfigPtrOutput) +} + +// An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. +func (o LookupDataSourceResultOutput) LambdaConfig() DataSourceLambdaConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceLambdaConfig { return v.LambdaConfig }).(DataSourceLambdaConfigPtrOutput) +} + +// Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. +// +// `MetricsConfig` can be `ENABLED` or `DISABLED` . +func (o LookupDataSourceResultOutput) MetricsConfig() DataSourceMetricsConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceMetricsConfig { return v.MetricsConfig }).(DataSourceMetricsConfigPtrOutput) +} + +// AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. +func (o LookupDataSourceResultOutput) OpenSearchServiceConfig() DataSourceOpenSearchServiceConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceOpenSearchServiceConfig { return v.OpenSearchServiceConfig }).(DataSourceOpenSearchServiceConfigPtrOutput) +} + +// Relational Database configuration of the relational database data source. +func (o LookupDataSourceResultOutput) RelationalDatabaseConfig() DataSourceRelationalDatabaseConfigPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *DataSourceRelationalDatabaseConfig { return v.RelationalDatabaseConfig }).(DataSourceRelationalDatabaseConfigPtrOutput) +} + +// The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. +func (o LookupDataSourceResultOutput) ServiceRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *string { return v.ServiceRoleArn }).(pulumi.StringPtrOutput) +} + +// The type of the data source. +func (o LookupDataSourceResultOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataSourceResult) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDataSourceResultOutput{}) +} diff --git a/sdk/go/aws/appsync/init.go b/sdk/go/aws/appsync/init.go index 68b77e8c50..5fdad49981 100644 --- a/sdk/go/aws/appsync/init.go +++ b/sdk/go/aws/appsync/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws-native:appsync:DataSource": + r = &DataSource{} case "aws-native:appsync:DomainName": r = &DomainName{} case "aws-native:appsync:DomainNameApiAssociation": diff --git a/sdk/go/aws/appsync/pulumiEnums.go b/sdk/go/aws/appsync/pulumiEnums.go index 3eac24f51a..04ff80efc3 100644 --- a/sdk/go/aws/appsync/pulumiEnums.go +++ b/sdk/go/aws/appsync/pulumiEnums.go @@ -10,6 +10,174 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. +// +// `MetricsConfig` can be `ENABLED` or `DISABLED` . +type DataSourceMetricsConfig string + +const ( + DataSourceMetricsConfigDisabled = DataSourceMetricsConfig("DISABLED") + DataSourceMetricsConfigEnabled = DataSourceMetricsConfig("ENABLED") +) + +func (DataSourceMetricsConfig) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceMetricsConfig)(nil)).Elem() +} + +func (e DataSourceMetricsConfig) ToDataSourceMetricsConfigOutput() DataSourceMetricsConfigOutput { + return pulumi.ToOutput(e).(DataSourceMetricsConfigOutput) +} + +func (e DataSourceMetricsConfig) ToDataSourceMetricsConfigOutputWithContext(ctx context.Context) DataSourceMetricsConfigOutput { + return pulumi.ToOutputWithContext(ctx, e).(DataSourceMetricsConfigOutput) +} + +func (e DataSourceMetricsConfig) ToDataSourceMetricsConfigPtrOutput() DataSourceMetricsConfigPtrOutput { + return e.ToDataSourceMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (e DataSourceMetricsConfig) ToDataSourceMetricsConfigPtrOutputWithContext(ctx context.Context) DataSourceMetricsConfigPtrOutput { + return DataSourceMetricsConfig(e).ToDataSourceMetricsConfigOutputWithContext(ctx).ToDataSourceMetricsConfigPtrOutputWithContext(ctx) +} + +func (e DataSourceMetricsConfig) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataSourceMetricsConfig) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataSourceMetricsConfig) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DataSourceMetricsConfig) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DataSourceMetricsConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceMetricsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceMetricsConfig)(nil)).Elem() +} + +func (o DataSourceMetricsConfigOutput) ToDataSourceMetricsConfigOutput() DataSourceMetricsConfigOutput { + return o +} + +func (o DataSourceMetricsConfigOutput) ToDataSourceMetricsConfigOutputWithContext(ctx context.Context) DataSourceMetricsConfigOutput { + return o +} + +func (o DataSourceMetricsConfigOutput) ToDataSourceMetricsConfigPtrOutput() DataSourceMetricsConfigPtrOutput { + return o.ToDataSourceMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceMetricsConfigOutput) ToDataSourceMetricsConfigPtrOutputWithContext(ctx context.Context) DataSourceMetricsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceMetricsConfig) *DataSourceMetricsConfig { + return &v + }).(DataSourceMetricsConfigPtrOutput) +} + +func (o DataSourceMetricsConfigOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DataSourceMetricsConfigOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataSourceMetricsConfig) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DataSourceMetricsConfigOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataSourceMetricsConfigOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataSourceMetricsConfig) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DataSourceMetricsConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceMetricsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceMetricsConfig)(nil)).Elem() +} + +func (o DataSourceMetricsConfigPtrOutput) ToDataSourceMetricsConfigPtrOutput() DataSourceMetricsConfigPtrOutput { + return o +} + +func (o DataSourceMetricsConfigPtrOutput) ToDataSourceMetricsConfigPtrOutputWithContext(ctx context.Context) DataSourceMetricsConfigPtrOutput { + return o +} + +func (o DataSourceMetricsConfigPtrOutput) Elem() DataSourceMetricsConfigOutput { + return o.ApplyT(func(v *DataSourceMetricsConfig) DataSourceMetricsConfig { + if v != nil { + return *v + } + var ret DataSourceMetricsConfig + return ret + }).(DataSourceMetricsConfigOutput) +} + +func (o DataSourceMetricsConfigPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataSourceMetricsConfigPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DataSourceMetricsConfig) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DataSourceMetricsConfigInput is an input type that accepts values of the DataSourceMetricsConfig enum +// A concrete instance of `DataSourceMetricsConfigInput` can be one of the following: +// +// DataSourceMetricsConfigDisabled +// DataSourceMetricsConfigEnabled +type DataSourceMetricsConfigInput interface { + pulumi.Input + + ToDataSourceMetricsConfigOutput() DataSourceMetricsConfigOutput + ToDataSourceMetricsConfigOutputWithContext(context.Context) DataSourceMetricsConfigOutput +} + +var dataSourceMetricsConfigPtrType = reflect.TypeOf((**DataSourceMetricsConfig)(nil)).Elem() + +type DataSourceMetricsConfigPtrInput interface { + pulumi.Input + + ToDataSourceMetricsConfigPtrOutput() DataSourceMetricsConfigPtrOutput + ToDataSourceMetricsConfigPtrOutputWithContext(context.Context) DataSourceMetricsConfigPtrOutput +} + +type dataSourceMetricsConfigPtr string + +func DataSourceMetricsConfigPtr(v string) DataSourceMetricsConfigPtrInput { + return (*dataSourceMetricsConfigPtr)(&v) +} + +func (*dataSourceMetricsConfigPtr) ElementType() reflect.Type { + return dataSourceMetricsConfigPtrType +} + +func (in *dataSourceMetricsConfigPtr) ToDataSourceMetricsConfigPtrOutput() DataSourceMetricsConfigPtrOutput { + return pulumi.ToOutput(in).(DataSourceMetricsConfigPtrOutput) +} + +func (in *dataSourceMetricsConfigPtr) ToDataSourceMetricsConfigPtrOutputWithContext(ctx context.Context) DataSourceMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DataSourceMetricsConfigPtrOutput) +} + // Enables or disables enhanced resolver metrics for specified resolvers. Note that “MetricsConfig“ won't be used unless the “resolverLevelMetricsBehavior“ value is set to “PER_RESOLVER_METRICS“. If the “resolverLevelMetricsBehavior“ is set to “FULL_REQUEST_RESOLVER_METRICS“ instead, “MetricsConfig“ will be ignored. However, you can still set its value. type ResolverMetricsConfig string @@ -440,10 +608,14 @@ func (o SourceApiAssociationStatusPtrOutput) ToStringPtrOutputWithContext(ctx co } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMetricsConfigInput)(nil)).Elem(), DataSourceMetricsConfig("DISABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMetricsConfigPtrInput)(nil)).Elem(), DataSourceMetricsConfig("DISABLED")) pulumi.RegisterInputType(reflect.TypeOf((*ResolverMetricsConfigInput)(nil)).Elem(), ResolverMetricsConfig("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*ResolverMetricsConfigPtrInput)(nil)).Elem(), ResolverMetricsConfig("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationConfigMergeTypeInput)(nil)).Elem(), SourceApiAssociationConfigMergeType("AUTO_MERGE")) pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationConfigMergeTypePtrInput)(nil)).Elem(), SourceApiAssociationConfigMergeType("AUTO_MERGE")) + pulumi.RegisterOutputType(DataSourceMetricsConfigOutput{}) + pulumi.RegisterOutputType(DataSourceMetricsConfigPtrOutput{}) pulumi.RegisterOutputType(ResolverMetricsConfigOutput{}) pulumi.RegisterOutputType(ResolverMetricsConfigPtrOutput{}) pulumi.RegisterOutputType(SourceApiAssociationConfigMergeTypeOutput{}) diff --git a/sdk/go/aws/appsync/pulumiTypes.go b/sdk/go/aws/appsync/pulumiTypes.go index e8ed91396d..7dfb15ff69 100644 --- a/sdk/go/aws/appsync/pulumiTypes.go +++ b/sdk/go/aws/appsync/pulumiTypes.go @@ -13,6 +13,1819 @@ import ( var _ = internal.GetEnvOrDefault +type DataSourceAuthorizationConfig struct { + // The authorization type that the HTTP endpoint requires. + AuthorizationType string `pulumi:"authorizationType"` + // The AWS Identity and Access Management settings. + AwsIamConfig *DataSourceAwsIamConfig `pulumi:"awsIamConfig"` +} + +// DataSourceAuthorizationConfigInput is an input type that accepts DataSourceAuthorizationConfigArgs and DataSourceAuthorizationConfigOutput values. +// You can construct a concrete instance of `DataSourceAuthorizationConfigInput` via: +// +// DataSourceAuthorizationConfigArgs{...} +type DataSourceAuthorizationConfigInput interface { + pulumi.Input + + ToDataSourceAuthorizationConfigOutput() DataSourceAuthorizationConfigOutput + ToDataSourceAuthorizationConfigOutputWithContext(context.Context) DataSourceAuthorizationConfigOutput +} + +type DataSourceAuthorizationConfigArgs struct { + // The authorization type that the HTTP endpoint requires. + AuthorizationType pulumi.StringInput `pulumi:"authorizationType"` + // The AWS Identity and Access Management settings. + AwsIamConfig DataSourceAwsIamConfigPtrInput `pulumi:"awsIamConfig"` +} + +func (DataSourceAuthorizationConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceAuthorizationConfig)(nil)).Elem() +} + +func (i DataSourceAuthorizationConfigArgs) ToDataSourceAuthorizationConfigOutput() DataSourceAuthorizationConfigOutput { + return i.ToDataSourceAuthorizationConfigOutputWithContext(context.Background()) +} + +func (i DataSourceAuthorizationConfigArgs) ToDataSourceAuthorizationConfigOutputWithContext(ctx context.Context) DataSourceAuthorizationConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceAuthorizationConfigOutput) +} + +func (i DataSourceAuthorizationConfigArgs) ToDataSourceAuthorizationConfigPtrOutput() DataSourceAuthorizationConfigPtrOutput { + return i.ToDataSourceAuthorizationConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceAuthorizationConfigArgs) ToDataSourceAuthorizationConfigPtrOutputWithContext(ctx context.Context) DataSourceAuthorizationConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceAuthorizationConfigOutput).ToDataSourceAuthorizationConfigPtrOutputWithContext(ctx) +} + +// DataSourceAuthorizationConfigPtrInput is an input type that accepts DataSourceAuthorizationConfigArgs, DataSourceAuthorizationConfigPtr and DataSourceAuthorizationConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceAuthorizationConfigPtrInput` via: +// +// DataSourceAuthorizationConfigArgs{...} +// +// or: +// +// nil +type DataSourceAuthorizationConfigPtrInput interface { + pulumi.Input + + ToDataSourceAuthorizationConfigPtrOutput() DataSourceAuthorizationConfigPtrOutput + ToDataSourceAuthorizationConfigPtrOutputWithContext(context.Context) DataSourceAuthorizationConfigPtrOutput +} + +type dataSourceAuthorizationConfigPtrType DataSourceAuthorizationConfigArgs + +func DataSourceAuthorizationConfigPtr(v *DataSourceAuthorizationConfigArgs) DataSourceAuthorizationConfigPtrInput { + return (*dataSourceAuthorizationConfigPtrType)(v) +} + +func (*dataSourceAuthorizationConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceAuthorizationConfig)(nil)).Elem() +} + +func (i *dataSourceAuthorizationConfigPtrType) ToDataSourceAuthorizationConfigPtrOutput() DataSourceAuthorizationConfigPtrOutput { + return i.ToDataSourceAuthorizationConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceAuthorizationConfigPtrType) ToDataSourceAuthorizationConfigPtrOutputWithContext(ctx context.Context) DataSourceAuthorizationConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceAuthorizationConfigPtrOutput) +} + +type DataSourceAuthorizationConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceAuthorizationConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceAuthorizationConfig)(nil)).Elem() +} + +func (o DataSourceAuthorizationConfigOutput) ToDataSourceAuthorizationConfigOutput() DataSourceAuthorizationConfigOutput { + return o +} + +func (o DataSourceAuthorizationConfigOutput) ToDataSourceAuthorizationConfigOutputWithContext(ctx context.Context) DataSourceAuthorizationConfigOutput { + return o +} + +func (o DataSourceAuthorizationConfigOutput) ToDataSourceAuthorizationConfigPtrOutput() DataSourceAuthorizationConfigPtrOutput { + return o.ToDataSourceAuthorizationConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceAuthorizationConfigOutput) ToDataSourceAuthorizationConfigPtrOutputWithContext(ctx context.Context) DataSourceAuthorizationConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceAuthorizationConfig) *DataSourceAuthorizationConfig { + return &v + }).(DataSourceAuthorizationConfigPtrOutput) +} + +// The authorization type that the HTTP endpoint requires. +func (o DataSourceAuthorizationConfigOutput) AuthorizationType() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceAuthorizationConfig) string { return v.AuthorizationType }).(pulumi.StringOutput) +} + +// The AWS Identity and Access Management settings. +func (o DataSourceAuthorizationConfigOutput) AwsIamConfig() DataSourceAwsIamConfigPtrOutput { + return o.ApplyT(func(v DataSourceAuthorizationConfig) *DataSourceAwsIamConfig { return v.AwsIamConfig }).(DataSourceAwsIamConfigPtrOutput) +} + +type DataSourceAuthorizationConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceAuthorizationConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceAuthorizationConfig)(nil)).Elem() +} + +func (o DataSourceAuthorizationConfigPtrOutput) ToDataSourceAuthorizationConfigPtrOutput() DataSourceAuthorizationConfigPtrOutput { + return o +} + +func (o DataSourceAuthorizationConfigPtrOutput) ToDataSourceAuthorizationConfigPtrOutputWithContext(ctx context.Context) DataSourceAuthorizationConfigPtrOutput { + return o +} + +func (o DataSourceAuthorizationConfigPtrOutput) Elem() DataSourceAuthorizationConfigOutput { + return o.ApplyT(func(v *DataSourceAuthorizationConfig) DataSourceAuthorizationConfig { + if v != nil { + return *v + } + var ret DataSourceAuthorizationConfig + return ret + }).(DataSourceAuthorizationConfigOutput) +} + +// The authorization type that the HTTP endpoint requires. +func (o DataSourceAuthorizationConfigPtrOutput) AuthorizationType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceAuthorizationConfig) *string { + if v == nil { + return nil + } + return &v.AuthorizationType + }).(pulumi.StringPtrOutput) +} + +// The AWS Identity and Access Management settings. +func (o DataSourceAuthorizationConfigPtrOutput) AwsIamConfig() DataSourceAwsIamConfigPtrOutput { + return o.ApplyT(func(v *DataSourceAuthorizationConfig) *DataSourceAwsIamConfig { + if v == nil { + return nil + } + return v.AwsIamConfig + }).(DataSourceAwsIamConfigPtrOutput) +} + +type DataSourceAwsIamConfig struct { + // The signing Region for AWS Identity and Access Management authorization. + SigningRegion *string `pulumi:"signingRegion"` + // The signing service name for AWS Identity and Access Management authorization. + SigningServiceName *string `pulumi:"signingServiceName"` +} + +// DataSourceAwsIamConfigInput is an input type that accepts DataSourceAwsIamConfigArgs and DataSourceAwsIamConfigOutput values. +// You can construct a concrete instance of `DataSourceAwsIamConfigInput` via: +// +// DataSourceAwsIamConfigArgs{...} +type DataSourceAwsIamConfigInput interface { + pulumi.Input + + ToDataSourceAwsIamConfigOutput() DataSourceAwsIamConfigOutput + ToDataSourceAwsIamConfigOutputWithContext(context.Context) DataSourceAwsIamConfigOutput +} + +type DataSourceAwsIamConfigArgs struct { + // The signing Region for AWS Identity and Access Management authorization. + SigningRegion pulumi.StringPtrInput `pulumi:"signingRegion"` + // The signing service name for AWS Identity and Access Management authorization. + SigningServiceName pulumi.StringPtrInput `pulumi:"signingServiceName"` +} + +func (DataSourceAwsIamConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceAwsIamConfig)(nil)).Elem() +} + +func (i DataSourceAwsIamConfigArgs) ToDataSourceAwsIamConfigOutput() DataSourceAwsIamConfigOutput { + return i.ToDataSourceAwsIamConfigOutputWithContext(context.Background()) +} + +func (i DataSourceAwsIamConfigArgs) ToDataSourceAwsIamConfigOutputWithContext(ctx context.Context) DataSourceAwsIamConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceAwsIamConfigOutput) +} + +func (i DataSourceAwsIamConfigArgs) ToDataSourceAwsIamConfigPtrOutput() DataSourceAwsIamConfigPtrOutput { + return i.ToDataSourceAwsIamConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceAwsIamConfigArgs) ToDataSourceAwsIamConfigPtrOutputWithContext(ctx context.Context) DataSourceAwsIamConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceAwsIamConfigOutput).ToDataSourceAwsIamConfigPtrOutputWithContext(ctx) +} + +// DataSourceAwsIamConfigPtrInput is an input type that accepts DataSourceAwsIamConfigArgs, DataSourceAwsIamConfigPtr and DataSourceAwsIamConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceAwsIamConfigPtrInput` via: +// +// DataSourceAwsIamConfigArgs{...} +// +// or: +// +// nil +type DataSourceAwsIamConfigPtrInput interface { + pulumi.Input + + ToDataSourceAwsIamConfigPtrOutput() DataSourceAwsIamConfigPtrOutput + ToDataSourceAwsIamConfigPtrOutputWithContext(context.Context) DataSourceAwsIamConfigPtrOutput +} + +type dataSourceAwsIamConfigPtrType DataSourceAwsIamConfigArgs + +func DataSourceAwsIamConfigPtr(v *DataSourceAwsIamConfigArgs) DataSourceAwsIamConfigPtrInput { + return (*dataSourceAwsIamConfigPtrType)(v) +} + +func (*dataSourceAwsIamConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceAwsIamConfig)(nil)).Elem() +} + +func (i *dataSourceAwsIamConfigPtrType) ToDataSourceAwsIamConfigPtrOutput() DataSourceAwsIamConfigPtrOutput { + return i.ToDataSourceAwsIamConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceAwsIamConfigPtrType) ToDataSourceAwsIamConfigPtrOutputWithContext(ctx context.Context) DataSourceAwsIamConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceAwsIamConfigPtrOutput) +} + +type DataSourceAwsIamConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceAwsIamConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceAwsIamConfig)(nil)).Elem() +} + +func (o DataSourceAwsIamConfigOutput) ToDataSourceAwsIamConfigOutput() DataSourceAwsIamConfigOutput { + return o +} + +func (o DataSourceAwsIamConfigOutput) ToDataSourceAwsIamConfigOutputWithContext(ctx context.Context) DataSourceAwsIamConfigOutput { + return o +} + +func (o DataSourceAwsIamConfigOutput) ToDataSourceAwsIamConfigPtrOutput() DataSourceAwsIamConfigPtrOutput { + return o.ToDataSourceAwsIamConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceAwsIamConfigOutput) ToDataSourceAwsIamConfigPtrOutputWithContext(ctx context.Context) DataSourceAwsIamConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceAwsIamConfig) *DataSourceAwsIamConfig { + return &v + }).(DataSourceAwsIamConfigPtrOutput) +} + +// The signing Region for AWS Identity and Access Management authorization. +func (o DataSourceAwsIamConfigOutput) SigningRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceAwsIamConfig) *string { return v.SigningRegion }).(pulumi.StringPtrOutput) +} + +// The signing service name for AWS Identity and Access Management authorization. +func (o DataSourceAwsIamConfigOutput) SigningServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceAwsIamConfig) *string { return v.SigningServiceName }).(pulumi.StringPtrOutput) +} + +type DataSourceAwsIamConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceAwsIamConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceAwsIamConfig)(nil)).Elem() +} + +func (o DataSourceAwsIamConfigPtrOutput) ToDataSourceAwsIamConfigPtrOutput() DataSourceAwsIamConfigPtrOutput { + return o +} + +func (o DataSourceAwsIamConfigPtrOutput) ToDataSourceAwsIamConfigPtrOutputWithContext(ctx context.Context) DataSourceAwsIamConfigPtrOutput { + return o +} + +func (o DataSourceAwsIamConfigPtrOutput) Elem() DataSourceAwsIamConfigOutput { + return o.ApplyT(func(v *DataSourceAwsIamConfig) DataSourceAwsIamConfig { + if v != nil { + return *v + } + var ret DataSourceAwsIamConfig + return ret + }).(DataSourceAwsIamConfigOutput) +} + +// The signing Region for AWS Identity and Access Management authorization. +func (o DataSourceAwsIamConfigPtrOutput) SigningRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceAwsIamConfig) *string { + if v == nil { + return nil + } + return v.SigningRegion + }).(pulumi.StringPtrOutput) +} + +// The signing service name for AWS Identity and Access Management authorization. +func (o DataSourceAwsIamConfigPtrOutput) SigningServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceAwsIamConfig) *string { + if v == nil { + return nil + } + return v.SigningServiceName + }).(pulumi.StringPtrOutput) +} + +type DataSourceDeltaSyncConfig struct { + // The number of minutes that an Item is stored in the data source. + BaseTableTtl string `pulumi:"baseTableTtl"` + // The Delta Sync table name. + DeltaSyncTableName string `pulumi:"deltaSyncTableName"` + // The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + DeltaSyncTableTtl string `pulumi:"deltaSyncTableTtl"` +} + +// DataSourceDeltaSyncConfigInput is an input type that accepts DataSourceDeltaSyncConfigArgs and DataSourceDeltaSyncConfigOutput values. +// You can construct a concrete instance of `DataSourceDeltaSyncConfigInput` via: +// +// DataSourceDeltaSyncConfigArgs{...} +type DataSourceDeltaSyncConfigInput interface { + pulumi.Input + + ToDataSourceDeltaSyncConfigOutput() DataSourceDeltaSyncConfigOutput + ToDataSourceDeltaSyncConfigOutputWithContext(context.Context) DataSourceDeltaSyncConfigOutput +} + +type DataSourceDeltaSyncConfigArgs struct { + // The number of minutes that an Item is stored in the data source. + BaseTableTtl pulumi.StringInput `pulumi:"baseTableTtl"` + // The Delta Sync table name. + DeltaSyncTableName pulumi.StringInput `pulumi:"deltaSyncTableName"` + // The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + DeltaSyncTableTtl pulumi.StringInput `pulumi:"deltaSyncTableTtl"` +} + +func (DataSourceDeltaSyncConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceDeltaSyncConfig)(nil)).Elem() +} + +func (i DataSourceDeltaSyncConfigArgs) ToDataSourceDeltaSyncConfigOutput() DataSourceDeltaSyncConfigOutput { + return i.ToDataSourceDeltaSyncConfigOutputWithContext(context.Background()) +} + +func (i DataSourceDeltaSyncConfigArgs) ToDataSourceDeltaSyncConfigOutputWithContext(ctx context.Context) DataSourceDeltaSyncConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceDeltaSyncConfigOutput) +} + +func (i DataSourceDeltaSyncConfigArgs) ToDataSourceDeltaSyncConfigPtrOutput() DataSourceDeltaSyncConfigPtrOutput { + return i.ToDataSourceDeltaSyncConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceDeltaSyncConfigArgs) ToDataSourceDeltaSyncConfigPtrOutputWithContext(ctx context.Context) DataSourceDeltaSyncConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceDeltaSyncConfigOutput).ToDataSourceDeltaSyncConfigPtrOutputWithContext(ctx) +} + +// DataSourceDeltaSyncConfigPtrInput is an input type that accepts DataSourceDeltaSyncConfigArgs, DataSourceDeltaSyncConfigPtr and DataSourceDeltaSyncConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceDeltaSyncConfigPtrInput` via: +// +// DataSourceDeltaSyncConfigArgs{...} +// +// or: +// +// nil +type DataSourceDeltaSyncConfigPtrInput interface { + pulumi.Input + + ToDataSourceDeltaSyncConfigPtrOutput() DataSourceDeltaSyncConfigPtrOutput + ToDataSourceDeltaSyncConfigPtrOutputWithContext(context.Context) DataSourceDeltaSyncConfigPtrOutput +} + +type dataSourceDeltaSyncConfigPtrType DataSourceDeltaSyncConfigArgs + +func DataSourceDeltaSyncConfigPtr(v *DataSourceDeltaSyncConfigArgs) DataSourceDeltaSyncConfigPtrInput { + return (*dataSourceDeltaSyncConfigPtrType)(v) +} + +func (*dataSourceDeltaSyncConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceDeltaSyncConfig)(nil)).Elem() +} + +func (i *dataSourceDeltaSyncConfigPtrType) ToDataSourceDeltaSyncConfigPtrOutput() DataSourceDeltaSyncConfigPtrOutput { + return i.ToDataSourceDeltaSyncConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceDeltaSyncConfigPtrType) ToDataSourceDeltaSyncConfigPtrOutputWithContext(ctx context.Context) DataSourceDeltaSyncConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceDeltaSyncConfigPtrOutput) +} + +type DataSourceDeltaSyncConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceDeltaSyncConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceDeltaSyncConfig)(nil)).Elem() +} + +func (o DataSourceDeltaSyncConfigOutput) ToDataSourceDeltaSyncConfigOutput() DataSourceDeltaSyncConfigOutput { + return o +} + +func (o DataSourceDeltaSyncConfigOutput) ToDataSourceDeltaSyncConfigOutputWithContext(ctx context.Context) DataSourceDeltaSyncConfigOutput { + return o +} + +func (o DataSourceDeltaSyncConfigOutput) ToDataSourceDeltaSyncConfigPtrOutput() DataSourceDeltaSyncConfigPtrOutput { + return o.ToDataSourceDeltaSyncConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceDeltaSyncConfigOutput) ToDataSourceDeltaSyncConfigPtrOutputWithContext(ctx context.Context) DataSourceDeltaSyncConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceDeltaSyncConfig) *DataSourceDeltaSyncConfig { + return &v + }).(DataSourceDeltaSyncConfigPtrOutput) +} + +// The number of minutes that an Item is stored in the data source. +func (o DataSourceDeltaSyncConfigOutput) BaseTableTtl() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceDeltaSyncConfig) string { return v.BaseTableTtl }).(pulumi.StringOutput) +} + +// The Delta Sync table name. +func (o DataSourceDeltaSyncConfigOutput) DeltaSyncTableName() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceDeltaSyncConfig) string { return v.DeltaSyncTableName }).(pulumi.StringOutput) +} + +// The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. +func (o DataSourceDeltaSyncConfigOutput) DeltaSyncTableTtl() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceDeltaSyncConfig) string { return v.DeltaSyncTableTtl }).(pulumi.StringOutput) +} + +type DataSourceDeltaSyncConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceDeltaSyncConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceDeltaSyncConfig)(nil)).Elem() +} + +func (o DataSourceDeltaSyncConfigPtrOutput) ToDataSourceDeltaSyncConfigPtrOutput() DataSourceDeltaSyncConfigPtrOutput { + return o +} + +func (o DataSourceDeltaSyncConfigPtrOutput) ToDataSourceDeltaSyncConfigPtrOutputWithContext(ctx context.Context) DataSourceDeltaSyncConfigPtrOutput { + return o +} + +func (o DataSourceDeltaSyncConfigPtrOutput) Elem() DataSourceDeltaSyncConfigOutput { + return o.ApplyT(func(v *DataSourceDeltaSyncConfig) DataSourceDeltaSyncConfig { + if v != nil { + return *v + } + var ret DataSourceDeltaSyncConfig + return ret + }).(DataSourceDeltaSyncConfigOutput) +} + +// The number of minutes that an Item is stored in the data source. +func (o DataSourceDeltaSyncConfigPtrOutput) BaseTableTtl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceDeltaSyncConfig) *string { + if v == nil { + return nil + } + return &v.BaseTableTtl + }).(pulumi.StringPtrOutput) +} + +// The Delta Sync table name. +func (o DataSourceDeltaSyncConfigPtrOutput) DeltaSyncTableName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceDeltaSyncConfig) *string { + if v == nil { + return nil + } + return &v.DeltaSyncTableName + }).(pulumi.StringPtrOutput) +} + +// The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. +func (o DataSourceDeltaSyncConfigPtrOutput) DeltaSyncTableTtl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceDeltaSyncConfig) *string { + if v == nil { + return nil + } + return &v.DeltaSyncTableTtl + }).(pulumi.StringPtrOutput) +} + +type DataSourceDynamoDbConfig struct { + // The AWS Region. + AwsRegion string `pulumi:"awsRegion"` + // The DeltaSyncConfig for a versioned datasource. + DeltaSyncConfig *DataSourceDeltaSyncConfig `pulumi:"deltaSyncConfig"` + // The table name. + TableName string `pulumi:"tableName"` + // Set to TRUE to use AWS Identity and Access Management with this data source. + UseCallerCredentials *bool `pulumi:"useCallerCredentials"` + // Set to TRUE to use Conflict Detection and Resolution with this data source. + Versioned *bool `pulumi:"versioned"` +} + +// DataSourceDynamoDbConfigInput is an input type that accepts DataSourceDynamoDbConfigArgs and DataSourceDynamoDbConfigOutput values. +// You can construct a concrete instance of `DataSourceDynamoDbConfigInput` via: +// +// DataSourceDynamoDbConfigArgs{...} +type DataSourceDynamoDbConfigInput interface { + pulumi.Input + + ToDataSourceDynamoDbConfigOutput() DataSourceDynamoDbConfigOutput + ToDataSourceDynamoDbConfigOutputWithContext(context.Context) DataSourceDynamoDbConfigOutput +} + +type DataSourceDynamoDbConfigArgs struct { + // The AWS Region. + AwsRegion pulumi.StringInput `pulumi:"awsRegion"` + // The DeltaSyncConfig for a versioned datasource. + DeltaSyncConfig DataSourceDeltaSyncConfigPtrInput `pulumi:"deltaSyncConfig"` + // The table name. + TableName pulumi.StringInput `pulumi:"tableName"` + // Set to TRUE to use AWS Identity and Access Management with this data source. + UseCallerCredentials pulumi.BoolPtrInput `pulumi:"useCallerCredentials"` + // Set to TRUE to use Conflict Detection and Resolution with this data source. + Versioned pulumi.BoolPtrInput `pulumi:"versioned"` +} + +func (DataSourceDynamoDbConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceDynamoDbConfig)(nil)).Elem() +} + +func (i DataSourceDynamoDbConfigArgs) ToDataSourceDynamoDbConfigOutput() DataSourceDynamoDbConfigOutput { + return i.ToDataSourceDynamoDbConfigOutputWithContext(context.Background()) +} + +func (i DataSourceDynamoDbConfigArgs) ToDataSourceDynamoDbConfigOutputWithContext(ctx context.Context) DataSourceDynamoDbConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceDynamoDbConfigOutput) +} + +func (i DataSourceDynamoDbConfigArgs) ToDataSourceDynamoDbConfigPtrOutput() DataSourceDynamoDbConfigPtrOutput { + return i.ToDataSourceDynamoDbConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceDynamoDbConfigArgs) ToDataSourceDynamoDbConfigPtrOutputWithContext(ctx context.Context) DataSourceDynamoDbConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceDynamoDbConfigOutput).ToDataSourceDynamoDbConfigPtrOutputWithContext(ctx) +} + +// DataSourceDynamoDbConfigPtrInput is an input type that accepts DataSourceDynamoDbConfigArgs, DataSourceDynamoDbConfigPtr and DataSourceDynamoDbConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceDynamoDbConfigPtrInput` via: +// +// DataSourceDynamoDbConfigArgs{...} +// +// or: +// +// nil +type DataSourceDynamoDbConfigPtrInput interface { + pulumi.Input + + ToDataSourceDynamoDbConfigPtrOutput() DataSourceDynamoDbConfigPtrOutput + ToDataSourceDynamoDbConfigPtrOutputWithContext(context.Context) DataSourceDynamoDbConfigPtrOutput +} + +type dataSourceDynamoDbConfigPtrType DataSourceDynamoDbConfigArgs + +func DataSourceDynamoDbConfigPtr(v *DataSourceDynamoDbConfigArgs) DataSourceDynamoDbConfigPtrInput { + return (*dataSourceDynamoDbConfigPtrType)(v) +} + +func (*dataSourceDynamoDbConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceDynamoDbConfig)(nil)).Elem() +} + +func (i *dataSourceDynamoDbConfigPtrType) ToDataSourceDynamoDbConfigPtrOutput() DataSourceDynamoDbConfigPtrOutput { + return i.ToDataSourceDynamoDbConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceDynamoDbConfigPtrType) ToDataSourceDynamoDbConfigPtrOutputWithContext(ctx context.Context) DataSourceDynamoDbConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceDynamoDbConfigPtrOutput) +} + +type DataSourceDynamoDbConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceDynamoDbConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceDynamoDbConfig)(nil)).Elem() +} + +func (o DataSourceDynamoDbConfigOutput) ToDataSourceDynamoDbConfigOutput() DataSourceDynamoDbConfigOutput { + return o +} + +func (o DataSourceDynamoDbConfigOutput) ToDataSourceDynamoDbConfigOutputWithContext(ctx context.Context) DataSourceDynamoDbConfigOutput { + return o +} + +func (o DataSourceDynamoDbConfigOutput) ToDataSourceDynamoDbConfigPtrOutput() DataSourceDynamoDbConfigPtrOutput { + return o.ToDataSourceDynamoDbConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceDynamoDbConfigOutput) ToDataSourceDynamoDbConfigPtrOutputWithContext(ctx context.Context) DataSourceDynamoDbConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceDynamoDbConfig) *DataSourceDynamoDbConfig { + return &v + }).(DataSourceDynamoDbConfigPtrOutput) +} + +// The AWS Region. +func (o DataSourceDynamoDbConfigOutput) AwsRegion() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceDynamoDbConfig) string { return v.AwsRegion }).(pulumi.StringOutput) +} + +// The DeltaSyncConfig for a versioned datasource. +func (o DataSourceDynamoDbConfigOutput) DeltaSyncConfig() DataSourceDeltaSyncConfigPtrOutput { + return o.ApplyT(func(v DataSourceDynamoDbConfig) *DataSourceDeltaSyncConfig { return v.DeltaSyncConfig }).(DataSourceDeltaSyncConfigPtrOutput) +} + +// The table name. +func (o DataSourceDynamoDbConfigOutput) TableName() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceDynamoDbConfig) string { return v.TableName }).(pulumi.StringOutput) +} + +// Set to TRUE to use AWS Identity and Access Management with this data source. +func (o DataSourceDynamoDbConfigOutput) UseCallerCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v DataSourceDynamoDbConfig) *bool { return v.UseCallerCredentials }).(pulumi.BoolPtrOutput) +} + +// Set to TRUE to use Conflict Detection and Resolution with this data source. +func (o DataSourceDynamoDbConfigOutput) Versioned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v DataSourceDynamoDbConfig) *bool { return v.Versioned }).(pulumi.BoolPtrOutput) +} + +type DataSourceDynamoDbConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceDynamoDbConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceDynamoDbConfig)(nil)).Elem() +} + +func (o DataSourceDynamoDbConfigPtrOutput) ToDataSourceDynamoDbConfigPtrOutput() DataSourceDynamoDbConfigPtrOutput { + return o +} + +func (o DataSourceDynamoDbConfigPtrOutput) ToDataSourceDynamoDbConfigPtrOutputWithContext(ctx context.Context) DataSourceDynamoDbConfigPtrOutput { + return o +} + +func (o DataSourceDynamoDbConfigPtrOutput) Elem() DataSourceDynamoDbConfigOutput { + return o.ApplyT(func(v *DataSourceDynamoDbConfig) DataSourceDynamoDbConfig { + if v != nil { + return *v + } + var ret DataSourceDynamoDbConfig + return ret + }).(DataSourceDynamoDbConfigOutput) +} + +// The AWS Region. +func (o DataSourceDynamoDbConfigPtrOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceDynamoDbConfig) *string { + if v == nil { + return nil + } + return &v.AwsRegion + }).(pulumi.StringPtrOutput) +} + +// The DeltaSyncConfig for a versioned datasource. +func (o DataSourceDynamoDbConfigPtrOutput) DeltaSyncConfig() DataSourceDeltaSyncConfigPtrOutput { + return o.ApplyT(func(v *DataSourceDynamoDbConfig) *DataSourceDeltaSyncConfig { + if v == nil { + return nil + } + return v.DeltaSyncConfig + }).(DataSourceDeltaSyncConfigPtrOutput) +} + +// The table name. +func (o DataSourceDynamoDbConfigPtrOutput) TableName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceDynamoDbConfig) *string { + if v == nil { + return nil + } + return &v.TableName + }).(pulumi.StringPtrOutput) +} + +// Set to TRUE to use AWS Identity and Access Management with this data source. +func (o DataSourceDynamoDbConfigPtrOutput) UseCallerCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DataSourceDynamoDbConfig) *bool { + if v == nil { + return nil + } + return v.UseCallerCredentials + }).(pulumi.BoolPtrOutput) +} + +// Set to TRUE to use Conflict Detection and Resolution with this data source. +func (o DataSourceDynamoDbConfigPtrOutput) Versioned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DataSourceDynamoDbConfig) *bool { + if v == nil { + return nil + } + return v.Versioned + }).(pulumi.BoolPtrOutput) +} + +type DataSourceElasticsearchConfig struct { + // The AWS Region. + AwsRegion string `pulumi:"awsRegion"` + // The endpoint. + Endpoint string `pulumi:"endpoint"` +} + +// DataSourceElasticsearchConfigInput is an input type that accepts DataSourceElasticsearchConfigArgs and DataSourceElasticsearchConfigOutput values. +// You can construct a concrete instance of `DataSourceElasticsearchConfigInput` via: +// +// DataSourceElasticsearchConfigArgs{...} +type DataSourceElasticsearchConfigInput interface { + pulumi.Input + + ToDataSourceElasticsearchConfigOutput() DataSourceElasticsearchConfigOutput + ToDataSourceElasticsearchConfigOutputWithContext(context.Context) DataSourceElasticsearchConfigOutput +} + +type DataSourceElasticsearchConfigArgs struct { + // The AWS Region. + AwsRegion pulumi.StringInput `pulumi:"awsRegion"` + // The endpoint. + Endpoint pulumi.StringInput `pulumi:"endpoint"` +} + +func (DataSourceElasticsearchConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceElasticsearchConfig)(nil)).Elem() +} + +func (i DataSourceElasticsearchConfigArgs) ToDataSourceElasticsearchConfigOutput() DataSourceElasticsearchConfigOutput { + return i.ToDataSourceElasticsearchConfigOutputWithContext(context.Background()) +} + +func (i DataSourceElasticsearchConfigArgs) ToDataSourceElasticsearchConfigOutputWithContext(ctx context.Context) DataSourceElasticsearchConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceElasticsearchConfigOutput) +} + +func (i DataSourceElasticsearchConfigArgs) ToDataSourceElasticsearchConfigPtrOutput() DataSourceElasticsearchConfigPtrOutput { + return i.ToDataSourceElasticsearchConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceElasticsearchConfigArgs) ToDataSourceElasticsearchConfigPtrOutputWithContext(ctx context.Context) DataSourceElasticsearchConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceElasticsearchConfigOutput).ToDataSourceElasticsearchConfigPtrOutputWithContext(ctx) +} + +// DataSourceElasticsearchConfigPtrInput is an input type that accepts DataSourceElasticsearchConfigArgs, DataSourceElasticsearchConfigPtr and DataSourceElasticsearchConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceElasticsearchConfigPtrInput` via: +// +// DataSourceElasticsearchConfigArgs{...} +// +// or: +// +// nil +type DataSourceElasticsearchConfigPtrInput interface { + pulumi.Input + + ToDataSourceElasticsearchConfigPtrOutput() DataSourceElasticsearchConfigPtrOutput + ToDataSourceElasticsearchConfigPtrOutputWithContext(context.Context) DataSourceElasticsearchConfigPtrOutput +} + +type dataSourceElasticsearchConfigPtrType DataSourceElasticsearchConfigArgs + +func DataSourceElasticsearchConfigPtr(v *DataSourceElasticsearchConfigArgs) DataSourceElasticsearchConfigPtrInput { + return (*dataSourceElasticsearchConfigPtrType)(v) +} + +func (*dataSourceElasticsearchConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceElasticsearchConfig)(nil)).Elem() +} + +func (i *dataSourceElasticsearchConfigPtrType) ToDataSourceElasticsearchConfigPtrOutput() DataSourceElasticsearchConfigPtrOutput { + return i.ToDataSourceElasticsearchConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceElasticsearchConfigPtrType) ToDataSourceElasticsearchConfigPtrOutputWithContext(ctx context.Context) DataSourceElasticsearchConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceElasticsearchConfigPtrOutput) +} + +type DataSourceElasticsearchConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceElasticsearchConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceElasticsearchConfig)(nil)).Elem() +} + +func (o DataSourceElasticsearchConfigOutput) ToDataSourceElasticsearchConfigOutput() DataSourceElasticsearchConfigOutput { + return o +} + +func (o DataSourceElasticsearchConfigOutput) ToDataSourceElasticsearchConfigOutputWithContext(ctx context.Context) DataSourceElasticsearchConfigOutput { + return o +} + +func (o DataSourceElasticsearchConfigOutput) ToDataSourceElasticsearchConfigPtrOutput() DataSourceElasticsearchConfigPtrOutput { + return o.ToDataSourceElasticsearchConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceElasticsearchConfigOutput) ToDataSourceElasticsearchConfigPtrOutputWithContext(ctx context.Context) DataSourceElasticsearchConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceElasticsearchConfig) *DataSourceElasticsearchConfig { + return &v + }).(DataSourceElasticsearchConfigPtrOutput) +} + +// The AWS Region. +func (o DataSourceElasticsearchConfigOutput) AwsRegion() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceElasticsearchConfig) string { return v.AwsRegion }).(pulumi.StringOutput) +} + +// The endpoint. +func (o DataSourceElasticsearchConfigOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceElasticsearchConfig) string { return v.Endpoint }).(pulumi.StringOutput) +} + +type DataSourceElasticsearchConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceElasticsearchConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceElasticsearchConfig)(nil)).Elem() +} + +func (o DataSourceElasticsearchConfigPtrOutput) ToDataSourceElasticsearchConfigPtrOutput() DataSourceElasticsearchConfigPtrOutput { + return o +} + +func (o DataSourceElasticsearchConfigPtrOutput) ToDataSourceElasticsearchConfigPtrOutputWithContext(ctx context.Context) DataSourceElasticsearchConfigPtrOutput { + return o +} + +func (o DataSourceElasticsearchConfigPtrOutput) Elem() DataSourceElasticsearchConfigOutput { + return o.ApplyT(func(v *DataSourceElasticsearchConfig) DataSourceElasticsearchConfig { + if v != nil { + return *v + } + var ret DataSourceElasticsearchConfig + return ret + }).(DataSourceElasticsearchConfigOutput) +} + +// The AWS Region. +func (o DataSourceElasticsearchConfigPtrOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceElasticsearchConfig) *string { + if v == nil { + return nil + } + return &v.AwsRegion + }).(pulumi.StringPtrOutput) +} + +// The endpoint. +func (o DataSourceElasticsearchConfigPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceElasticsearchConfig) *string { + if v == nil { + return nil + } + return &v.Endpoint + }).(pulumi.StringPtrOutput) +} + +type DataSourceEventBridgeConfig struct { + // ARN for the EventBridge bus. + EventBusArn string `pulumi:"eventBusArn"` +} + +// DataSourceEventBridgeConfigInput is an input type that accepts DataSourceEventBridgeConfigArgs and DataSourceEventBridgeConfigOutput values. +// You can construct a concrete instance of `DataSourceEventBridgeConfigInput` via: +// +// DataSourceEventBridgeConfigArgs{...} +type DataSourceEventBridgeConfigInput interface { + pulumi.Input + + ToDataSourceEventBridgeConfigOutput() DataSourceEventBridgeConfigOutput + ToDataSourceEventBridgeConfigOutputWithContext(context.Context) DataSourceEventBridgeConfigOutput +} + +type DataSourceEventBridgeConfigArgs struct { + // ARN for the EventBridge bus. + EventBusArn pulumi.StringInput `pulumi:"eventBusArn"` +} + +func (DataSourceEventBridgeConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceEventBridgeConfig)(nil)).Elem() +} + +func (i DataSourceEventBridgeConfigArgs) ToDataSourceEventBridgeConfigOutput() DataSourceEventBridgeConfigOutput { + return i.ToDataSourceEventBridgeConfigOutputWithContext(context.Background()) +} + +func (i DataSourceEventBridgeConfigArgs) ToDataSourceEventBridgeConfigOutputWithContext(ctx context.Context) DataSourceEventBridgeConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceEventBridgeConfigOutput) +} + +func (i DataSourceEventBridgeConfigArgs) ToDataSourceEventBridgeConfigPtrOutput() DataSourceEventBridgeConfigPtrOutput { + return i.ToDataSourceEventBridgeConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceEventBridgeConfigArgs) ToDataSourceEventBridgeConfigPtrOutputWithContext(ctx context.Context) DataSourceEventBridgeConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceEventBridgeConfigOutput).ToDataSourceEventBridgeConfigPtrOutputWithContext(ctx) +} + +// DataSourceEventBridgeConfigPtrInput is an input type that accepts DataSourceEventBridgeConfigArgs, DataSourceEventBridgeConfigPtr and DataSourceEventBridgeConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceEventBridgeConfigPtrInput` via: +// +// DataSourceEventBridgeConfigArgs{...} +// +// or: +// +// nil +type DataSourceEventBridgeConfigPtrInput interface { + pulumi.Input + + ToDataSourceEventBridgeConfigPtrOutput() DataSourceEventBridgeConfigPtrOutput + ToDataSourceEventBridgeConfigPtrOutputWithContext(context.Context) DataSourceEventBridgeConfigPtrOutput +} + +type dataSourceEventBridgeConfigPtrType DataSourceEventBridgeConfigArgs + +func DataSourceEventBridgeConfigPtr(v *DataSourceEventBridgeConfigArgs) DataSourceEventBridgeConfigPtrInput { + return (*dataSourceEventBridgeConfigPtrType)(v) +} + +func (*dataSourceEventBridgeConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceEventBridgeConfig)(nil)).Elem() +} + +func (i *dataSourceEventBridgeConfigPtrType) ToDataSourceEventBridgeConfigPtrOutput() DataSourceEventBridgeConfigPtrOutput { + return i.ToDataSourceEventBridgeConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceEventBridgeConfigPtrType) ToDataSourceEventBridgeConfigPtrOutputWithContext(ctx context.Context) DataSourceEventBridgeConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceEventBridgeConfigPtrOutput) +} + +type DataSourceEventBridgeConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceEventBridgeConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceEventBridgeConfig)(nil)).Elem() +} + +func (o DataSourceEventBridgeConfigOutput) ToDataSourceEventBridgeConfigOutput() DataSourceEventBridgeConfigOutput { + return o +} + +func (o DataSourceEventBridgeConfigOutput) ToDataSourceEventBridgeConfigOutputWithContext(ctx context.Context) DataSourceEventBridgeConfigOutput { + return o +} + +func (o DataSourceEventBridgeConfigOutput) ToDataSourceEventBridgeConfigPtrOutput() DataSourceEventBridgeConfigPtrOutput { + return o.ToDataSourceEventBridgeConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceEventBridgeConfigOutput) ToDataSourceEventBridgeConfigPtrOutputWithContext(ctx context.Context) DataSourceEventBridgeConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceEventBridgeConfig) *DataSourceEventBridgeConfig { + return &v + }).(DataSourceEventBridgeConfigPtrOutput) +} + +// ARN for the EventBridge bus. +func (o DataSourceEventBridgeConfigOutput) EventBusArn() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceEventBridgeConfig) string { return v.EventBusArn }).(pulumi.StringOutput) +} + +type DataSourceEventBridgeConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceEventBridgeConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceEventBridgeConfig)(nil)).Elem() +} + +func (o DataSourceEventBridgeConfigPtrOutput) ToDataSourceEventBridgeConfigPtrOutput() DataSourceEventBridgeConfigPtrOutput { + return o +} + +func (o DataSourceEventBridgeConfigPtrOutput) ToDataSourceEventBridgeConfigPtrOutputWithContext(ctx context.Context) DataSourceEventBridgeConfigPtrOutput { + return o +} + +func (o DataSourceEventBridgeConfigPtrOutput) Elem() DataSourceEventBridgeConfigOutput { + return o.ApplyT(func(v *DataSourceEventBridgeConfig) DataSourceEventBridgeConfig { + if v != nil { + return *v + } + var ret DataSourceEventBridgeConfig + return ret + }).(DataSourceEventBridgeConfigOutput) +} + +// ARN for the EventBridge bus. +func (o DataSourceEventBridgeConfigPtrOutput) EventBusArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceEventBridgeConfig) *string { + if v == nil { + return nil + } + return &v.EventBusArn + }).(pulumi.StringPtrOutput) +} + +type DataSourceHttpConfig struct { + // The authorization configuration. + AuthorizationConfig *DataSourceAuthorizationConfig `pulumi:"authorizationConfig"` + // The endpoint. + Endpoint string `pulumi:"endpoint"` +} + +// DataSourceHttpConfigInput is an input type that accepts DataSourceHttpConfigArgs and DataSourceHttpConfigOutput values. +// You can construct a concrete instance of `DataSourceHttpConfigInput` via: +// +// DataSourceHttpConfigArgs{...} +type DataSourceHttpConfigInput interface { + pulumi.Input + + ToDataSourceHttpConfigOutput() DataSourceHttpConfigOutput + ToDataSourceHttpConfigOutputWithContext(context.Context) DataSourceHttpConfigOutput +} + +type DataSourceHttpConfigArgs struct { + // The authorization configuration. + AuthorizationConfig DataSourceAuthorizationConfigPtrInput `pulumi:"authorizationConfig"` + // The endpoint. + Endpoint pulumi.StringInput `pulumi:"endpoint"` +} + +func (DataSourceHttpConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceHttpConfig)(nil)).Elem() +} + +func (i DataSourceHttpConfigArgs) ToDataSourceHttpConfigOutput() DataSourceHttpConfigOutput { + return i.ToDataSourceHttpConfigOutputWithContext(context.Background()) +} + +func (i DataSourceHttpConfigArgs) ToDataSourceHttpConfigOutputWithContext(ctx context.Context) DataSourceHttpConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceHttpConfigOutput) +} + +func (i DataSourceHttpConfigArgs) ToDataSourceHttpConfigPtrOutput() DataSourceHttpConfigPtrOutput { + return i.ToDataSourceHttpConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceHttpConfigArgs) ToDataSourceHttpConfigPtrOutputWithContext(ctx context.Context) DataSourceHttpConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceHttpConfigOutput).ToDataSourceHttpConfigPtrOutputWithContext(ctx) +} + +// DataSourceHttpConfigPtrInput is an input type that accepts DataSourceHttpConfigArgs, DataSourceHttpConfigPtr and DataSourceHttpConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceHttpConfigPtrInput` via: +// +// DataSourceHttpConfigArgs{...} +// +// or: +// +// nil +type DataSourceHttpConfigPtrInput interface { + pulumi.Input + + ToDataSourceHttpConfigPtrOutput() DataSourceHttpConfigPtrOutput + ToDataSourceHttpConfigPtrOutputWithContext(context.Context) DataSourceHttpConfigPtrOutput +} + +type dataSourceHttpConfigPtrType DataSourceHttpConfigArgs + +func DataSourceHttpConfigPtr(v *DataSourceHttpConfigArgs) DataSourceHttpConfigPtrInput { + return (*dataSourceHttpConfigPtrType)(v) +} + +func (*dataSourceHttpConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceHttpConfig)(nil)).Elem() +} + +func (i *dataSourceHttpConfigPtrType) ToDataSourceHttpConfigPtrOutput() DataSourceHttpConfigPtrOutput { + return i.ToDataSourceHttpConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceHttpConfigPtrType) ToDataSourceHttpConfigPtrOutputWithContext(ctx context.Context) DataSourceHttpConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceHttpConfigPtrOutput) +} + +type DataSourceHttpConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceHttpConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceHttpConfig)(nil)).Elem() +} + +func (o DataSourceHttpConfigOutput) ToDataSourceHttpConfigOutput() DataSourceHttpConfigOutput { + return o +} + +func (o DataSourceHttpConfigOutput) ToDataSourceHttpConfigOutputWithContext(ctx context.Context) DataSourceHttpConfigOutput { + return o +} + +func (o DataSourceHttpConfigOutput) ToDataSourceHttpConfigPtrOutput() DataSourceHttpConfigPtrOutput { + return o.ToDataSourceHttpConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceHttpConfigOutput) ToDataSourceHttpConfigPtrOutputWithContext(ctx context.Context) DataSourceHttpConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceHttpConfig) *DataSourceHttpConfig { + return &v + }).(DataSourceHttpConfigPtrOutput) +} + +// The authorization configuration. +func (o DataSourceHttpConfigOutput) AuthorizationConfig() DataSourceAuthorizationConfigPtrOutput { + return o.ApplyT(func(v DataSourceHttpConfig) *DataSourceAuthorizationConfig { return v.AuthorizationConfig }).(DataSourceAuthorizationConfigPtrOutput) +} + +// The endpoint. +func (o DataSourceHttpConfigOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceHttpConfig) string { return v.Endpoint }).(pulumi.StringOutput) +} + +type DataSourceHttpConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceHttpConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceHttpConfig)(nil)).Elem() +} + +func (o DataSourceHttpConfigPtrOutput) ToDataSourceHttpConfigPtrOutput() DataSourceHttpConfigPtrOutput { + return o +} + +func (o DataSourceHttpConfigPtrOutput) ToDataSourceHttpConfigPtrOutputWithContext(ctx context.Context) DataSourceHttpConfigPtrOutput { + return o +} + +func (o DataSourceHttpConfigPtrOutput) Elem() DataSourceHttpConfigOutput { + return o.ApplyT(func(v *DataSourceHttpConfig) DataSourceHttpConfig { + if v != nil { + return *v + } + var ret DataSourceHttpConfig + return ret + }).(DataSourceHttpConfigOutput) +} + +// The authorization configuration. +func (o DataSourceHttpConfigPtrOutput) AuthorizationConfig() DataSourceAuthorizationConfigPtrOutput { + return o.ApplyT(func(v *DataSourceHttpConfig) *DataSourceAuthorizationConfig { + if v == nil { + return nil + } + return v.AuthorizationConfig + }).(DataSourceAuthorizationConfigPtrOutput) +} + +// The endpoint. +func (o DataSourceHttpConfigPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceHttpConfig) *string { + if v == nil { + return nil + } + return &v.Endpoint + }).(pulumi.StringPtrOutput) +} + +type DataSourceLambdaConfig struct { + // The ARN for the Lambda function. + LambdaFunctionArn string `pulumi:"lambdaFunctionArn"` +} + +// DataSourceLambdaConfigInput is an input type that accepts DataSourceLambdaConfigArgs and DataSourceLambdaConfigOutput values. +// You can construct a concrete instance of `DataSourceLambdaConfigInput` via: +// +// DataSourceLambdaConfigArgs{...} +type DataSourceLambdaConfigInput interface { + pulumi.Input + + ToDataSourceLambdaConfigOutput() DataSourceLambdaConfigOutput + ToDataSourceLambdaConfigOutputWithContext(context.Context) DataSourceLambdaConfigOutput +} + +type DataSourceLambdaConfigArgs struct { + // The ARN for the Lambda function. + LambdaFunctionArn pulumi.StringInput `pulumi:"lambdaFunctionArn"` +} + +func (DataSourceLambdaConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceLambdaConfig)(nil)).Elem() +} + +func (i DataSourceLambdaConfigArgs) ToDataSourceLambdaConfigOutput() DataSourceLambdaConfigOutput { + return i.ToDataSourceLambdaConfigOutputWithContext(context.Background()) +} + +func (i DataSourceLambdaConfigArgs) ToDataSourceLambdaConfigOutputWithContext(ctx context.Context) DataSourceLambdaConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceLambdaConfigOutput) +} + +func (i DataSourceLambdaConfigArgs) ToDataSourceLambdaConfigPtrOutput() DataSourceLambdaConfigPtrOutput { + return i.ToDataSourceLambdaConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceLambdaConfigArgs) ToDataSourceLambdaConfigPtrOutputWithContext(ctx context.Context) DataSourceLambdaConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceLambdaConfigOutput).ToDataSourceLambdaConfigPtrOutputWithContext(ctx) +} + +// DataSourceLambdaConfigPtrInput is an input type that accepts DataSourceLambdaConfigArgs, DataSourceLambdaConfigPtr and DataSourceLambdaConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceLambdaConfigPtrInput` via: +// +// DataSourceLambdaConfigArgs{...} +// +// or: +// +// nil +type DataSourceLambdaConfigPtrInput interface { + pulumi.Input + + ToDataSourceLambdaConfigPtrOutput() DataSourceLambdaConfigPtrOutput + ToDataSourceLambdaConfigPtrOutputWithContext(context.Context) DataSourceLambdaConfigPtrOutput +} + +type dataSourceLambdaConfigPtrType DataSourceLambdaConfigArgs + +func DataSourceLambdaConfigPtr(v *DataSourceLambdaConfigArgs) DataSourceLambdaConfigPtrInput { + return (*dataSourceLambdaConfigPtrType)(v) +} + +func (*dataSourceLambdaConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceLambdaConfig)(nil)).Elem() +} + +func (i *dataSourceLambdaConfigPtrType) ToDataSourceLambdaConfigPtrOutput() DataSourceLambdaConfigPtrOutput { + return i.ToDataSourceLambdaConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceLambdaConfigPtrType) ToDataSourceLambdaConfigPtrOutputWithContext(ctx context.Context) DataSourceLambdaConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceLambdaConfigPtrOutput) +} + +type DataSourceLambdaConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceLambdaConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceLambdaConfig)(nil)).Elem() +} + +func (o DataSourceLambdaConfigOutput) ToDataSourceLambdaConfigOutput() DataSourceLambdaConfigOutput { + return o +} + +func (o DataSourceLambdaConfigOutput) ToDataSourceLambdaConfigOutputWithContext(ctx context.Context) DataSourceLambdaConfigOutput { + return o +} + +func (o DataSourceLambdaConfigOutput) ToDataSourceLambdaConfigPtrOutput() DataSourceLambdaConfigPtrOutput { + return o.ToDataSourceLambdaConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceLambdaConfigOutput) ToDataSourceLambdaConfigPtrOutputWithContext(ctx context.Context) DataSourceLambdaConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceLambdaConfig) *DataSourceLambdaConfig { + return &v + }).(DataSourceLambdaConfigPtrOutput) +} + +// The ARN for the Lambda function. +func (o DataSourceLambdaConfigOutput) LambdaFunctionArn() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceLambdaConfig) string { return v.LambdaFunctionArn }).(pulumi.StringOutput) +} + +type DataSourceLambdaConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceLambdaConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceLambdaConfig)(nil)).Elem() +} + +func (o DataSourceLambdaConfigPtrOutput) ToDataSourceLambdaConfigPtrOutput() DataSourceLambdaConfigPtrOutput { + return o +} + +func (o DataSourceLambdaConfigPtrOutput) ToDataSourceLambdaConfigPtrOutputWithContext(ctx context.Context) DataSourceLambdaConfigPtrOutput { + return o +} + +func (o DataSourceLambdaConfigPtrOutput) Elem() DataSourceLambdaConfigOutput { + return o.ApplyT(func(v *DataSourceLambdaConfig) DataSourceLambdaConfig { + if v != nil { + return *v + } + var ret DataSourceLambdaConfig + return ret + }).(DataSourceLambdaConfigOutput) +} + +// The ARN for the Lambda function. +func (o DataSourceLambdaConfigPtrOutput) LambdaFunctionArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceLambdaConfig) *string { + if v == nil { + return nil + } + return &v.LambdaFunctionArn + }).(pulumi.StringPtrOutput) +} + +type DataSourceOpenSearchServiceConfig struct { + // The AWS Region. + AwsRegion string `pulumi:"awsRegion"` + // The endpoint. + Endpoint string `pulumi:"endpoint"` +} + +// DataSourceOpenSearchServiceConfigInput is an input type that accepts DataSourceOpenSearchServiceConfigArgs and DataSourceOpenSearchServiceConfigOutput values. +// You can construct a concrete instance of `DataSourceOpenSearchServiceConfigInput` via: +// +// DataSourceOpenSearchServiceConfigArgs{...} +type DataSourceOpenSearchServiceConfigInput interface { + pulumi.Input + + ToDataSourceOpenSearchServiceConfigOutput() DataSourceOpenSearchServiceConfigOutput + ToDataSourceOpenSearchServiceConfigOutputWithContext(context.Context) DataSourceOpenSearchServiceConfigOutput +} + +type DataSourceOpenSearchServiceConfigArgs struct { + // The AWS Region. + AwsRegion pulumi.StringInput `pulumi:"awsRegion"` + // The endpoint. + Endpoint pulumi.StringInput `pulumi:"endpoint"` +} + +func (DataSourceOpenSearchServiceConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceOpenSearchServiceConfig)(nil)).Elem() +} + +func (i DataSourceOpenSearchServiceConfigArgs) ToDataSourceOpenSearchServiceConfigOutput() DataSourceOpenSearchServiceConfigOutput { + return i.ToDataSourceOpenSearchServiceConfigOutputWithContext(context.Background()) +} + +func (i DataSourceOpenSearchServiceConfigArgs) ToDataSourceOpenSearchServiceConfigOutputWithContext(ctx context.Context) DataSourceOpenSearchServiceConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceOpenSearchServiceConfigOutput) +} + +func (i DataSourceOpenSearchServiceConfigArgs) ToDataSourceOpenSearchServiceConfigPtrOutput() DataSourceOpenSearchServiceConfigPtrOutput { + return i.ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceOpenSearchServiceConfigArgs) ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(ctx context.Context) DataSourceOpenSearchServiceConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceOpenSearchServiceConfigOutput).ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(ctx) +} + +// DataSourceOpenSearchServiceConfigPtrInput is an input type that accepts DataSourceOpenSearchServiceConfigArgs, DataSourceOpenSearchServiceConfigPtr and DataSourceOpenSearchServiceConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceOpenSearchServiceConfigPtrInput` via: +// +// DataSourceOpenSearchServiceConfigArgs{...} +// +// or: +// +// nil +type DataSourceOpenSearchServiceConfigPtrInput interface { + pulumi.Input + + ToDataSourceOpenSearchServiceConfigPtrOutput() DataSourceOpenSearchServiceConfigPtrOutput + ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(context.Context) DataSourceOpenSearchServiceConfigPtrOutput +} + +type dataSourceOpenSearchServiceConfigPtrType DataSourceOpenSearchServiceConfigArgs + +func DataSourceOpenSearchServiceConfigPtr(v *DataSourceOpenSearchServiceConfigArgs) DataSourceOpenSearchServiceConfigPtrInput { + return (*dataSourceOpenSearchServiceConfigPtrType)(v) +} + +func (*dataSourceOpenSearchServiceConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceOpenSearchServiceConfig)(nil)).Elem() +} + +func (i *dataSourceOpenSearchServiceConfigPtrType) ToDataSourceOpenSearchServiceConfigPtrOutput() DataSourceOpenSearchServiceConfigPtrOutput { + return i.ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceOpenSearchServiceConfigPtrType) ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(ctx context.Context) DataSourceOpenSearchServiceConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceOpenSearchServiceConfigPtrOutput) +} + +type DataSourceOpenSearchServiceConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceOpenSearchServiceConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceOpenSearchServiceConfig)(nil)).Elem() +} + +func (o DataSourceOpenSearchServiceConfigOutput) ToDataSourceOpenSearchServiceConfigOutput() DataSourceOpenSearchServiceConfigOutput { + return o +} + +func (o DataSourceOpenSearchServiceConfigOutput) ToDataSourceOpenSearchServiceConfigOutputWithContext(ctx context.Context) DataSourceOpenSearchServiceConfigOutput { + return o +} + +func (o DataSourceOpenSearchServiceConfigOutput) ToDataSourceOpenSearchServiceConfigPtrOutput() DataSourceOpenSearchServiceConfigPtrOutput { + return o.ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceOpenSearchServiceConfigOutput) ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(ctx context.Context) DataSourceOpenSearchServiceConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceOpenSearchServiceConfig) *DataSourceOpenSearchServiceConfig { + return &v + }).(DataSourceOpenSearchServiceConfigPtrOutput) +} + +// The AWS Region. +func (o DataSourceOpenSearchServiceConfigOutput) AwsRegion() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceOpenSearchServiceConfig) string { return v.AwsRegion }).(pulumi.StringOutput) +} + +// The endpoint. +func (o DataSourceOpenSearchServiceConfigOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceOpenSearchServiceConfig) string { return v.Endpoint }).(pulumi.StringOutput) +} + +type DataSourceOpenSearchServiceConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceOpenSearchServiceConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceOpenSearchServiceConfig)(nil)).Elem() +} + +func (o DataSourceOpenSearchServiceConfigPtrOutput) ToDataSourceOpenSearchServiceConfigPtrOutput() DataSourceOpenSearchServiceConfigPtrOutput { + return o +} + +func (o DataSourceOpenSearchServiceConfigPtrOutput) ToDataSourceOpenSearchServiceConfigPtrOutputWithContext(ctx context.Context) DataSourceOpenSearchServiceConfigPtrOutput { + return o +} + +func (o DataSourceOpenSearchServiceConfigPtrOutput) Elem() DataSourceOpenSearchServiceConfigOutput { + return o.ApplyT(func(v *DataSourceOpenSearchServiceConfig) DataSourceOpenSearchServiceConfig { + if v != nil { + return *v + } + var ret DataSourceOpenSearchServiceConfig + return ret + }).(DataSourceOpenSearchServiceConfigOutput) +} + +// The AWS Region. +func (o DataSourceOpenSearchServiceConfigPtrOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceOpenSearchServiceConfig) *string { + if v == nil { + return nil + } + return &v.AwsRegion + }).(pulumi.StringPtrOutput) +} + +// The endpoint. +func (o DataSourceOpenSearchServiceConfigPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceOpenSearchServiceConfig) *string { + if v == nil { + return nil + } + return &v.Endpoint + }).(pulumi.StringPtrOutput) +} + +type DataSourceRdsHttpEndpointConfig struct { + // AWS Region for RDS HTTP endpoint. + AwsRegion string `pulumi:"awsRegion"` + // The ARN for database credentials stored in AWS Secrets Manager. + AwsSecretStoreArn string `pulumi:"awsSecretStoreArn"` + // Logical database name. + DatabaseName *string `pulumi:"databaseName"` + // Amazon RDS cluster Amazon Resource Name (ARN). + DbClusterIdentifier string `pulumi:"dbClusterIdentifier"` + // Logical schema name. + Schema *string `pulumi:"schema"` +} + +// DataSourceRdsHttpEndpointConfigInput is an input type that accepts DataSourceRdsHttpEndpointConfigArgs and DataSourceRdsHttpEndpointConfigOutput values. +// You can construct a concrete instance of `DataSourceRdsHttpEndpointConfigInput` via: +// +// DataSourceRdsHttpEndpointConfigArgs{...} +type DataSourceRdsHttpEndpointConfigInput interface { + pulumi.Input + + ToDataSourceRdsHttpEndpointConfigOutput() DataSourceRdsHttpEndpointConfigOutput + ToDataSourceRdsHttpEndpointConfigOutputWithContext(context.Context) DataSourceRdsHttpEndpointConfigOutput +} + +type DataSourceRdsHttpEndpointConfigArgs struct { + // AWS Region for RDS HTTP endpoint. + AwsRegion pulumi.StringInput `pulumi:"awsRegion"` + // The ARN for database credentials stored in AWS Secrets Manager. + AwsSecretStoreArn pulumi.StringInput `pulumi:"awsSecretStoreArn"` + // Logical database name. + DatabaseName pulumi.StringPtrInput `pulumi:"databaseName"` + // Amazon RDS cluster Amazon Resource Name (ARN). + DbClusterIdentifier pulumi.StringInput `pulumi:"dbClusterIdentifier"` + // Logical schema name. + Schema pulumi.StringPtrInput `pulumi:"schema"` +} + +func (DataSourceRdsHttpEndpointConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceRdsHttpEndpointConfig)(nil)).Elem() +} + +func (i DataSourceRdsHttpEndpointConfigArgs) ToDataSourceRdsHttpEndpointConfigOutput() DataSourceRdsHttpEndpointConfigOutput { + return i.ToDataSourceRdsHttpEndpointConfigOutputWithContext(context.Background()) +} + +func (i DataSourceRdsHttpEndpointConfigArgs) ToDataSourceRdsHttpEndpointConfigOutputWithContext(ctx context.Context) DataSourceRdsHttpEndpointConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceRdsHttpEndpointConfigOutput) +} + +func (i DataSourceRdsHttpEndpointConfigArgs) ToDataSourceRdsHttpEndpointConfigPtrOutput() DataSourceRdsHttpEndpointConfigPtrOutput { + return i.ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceRdsHttpEndpointConfigArgs) ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(ctx context.Context) DataSourceRdsHttpEndpointConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceRdsHttpEndpointConfigOutput).ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(ctx) +} + +// DataSourceRdsHttpEndpointConfigPtrInput is an input type that accepts DataSourceRdsHttpEndpointConfigArgs, DataSourceRdsHttpEndpointConfigPtr and DataSourceRdsHttpEndpointConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceRdsHttpEndpointConfigPtrInput` via: +// +// DataSourceRdsHttpEndpointConfigArgs{...} +// +// or: +// +// nil +type DataSourceRdsHttpEndpointConfigPtrInput interface { + pulumi.Input + + ToDataSourceRdsHttpEndpointConfigPtrOutput() DataSourceRdsHttpEndpointConfigPtrOutput + ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(context.Context) DataSourceRdsHttpEndpointConfigPtrOutput +} + +type dataSourceRdsHttpEndpointConfigPtrType DataSourceRdsHttpEndpointConfigArgs + +func DataSourceRdsHttpEndpointConfigPtr(v *DataSourceRdsHttpEndpointConfigArgs) DataSourceRdsHttpEndpointConfigPtrInput { + return (*dataSourceRdsHttpEndpointConfigPtrType)(v) +} + +func (*dataSourceRdsHttpEndpointConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceRdsHttpEndpointConfig)(nil)).Elem() +} + +func (i *dataSourceRdsHttpEndpointConfigPtrType) ToDataSourceRdsHttpEndpointConfigPtrOutput() DataSourceRdsHttpEndpointConfigPtrOutput { + return i.ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceRdsHttpEndpointConfigPtrType) ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(ctx context.Context) DataSourceRdsHttpEndpointConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceRdsHttpEndpointConfigPtrOutput) +} + +type DataSourceRdsHttpEndpointConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceRdsHttpEndpointConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceRdsHttpEndpointConfig)(nil)).Elem() +} + +func (o DataSourceRdsHttpEndpointConfigOutput) ToDataSourceRdsHttpEndpointConfigOutput() DataSourceRdsHttpEndpointConfigOutput { + return o +} + +func (o DataSourceRdsHttpEndpointConfigOutput) ToDataSourceRdsHttpEndpointConfigOutputWithContext(ctx context.Context) DataSourceRdsHttpEndpointConfigOutput { + return o +} + +func (o DataSourceRdsHttpEndpointConfigOutput) ToDataSourceRdsHttpEndpointConfigPtrOutput() DataSourceRdsHttpEndpointConfigPtrOutput { + return o.ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceRdsHttpEndpointConfigOutput) ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(ctx context.Context) DataSourceRdsHttpEndpointConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceRdsHttpEndpointConfig) *DataSourceRdsHttpEndpointConfig { + return &v + }).(DataSourceRdsHttpEndpointConfigPtrOutput) +} + +// AWS Region for RDS HTTP endpoint. +func (o DataSourceRdsHttpEndpointConfigOutput) AwsRegion() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceRdsHttpEndpointConfig) string { return v.AwsRegion }).(pulumi.StringOutput) +} + +// The ARN for database credentials stored in AWS Secrets Manager. +func (o DataSourceRdsHttpEndpointConfigOutput) AwsSecretStoreArn() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceRdsHttpEndpointConfig) string { return v.AwsSecretStoreArn }).(pulumi.StringOutput) +} + +// Logical database name. +func (o DataSourceRdsHttpEndpointConfigOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceRdsHttpEndpointConfig) *string { return v.DatabaseName }).(pulumi.StringPtrOutput) +} + +// Amazon RDS cluster Amazon Resource Name (ARN). +func (o DataSourceRdsHttpEndpointConfigOutput) DbClusterIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceRdsHttpEndpointConfig) string { return v.DbClusterIdentifier }).(pulumi.StringOutput) +} + +// Logical schema name. +func (o DataSourceRdsHttpEndpointConfigOutput) Schema() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceRdsHttpEndpointConfig) *string { return v.Schema }).(pulumi.StringPtrOutput) +} + +type DataSourceRdsHttpEndpointConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceRdsHttpEndpointConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceRdsHttpEndpointConfig)(nil)).Elem() +} + +func (o DataSourceRdsHttpEndpointConfigPtrOutput) ToDataSourceRdsHttpEndpointConfigPtrOutput() DataSourceRdsHttpEndpointConfigPtrOutput { + return o +} + +func (o DataSourceRdsHttpEndpointConfigPtrOutput) ToDataSourceRdsHttpEndpointConfigPtrOutputWithContext(ctx context.Context) DataSourceRdsHttpEndpointConfigPtrOutput { + return o +} + +func (o DataSourceRdsHttpEndpointConfigPtrOutput) Elem() DataSourceRdsHttpEndpointConfigOutput { + return o.ApplyT(func(v *DataSourceRdsHttpEndpointConfig) DataSourceRdsHttpEndpointConfig { + if v != nil { + return *v + } + var ret DataSourceRdsHttpEndpointConfig + return ret + }).(DataSourceRdsHttpEndpointConfigOutput) +} + +// AWS Region for RDS HTTP endpoint. +func (o DataSourceRdsHttpEndpointConfigPtrOutput) AwsRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceRdsHttpEndpointConfig) *string { + if v == nil { + return nil + } + return &v.AwsRegion + }).(pulumi.StringPtrOutput) +} + +// The ARN for database credentials stored in AWS Secrets Manager. +func (o DataSourceRdsHttpEndpointConfigPtrOutput) AwsSecretStoreArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceRdsHttpEndpointConfig) *string { + if v == nil { + return nil + } + return &v.AwsSecretStoreArn + }).(pulumi.StringPtrOutput) +} + +// Logical database name. +func (o DataSourceRdsHttpEndpointConfigPtrOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceRdsHttpEndpointConfig) *string { + if v == nil { + return nil + } + return v.DatabaseName + }).(pulumi.StringPtrOutput) +} + +// Amazon RDS cluster Amazon Resource Name (ARN). +func (o DataSourceRdsHttpEndpointConfigPtrOutput) DbClusterIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceRdsHttpEndpointConfig) *string { + if v == nil { + return nil + } + return &v.DbClusterIdentifier + }).(pulumi.StringPtrOutput) +} + +// Logical schema name. +func (o DataSourceRdsHttpEndpointConfigPtrOutput) Schema() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceRdsHttpEndpointConfig) *string { + if v == nil { + return nil + } + return v.Schema + }).(pulumi.StringPtrOutput) +} + +type DataSourceRelationalDatabaseConfig struct { + // Information about the Amazon RDS resource. + RdsHttpEndpointConfig *DataSourceRdsHttpEndpointConfig `pulumi:"rdsHttpEndpointConfig"` + // The type of relational data source. + RelationalDatabaseSourceType string `pulumi:"relationalDatabaseSourceType"` +} + +// DataSourceRelationalDatabaseConfigInput is an input type that accepts DataSourceRelationalDatabaseConfigArgs and DataSourceRelationalDatabaseConfigOutput values. +// You can construct a concrete instance of `DataSourceRelationalDatabaseConfigInput` via: +// +// DataSourceRelationalDatabaseConfigArgs{...} +type DataSourceRelationalDatabaseConfigInput interface { + pulumi.Input + + ToDataSourceRelationalDatabaseConfigOutput() DataSourceRelationalDatabaseConfigOutput + ToDataSourceRelationalDatabaseConfigOutputWithContext(context.Context) DataSourceRelationalDatabaseConfigOutput +} + +type DataSourceRelationalDatabaseConfigArgs struct { + // Information about the Amazon RDS resource. + RdsHttpEndpointConfig DataSourceRdsHttpEndpointConfigPtrInput `pulumi:"rdsHttpEndpointConfig"` + // The type of relational data source. + RelationalDatabaseSourceType pulumi.StringInput `pulumi:"relationalDatabaseSourceType"` +} + +func (DataSourceRelationalDatabaseConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceRelationalDatabaseConfig)(nil)).Elem() +} + +func (i DataSourceRelationalDatabaseConfigArgs) ToDataSourceRelationalDatabaseConfigOutput() DataSourceRelationalDatabaseConfigOutput { + return i.ToDataSourceRelationalDatabaseConfigOutputWithContext(context.Background()) +} + +func (i DataSourceRelationalDatabaseConfigArgs) ToDataSourceRelationalDatabaseConfigOutputWithContext(ctx context.Context) DataSourceRelationalDatabaseConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceRelationalDatabaseConfigOutput) +} + +func (i DataSourceRelationalDatabaseConfigArgs) ToDataSourceRelationalDatabaseConfigPtrOutput() DataSourceRelationalDatabaseConfigPtrOutput { + return i.ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(context.Background()) +} + +func (i DataSourceRelationalDatabaseConfigArgs) ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(ctx context.Context) DataSourceRelationalDatabaseConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceRelationalDatabaseConfigOutput).ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(ctx) +} + +// DataSourceRelationalDatabaseConfigPtrInput is an input type that accepts DataSourceRelationalDatabaseConfigArgs, DataSourceRelationalDatabaseConfigPtr and DataSourceRelationalDatabaseConfigPtrOutput values. +// You can construct a concrete instance of `DataSourceRelationalDatabaseConfigPtrInput` via: +// +// DataSourceRelationalDatabaseConfigArgs{...} +// +// or: +// +// nil +type DataSourceRelationalDatabaseConfigPtrInput interface { + pulumi.Input + + ToDataSourceRelationalDatabaseConfigPtrOutput() DataSourceRelationalDatabaseConfigPtrOutput + ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(context.Context) DataSourceRelationalDatabaseConfigPtrOutput +} + +type dataSourceRelationalDatabaseConfigPtrType DataSourceRelationalDatabaseConfigArgs + +func DataSourceRelationalDatabaseConfigPtr(v *DataSourceRelationalDatabaseConfigArgs) DataSourceRelationalDatabaseConfigPtrInput { + return (*dataSourceRelationalDatabaseConfigPtrType)(v) +} + +func (*dataSourceRelationalDatabaseConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceRelationalDatabaseConfig)(nil)).Elem() +} + +func (i *dataSourceRelationalDatabaseConfigPtrType) ToDataSourceRelationalDatabaseConfigPtrOutput() DataSourceRelationalDatabaseConfigPtrOutput { + return i.ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceRelationalDatabaseConfigPtrType) ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(ctx context.Context) DataSourceRelationalDatabaseConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceRelationalDatabaseConfigPtrOutput) +} + +type DataSourceRelationalDatabaseConfigOutput struct{ *pulumi.OutputState } + +func (DataSourceRelationalDatabaseConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceRelationalDatabaseConfig)(nil)).Elem() +} + +func (o DataSourceRelationalDatabaseConfigOutput) ToDataSourceRelationalDatabaseConfigOutput() DataSourceRelationalDatabaseConfigOutput { + return o +} + +func (o DataSourceRelationalDatabaseConfigOutput) ToDataSourceRelationalDatabaseConfigOutputWithContext(ctx context.Context) DataSourceRelationalDatabaseConfigOutput { + return o +} + +func (o DataSourceRelationalDatabaseConfigOutput) ToDataSourceRelationalDatabaseConfigPtrOutput() DataSourceRelationalDatabaseConfigPtrOutput { + return o.ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(context.Background()) +} + +func (o DataSourceRelationalDatabaseConfigOutput) ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(ctx context.Context) DataSourceRelationalDatabaseConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceRelationalDatabaseConfig) *DataSourceRelationalDatabaseConfig { + return &v + }).(DataSourceRelationalDatabaseConfigPtrOutput) +} + +// Information about the Amazon RDS resource. +func (o DataSourceRelationalDatabaseConfigOutput) RdsHttpEndpointConfig() DataSourceRdsHttpEndpointConfigPtrOutput { + return o.ApplyT(func(v DataSourceRelationalDatabaseConfig) *DataSourceRdsHttpEndpointConfig { + return v.RdsHttpEndpointConfig + }).(DataSourceRdsHttpEndpointConfigPtrOutput) +} + +// The type of relational data source. +func (o DataSourceRelationalDatabaseConfigOutput) RelationalDatabaseSourceType() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceRelationalDatabaseConfig) string { return v.RelationalDatabaseSourceType }).(pulumi.StringOutput) +} + +type DataSourceRelationalDatabaseConfigPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceRelationalDatabaseConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceRelationalDatabaseConfig)(nil)).Elem() +} + +func (o DataSourceRelationalDatabaseConfigPtrOutput) ToDataSourceRelationalDatabaseConfigPtrOutput() DataSourceRelationalDatabaseConfigPtrOutput { + return o +} + +func (o DataSourceRelationalDatabaseConfigPtrOutput) ToDataSourceRelationalDatabaseConfigPtrOutputWithContext(ctx context.Context) DataSourceRelationalDatabaseConfigPtrOutput { + return o +} + +func (o DataSourceRelationalDatabaseConfigPtrOutput) Elem() DataSourceRelationalDatabaseConfigOutput { + return o.ApplyT(func(v *DataSourceRelationalDatabaseConfig) DataSourceRelationalDatabaseConfig { + if v != nil { + return *v + } + var ret DataSourceRelationalDatabaseConfig + return ret + }).(DataSourceRelationalDatabaseConfigOutput) +} + +// Information about the Amazon RDS resource. +func (o DataSourceRelationalDatabaseConfigPtrOutput) RdsHttpEndpointConfig() DataSourceRdsHttpEndpointConfigPtrOutput { + return o.ApplyT(func(v *DataSourceRelationalDatabaseConfig) *DataSourceRdsHttpEndpointConfig { + if v == nil { + return nil + } + return v.RdsHttpEndpointConfig + }).(DataSourceRdsHttpEndpointConfigPtrOutput) +} + +// The type of relational data source. +func (o DataSourceRelationalDatabaseConfigPtrOutput) RelationalDatabaseSourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceRelationalDatabaseConfig) *string { + if v == nil { + return nil + } + return &v.RelationalDatabaseSourceType + }).(pulumi.StringPtrOutput) +} + // Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. type FunctionConfigurationAppSyncRuntime struct { // The name of the runtime to use. Currently, the only allowed value is APPSYNC_JS. @@ -1450,6 +3263,28 @@ func (o SourceApiAssociationConfigPtrOutput) MergeType() SourceApiAssociationCon } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceAuthorizationConfigInput)(nil)).Elem(), DataSourceAuthorizationConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceAuthorizationConfigPtrInput)(nil)).Elem(), DataSourceAuthorizationConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceAwsIamConfigInput)(nil)).Elem(), DataSourceAwsIamConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceAwsIamConfigPtrInput)(nil)).Elem(), DataSourceAwsIamConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDeltaSyncConfigInput)(nil)).Elem(), DataSourceDeltaSyncConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDeltaSyncConfigPtrInput)(nil)).Elem(), DataSourceDeltaSyncConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDynamoDbConfigInput)(nil)).Elem(), DataSourceDynamoDbConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDynamoDbConfigPtrInput)(nil)).Elem(), DataSourceDynamoDbConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceElasticsearchConfigInput)(nil)).Elem(), DataSourceElasticsearchConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceElasticsearchConfigPtrInput)(nil)).Elem(), DataSourceElasticsearchConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceEventBridgeConfigInput)(nil)).Elem(), DataSourceEventBridgeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceEventBridgeConfigPtrInput)(nil)).Elem(), DataSourceEventBridgeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceHttpConfigInput)(nil)).Elem(), DataSourceHttpConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceHttpConfigPtrInput)(nil)).Elem(), DataSourceHttpConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceLambdaConfigInput)(nil)).Elem(), DataSourceLambdaConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceLambdaConfigPtrInput)(nil)).Elem(), DataSourceLambdaConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceOpenSearchServiceConfigInput)(nil)).Elem(), DataSourceOpenSearchServiceConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceOpenSearchServiceConfigPtrInput)(nil)).Elem(), DataSourceOpenSearchServiceConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceRdsHttpEndpointConfigInput)(nil)).Elem(), DataSourceRdsHttpEndpointConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceRdsHttpEndpointConfigPtrInput)(nil)).Elem(), DataSourceRdsHttpEndpointConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceRelationalDatabaseConfigInput)(nil)).Elem(), DataSourceRelationalDatabaseConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceRelationalDatabaseConfigPtrInput)(nil)).Elem(), DataSourceRelationalDatabaseConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FunctionConfigurationAppSyncRuntimeInput)(nil)).Elem(), FunctionConfigurationAppSyncRuntimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FunctionConfigurationAppSyncRuntimePtrInput)(nil)).Elem(), FunctionConfigurationAppSyncRuntimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FunctionConfigurationLambdaConflictHandlerConfigInput)(nil)).Elem(), FunctionConfigurationLambdaConflictHandlerConfigArgs{}) @@ -1468,6 +3303,28 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ResolverSyncConfigPtrInput)(nil)).Elem(), ResolverSyncConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationConfigInput)(nil)).Elem(), SourceApiAssociationConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SourceApiAssociationConfigPtrInput)(nil)).Elem(), SourceApiAssociationConfigArgs{}) + pulumi.RegisterOutputType(DataSourceAuthorizationConfigOutput{}) + pulumi.RegisterOutputType(DataSourceAuthorizationConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceAwsIamConfigOutput{}) + pulumi.RegisterOutputType(DataSourceAwsIamConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceDeltaSyncConfigOutput{}) + pulumi.RegisterOutputType(DataSourceDeltaSyncConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceDynamoDbConfigOutput{}) + pulumi.RegisterOutputType(DataSourceDynamoDbConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceElasticsearchConfigOutput{}) + pulumi.RegisterOutputType(DataSourceElasticsearchConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceEventBridgeConfigOutput{}) + pulumi.RegisterOutputType(DataSourceEventBridgeConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceHttpConfigOutput{}) + pulumi.RegisterOutputType(DataSourceHttpConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceLambdaConfigOutput{}) + pulumi.RegisterOutputType(DataSourceLambdaConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceOpenSearchServiceConfigOutput{}) + pulumi.RegisterOutputType(DataSourceOpenSearchServiceConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceRdsHttpEndpointConfigOutput{}) + pulumi.RegisterOutputType(DataSourceRdsHttpEndpointConfigPtrOutput{}) + pulumi.RegisterOutputType(DataSourceRelationalDatabaseConfigOutput{}) + pulumi.RegisterOutputType(DataSourceRelationalDatabaseConfigPtrOutput{}) pulumi.RegisterOutputType(FunctionConfigurationAppSyncRuntimeOutput{}) pulumi.RegisterOutputType(FunctionConfigurationAppSyncRuntimePtrOutput{}) pulumi.RegisterOutputType(FunctionConfigurationLambdaConflictHandlerConfigOutput{}) diff --git a/sdk/go/aws/codebuild/fleet.go b/sdk/go/aws/codebuild/fleet.go index ec157ceb92..c791559f89 100644 --- a/sdk/go/aws/codebuild/fleet.go +++ b/sdk/go/aws/codebuild/fleet.go @@ -20,8 +20,6 @@ type Fleet struct { Arn pulumi.StringOutput `pulumi:"arn"` // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity pulumi.IntPtrOutput `pulumi:"baseCapacity"` - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -44,8 +42,6 @@ type Fleet struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType FleetComputeTypePtrOutput `pulumi:"computeType"` - // > Updating this field is not allowed for `MAC_ARM` . - // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -58,12 +54,8 @@ type Fleet struct { EnvironmentType FleetEnvironmentTypePtrOutput `pulumi:"environmentType"` // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole pulumi.StringPtrOutput `pulumi:"fleetServiceRole"` - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig FleetVpcConfigPtrOutput `pulumi:"fleetVpcConfig"` - // > Updating this field is not allowed for `MAC_ARM` . - // // The Amazon Machine Image (AMI) of the compute fleet. ImageId pulumi.StringPtrOutput `pulumi:"imageId"` // The name of the compute fleet. @@ -123,8 +115,6 @@ func (FleetState) ElementType() reflect.Type { type fleetArgs struct { // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity *int `pulumi:"baseCapacity"` - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -147,8 +137,6 @@ type fleetArgs struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType *FleetComputeType `pulumi:"computeType"` - // > Updating this field is not allowed for `MAC_ARM` . - // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -161,12 +149,8 @@ type fleetArgs struct { EnvironmentType *FleetEnvironmentType `pulumi:"environmentType"` // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole *string `pulumi:"fleetServiceRole"` - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig *FleetVpcConfig `pulumi:"fleetVpcConfig"` - // > Updating this field is not allowed for `MAC_ARM` . - // // The Amazon Machine Image (AMI) of the compute fleet. ImageId *string `pulumi:"imageId"` // The name of the compute fleet. @@ -188,8 +172,6 @@ type fleetArgs struct { type FleetArgs struct { // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity pulumi.IntPtrInput - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -212,8 +194,6 @@ type FleetArgs struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType FleetComputeTypePtrInput - // > Updating this field is not allowed for `MAC_ARM` . - // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -226,12 +206,8 @@ type FleetArgs struct { EnvironmentType FleetEnvironmentTypePtrInput // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole pulumi.StringPtrInput - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig FleetVpcConfigPtrInput - // > Updating this field is not allowed for `MAC_ARM` . - // // The Amazon Machine Image (AMI) of the compute fleet. ImageId pulumi.StringPtrInput // The name of the compute fleet. @@ -296,8 +272,6 @@ func (o FleetOutput) BaseCapacity() pulumi.IntPtrOutput { return o.ApplyT(func(v *Fleet) pulumi.IntPtrOutput { return v.BaseCapacity }).(pulumi.IntPtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -323,8 +297,6 @@ func (o FleetOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v *Fleet) FleetComputeTypePtrOutput { return v.ComputeType }).(FleetComputeTypePtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -343,15 +315,11 @@ func (o FleetOutput) FleetServiceRole() pulumi.StringPtrOutput { return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.FleetServiceRole }).(pulumi.StringPtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // Information about the VPC configuration that AWS CodeBuild accesses. func (o FleetOutput) FleetVpcConfig() FleetVpcConfigPtrOutput { return o.ApplyT(func(v *Fleet) FleetVpcConfigPtrOutput { return v.FleetVpcConfig }).(FleetVpcConfigPtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // The Amazon Machine Image (AMI) of the compute fleet. func (o FleetOutput) ImageId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.ImageId }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/codebuild/getFleet.go b/sdk/go/aws/codebuild/getFleet.go index 7377d0554a..8722bde4f5 100644 --- a/sdk/go/aws/codebuild/getFleet.go +++ b/sdk/go/aws/codebuild/getFleet.go @@ -33,8 +33,6 @@ type LookupFleetResult struct { Arn *string `pulumi:"arn"` // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity *int `pulumi:"baseCapacity"` - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -57,8 +55,6 @@ type LookupFleetResult struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType *FleetComputeType `pulumi:"computeType"` - // > Updating this field is not allowed for `MAC_ARM` . - // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -71,12 +67,8 @@ type LookupFleetResult struct { EnvironmentType *FleetEnvironmentType `pulumi:"environmentType"` // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole *string `pulumi:"fleetServiceRole"` - // > Updating this field is not allowed for `MAC_ARM` . - // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig *FleetVpcConfig `pulumi:"fleetVpcConfig"` - // > Updating this field is not allowed for `MAC_ARM` . - // // The Amazon Machine Image (AMI) of the compute fleet. ImageId *string `pulumi:"imageId"` // The name of the compute fleet. @@ -146,8 +138,6 @@ func (o LookupFleetResultOutput) BaseCapacity() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupFleetResult) *int { return v.BaseCapacity }).(pulumi.IntPtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -173,8 +163,6 @@ func (o LookupFleetResultOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v LookupFleetResult) *FleetComputeType { return v.ComputeType }).(FleetComputeTypePtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -193,15 +181,11 @@ func (o LookupFleetResultOutput) FleetServiceRole() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupFleetResult) *string { return v.FleetServiceRole }).(pulumi.StringPtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // Information about the VPC configuration that AWS CodeBuild accesses. func (o LookupFleetResultOutput) FleetVpcConfig() FleetVpcConfigPtrOutput { return o.ApplyT(func(v LookupFleetResult) *FleetVpcConfig { return v.FleetVpcConfig }).(FleetVpcConfigPtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // The Amazon Machine Image (AMI) of the compute fleet. func (o LookupFleetResultOutput) ImageId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupFleetResult) *string { return v.ImageId }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/codebuild/pulumiEnums.go b/sdk/go/aws/codebuild/pulumiEnums.go index 3b4534cb1b..46a50fe5a3 100644 --- a/sdk/go/aws/codebuild/pulumiEnums.go +++ b/sdk/go/aws/codebuild/pulumiEnums.go @@ -10,8 +10,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// > Updating this field is not allowed for `MAC_ARM` . -// // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -204,8 +202,6 @@ func (in *fleetComputeTypePtr) ToFleetComputeTypePtrOutputWithContext(ctx contex return pulumi.ToOutputWithContext(ctx, in).(FleetComputeTypePtrOutput) } -// > Updating this field is not allowed for `MAC_ARM` . -// // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/go/aws/codepipeline/pulumiEnums.go b/sdk/go/aws/codepipeline/pulumiEnums.go index f306bce95f..d5a66622bb 100644 --- a/sdk/go/aws/codepipeline/pulumiEnums.go +++ b/sdk/go/aws/codepipeline/pulumiEnums.go @@ -20,6 +20,7 @@ const ( PipelineActionTypeIdCategoryDeploy = PipelineActionTypeIdCategory("Deploy") PipelineActionTypeIdCategoryInvoke = PipelineActionTypeIdCategory("Invoke") PipelineActionTypeIdCategoryApproval = PipelineActionTypeIdCategory("Approval") + PipelineActionTypeIdCategoryCompute = PipelineActionTypeIdCategory("Compute") ) func (PipelineActionTypeIdCategory) ElementType() reflect.Type { @@ -150,6 +151,7 @@ func (o PipelineActionTypeIdCategoryPtrOutput) ToStringPtrOutputWithContext(ctx // PipelineActionTypeIdCategoryDeploy // PipelineActionTypeIdCategoryInvoke // PipelineActionTypeIdCategoryApproval +// PipelineActionTypeIdCategoryCompute type PipelineActionTypeIdCategoryInput interface { pulumi.Input diff --git a/sdk/go/aws/codepipeline/pulumiTypes.go b/sdk/go/aws/codepipeline/pulumiTypes.go index 54c9b3db18..11cb38a743 100644 --- a/sdk/go/aws/codepipeline/pulumiTypes.go +++ b/sdk/go/aws/codepipeline/pulumiTypes.go @@ -439,6 +439,8 @@ type CustomActionTypeTag struct { type PipelineActionDeclaration struct { // Specifies the action type and the provider of the action. ActionTypeId PipelineActionTypeId `pulumi:"actionTypeId"` + // The shell commands to run with your compute action in CodePipeline. + Commands []string `pulumi:"commands"` // The action's configuration. These are key-value pairs that specify input values for an action. Configuration interface{} `pulumi:"configuration"` // The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . @@ -451,6 +453,8 @@ type PipelineActionDeclaration struct { Namespace *string `pulumi:"namespace"` // The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . OutputArtifacts []PipelineOutputArtifact `pulumi:"outputArtifacts"` + // The list of variables that are to be exported from the compute action. + OutputVariables []string `pulumi:"outputVariables"` // The action declaration's AWS Region, such as us-east-1. Region *string `pulumi:"region"` // The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline. @@ -476,6 +480,8 @@ type PipelineActionDeclarationInput interface { type PipelineActionDeclarationArgs struct { // Specifies the action type and the provider of the action. ActionTypeId PipelineActionTypeIdInput `pulumi:"actionTypeId"` + // The shell commands to run with your compute action in CodePipeline. + Commands pulumi.StringArrayInput `pulumi:"commands"` // The action's configuration. These are key-value pairs that specify input values for an action. Configuration pulumi.Input `pulumi:"configuration"` // The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . @@ -488,6 +494,8 @@ type PipelineActionDeclarationArgs struct { Namespace pulumi.StringPtrInput `pulumi:"namespace"` // The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . OutputArtifacts PipelineOutputArtifactArrayInput `pulumi:"outputArtifacts"` + // The list of variables that are to be exported from the compute action. + OutputVariables pulumi.StringArrayInput `pulumi:"outputVariables"` // The action declaration's AWS Region, such as us-east-1. Region pulumi.StringPtrInput `pulumi:"region"` // The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline. @@ -555,6 +563,11 @@ func (o PipelineActionDeclarationOutput) ActionTypeId() PipelineActionTypeIdOutp return o.ApplyT(func(v PipelineActionDeclaration) PipelineActionTypeId { return v.ActionTypeId }).(PipelineActionTypeIdOutput) } +// The shell commands to run with your compute action in CodePipeline. +func (o PipelineActionDeclarationOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v PipelineActionDeclaration) []string { return v.Commands }).(pulumi.StringArrayOutput) +} + // The action's configuration. These are key-value pairs that specify input values for an action. func (o PipelineActionDeclarationOutput) Configuration() pulumi.AnyOutput { return o.ApplyT(func(v PipelineActionDeclaration) interface{} { return v.Configuration }).(pulumi.AnyOutput) @@ -582,6 +595,11 @@ func (o PipelineActionDeclarationOutput) OutputArtifacts() PipelineOutputArtifac return o.ApplyT(func(v PipelineActionDeclaration) []PipelineOutputArtifact { return v.OutputArtifacts }).(PipelineOutputArtifactArrayOutput) } +// The list of variables that are to be exported from the compute action. +func (o PipelineActionDeclarationOutput) OutputVariables() pulumi.StringArrayOutput { + return o.ApplyT(func(v PipelineActionDeclaration) []string { return v.OutputVariables }).(pulumi.StringArrayOutput) +} + // The action declaration's AWS Region, such as us-east-1. func (o PipelineActionDeclarationOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v PipelineActionDeclaration) *string { return v.Region }).(pulumi.StringPtrOutput) @@ -2666,6 +2684,8 @@ func (o PipelineInputArtifactArrayOutput) Index(i pulumi.IntInput) PipelineInput // Represents information about the output of an action. type PipelineOutputArtifact struct { + // The files that you want to associate with the output artifact that will be exported from the compute action. + Files []string `pulumi:"files"` // The name of the output of an artifact, such as "My App". Name string `pulumi:"name"` } @@ -2683,6 +2703,8 @@ type PipelineOutputArtifactInput interface { // Represents information about the output of an action. type PipelineOutputArtifactArgs struct { + // The files that you want to associate with the output artifact that will be exported from the compute action. + Files pulumi.StringArrayInput `pulumi:"files"` // The name of the output of an artifact, such as "My App". Name pulumi.StringInput `pulumi:"name"` } @@ -2739,6 +2761,11 @@ func (o PipelineOutputArtifactOutput) ToPipelineOutputArtifactOutputWithContext( return o } +// The files that you want to associate with the output artifact that will be exported from the compute action. +func (o PipelineOutputArtifactOutput) Files() pulumi.StringArrayOutput { + return o.ApplyT(func(v PipelineOutputArtifact) []string { return v.Files }).(pulumi.StringArrayOutput) +} + // The name of the output of an artifact, such as "My App". func (o PipelineOutputArtifactOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v PipelineOutputArtifact) string { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/aws/cognito/getUserPool.go b/sdk/go/aws/cognito/getUserPool.go index 33bdbfddf3..bd872170bf 100644 --- a/sdk/go/aws/cognito/getUserPool.go +++ b/sdk/go/aws/cognito/getUserPool.go @@ -28,15 +28,13 @@ type LookupUserPoolArgs struct { } type LookupUserPoolResult struct { - // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + // The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. AccountRecoverySetting *UserPoolAccountRecoverySetting `pulumi:"accountRecoverySetting"` // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig *UserPoolAdminCreateUserConfig `pulumi:"adminCreateUserConfig"` // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - // - // > This user pool property cannot be updated. AliasAttributes []string `pulumi:"aliasAttributes"` // The Amazon Resource Name (ARN) of the user pool, such as `arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_123412341` . Arn *string `pulumi:"arn"` @@ -56,9 +54,9 @@ type LookupUserPoolResult struct { EmailAuthenticationSubject *string `pulumi:"emailAuthenticationSubject"` // The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool. EmailConfiguration *UserPoolEmailConfiguration `pulumi:"emailConfiguration"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationMessage *string `pulumi:"emailVerificationMessage"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationSubject *string `pulumi:"emailVerificationSubject"` // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig *UserPoolLambdaConfig `pulumi:"lambdaConfig"` @@ -72,19 +70,17 @@ type LookupUserPoolResult struct { // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies *UserPoolPolicies `pulumi:"policies"` - // The provider name of the Amazon Cognito user pool, specified as a `String` . + // A friendly name for the IdP. ProviderName *string `pulumi:"providerName"` // The URL of the provider of the Amazon Cognito user pool, specified as a `String` . ProviderUrl *string `pulumi:"providerUrl"` - // The schema attributes for the new user pool. These attributes can be standard or custom attributes. - // - // > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + // An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. Schema []UserPoolSchemaAttribute `pulumi:"schema"` - // A string representing the SMS authentication message. + // The contents of the SMS authentication message. SmsAuthenticationMessage *string `pulumi:"smsAuthenticationMessage"` // The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . SmsConfiguration *UserPoolSmsConfiguration `pulumi:"smsConfiguration"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . SmsVerificationMessage *string `pulumi:"smsVerificationMessage"` // The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For @@ -100,11 +96,11 @@ type LookupUserPoolResult struct { UserPoolName *string `pulumi:"userPoolName"` // The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. UserPoolTags map[string]string `pulumi:"userPoolTags"` - // Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - // - // This user pool property cannot be updated. + // Specifies whether a user can use an email address or phone number as a username when they sign up. UsernameAttributes []string `pulumi:"usernameAttributes"` - // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + // Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + // + // This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . UsernameConfiguration *UserPoolUsernameConfiguration `pulumi:"usernameConfiguration"` // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. // @@ -154,7 +150,7 @@ func (o LookupUserPoolResultOutput) ToLookupUserPoolResultOutputWithContext(ctx return o } -// Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. +// The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. func (o LookupUserPoolResultOutput) AccountRecoverySetting() UserPoolAccountRecoverySettingPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolAccountRecoverySetting { return v.AccountRecoverySetting }).(UserPoolAccountRecoverySettingPtrOutput) } @@ -167,8 +163,6 @@ func (o LookupUserPoolResultOutput) AdminCreateUserConfig() UserPoolAdminCreateU } // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . -// -// > This user pool property cannot be updated. func (o LookupUserPoolResultOutput) AliasAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupUserPoolResult) []string { return v.AliasAttributes }).(pulumi.StringArrayOutput) } @@ -212,12 +206,12 @@ func (o LookupUserPoolResultOutput) EmailConfiguration() UserPoolEmailConfigurat return o.ApplyT(func(v LookupUserPoolResult) *UserPoolEmailConfiguration { return v.EmailConfiguration }).(UserPoolEmailConfigurationPtrOutput) } -// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . +// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . func (o LookupUserPoolResultOutput) EmailVerificationMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *string { return v.EmailVerificationMessage }).(pulumi.StringPtrOutput) } -// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . +// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . func (o LookupUserPoolResultOutput) EmailVerificationSubject() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *string { return v.EmailVerificationSubject }).(pulumi.StringPtrOutput) } @@ -243,7 +237,7 @@ func (o LookupUserPoolResultOutput) Policies() UserPoolPoliciesPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolPolicies { return v.Policies }).(UserPoolPoliciesPtrOutput) } -// The provider name of the Amazon Cognito user pool, specified as a `String` . +// A friendly name for the IdP. func (o LookupUserPoolResultOutput) ProviderName() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *string { return v.ProviderName }).(pulumi.StringPtrOutput) } @@ -253,14 +247,12 @@ func (o LookupUserPoolResultOutput) ProviderUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *string { return v.ProviderUrl }).(pulumi.StringPtrOutput) } -// The schema attributes for the new user pool. These attributes can be standard or custom attributes. -// -// > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. +// An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. func (o LookupUserPoolResultOutput) Schema() UserPoolSchemaAttributeArrayOutput { return o.ApplyT(func(v LookupUserPoolResult) []UserPoolSchemaAttribute { return v.Schema }).(UserPoolSchemaAttributeArrayOutput) } -// A string representing the SMS authentication message. +// The contents of the SMS authentication message. func (o LookupUserPoolResultOutput) SmsAuthenticationMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *string { return v.SmsAuthenticationMessage }).(pulumi.StringPtrOutput) } @@ -270,7 +262,7 @@ func (o LookupUserPoolResultOutput) SmsConfiguration() UserPoolSmsConfigurationP return o.ApplyT(func(v LookupUserPoolResult) *UserPoolSmsConfiguration { return v.SmsConfiguration }).(UserPoolSmsConfigurationPtrOutput) } -// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . +// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . func (o LookupUserPoolResultOutput) SmsVerificationMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *string { return v.SmsVerificationMessage }).(pulumi.StringPtrOutput) } @@ -306,14 +298,14 @@ func (o LookupUserPoolResultOutput) UserPoolTags() pulumi.StringMapOutput { return o.ApplyT(func(v LookupUserPoolResult) map[string]string { return v.UserPoolTags }).(pulumi.StringMapOutput) } -// Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . -// -// This user pool property cannot be updated. +// Specifies whether a user can use an email address or phone number as a username when they sign up. func (o LookupUserPoolResultOutput) UsernameAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupUserPoolResult) []string { return v.UsernameAttributes }).(pulumi.StringArrayOutput) } -// You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. +// Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. +// +// This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . func (o LookupUserPoolResultOutput) UsernameConfiguration() UserPoolUsernameConfigurationPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolUsernameConfiguration { return v.UsernameConfiguration }).(UserPoolUsernameConfigurationPtrOutput) } diff --git a/sdk/go/aws/cognito/getUserPoolClient.go b/sdk/go/aws/cognito/getUserPoolClient.go index d79b0f6cd1..a968675193 100644 --- a/sdk/go/aws/cognito/getUserPoolClient.go +++ b/sdk/go/aws/cognito/getUserPoolClient.go @@ -32,9 +32,13 @@ type LookupUserPoolClientArgs struct { type LookupUserPoolClientResult struct { // The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + // their access token for 10 hours. // - // The default time unit for `AccessTokenValidity` in an API request is hours. + // The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your access + // tokens are valid for one hour. AccessTokenValidity *int `pulumi:"accessTokenValidity"` // The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow. // @@ -119,12 +123,22 @@ type LookupUserPoolClientResult struct { // // For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. // - // The default time unit for `IdTokenValidity` in an API request is hours. + // The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your ID + // tokens are valid for one hour. IdTokenValidity *int `pulumi:"idTokenValidity"` // A list of allowed logout URLs for the IdPs. LogoutUrls []string `pulumi:"logoutUrls"` Name *string `pulumi:"name"` - // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + // Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + // + // Valid values include: + // + // - `ENABLED` - This prevents user existence-related errors. + // - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + // + // Defaults to `LEGACY` when you don't provide a value. PreventUserExistenceErrors *string `pulumi:"preventUserExistenceErrors"` // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // @@ -132,9 +146,13 @@ type LookupUserPoolClientResult struct { ReadAttributes []string `pulumi:"readAttributes"` // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + // and retrieve new access and ID tokens for 10 days. + // + // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. // - // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + // If you don't specify otherwise in the configuration of your app client, your refresh + // tokens are valid for 30 days. RefreshTokenValidity *int `pulumi:"refreshTokenValidity"` // A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` . SupportedIdentityProviders []string `pulumi:"supportedIdentityProviders"` @@ -194,9 +212,13 @@ func (o LookupUserPoolClientResultOutput) ToLookupUserPoolClientResultOutputWith // The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // -// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. +// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with +// their access token for 10 hours. // -// The default time unit for `AccessTokenValidity` in an API request is hours. +// The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. +// +// If you don't specify otherwise in the configuration of your app client, your access +// tokens are valid for one hour. func (o LookupUserPoolClientResultOutput) AccessTokenValidity() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupUserPoolClientResult) *int { return v.AccessTokenValidity }).(pulumi.IntPtrOutput) } @@ -325,7 +347,10 @@ func (o LookupUserPoolClientResultOutput) ExplicitAuthFlows() pulumi.StringArray // // For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. // -// The default time unit for `IdTokenValidity` in an API request is hours. +// The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. +// +// If you don't specify otherwise in the configuration of your app client, your ID +// tokens are valid for one hour. func (o LookupUserPoolClientResultOutput) IdTokenValidity() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupUserPoolClientResult) *int { return v.IdTokenValidity }).(pulumi.IntPtrOutput) } @@ -339,7 +364,14 @@ func (o LookupUserPoolClientResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolClientResult) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. +// Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. +// +// Valid values include: +// +// - `ENABLED` - This prevents user existence-related errors. +// - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. +// +// Defaults to `LEGACY` when you don't provide a value. func (o LookupUserPoolClientResultOutput) PreventUserExistenceErrors() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolClientResult) *string { return v.PreventUserExistenceErrors }).(pulumi.StringPtrOutput) } @@ -353,9 +385,13 @@ func (o LookupUserPoolClientResultOutput) ReadAttributes() pulumi.StringArrayOut // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // -// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. +// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session +// and retrieve new access and ID tokens for 10 days. +// +// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. // -// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. +// If you don't specify otherwise in the configuration of your app client, your refresh +// tokens are valid for 30 days. func (o LookupUserPoolClientResultOutput) RefreshTokenValidity() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupUserPoolClientResult) *int { return v.RefreshTokenValidity }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/cognito/getUserPoolResourceServer.go b/sdk/go/aws/cognito/getUserPoolResourceServer.go index 3148e18904..625d596ce0 100644 --- a/sdk/go/aws/cognito/getUserPoolResourceServer.go +++ b/sdk/go/aws/cognito/getUserPoolResourceServer.go @@ -23,7 +23,9 @@ func LookupUserPoolResourceServer(ctx *pulumi.Context, args *LookupUserPoolResou } type LookupUserPoolResourceServerArgs struct { - // A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + // A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + // + // Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. Identifier string `pulumi:"identifier"` // The user pool ID for the user pool. UserPoolId string `pulumi:"userPoolId"` @@ -56,7 +58,9 @@ func LookupUserPoolResourceServerOutput(ctx *pulumi.Context, args LookupUserPool } type LookupUserPoolResourceServerOutputArgs struct { - // A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + // A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + // + // Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. Identifier pulumi.StringInput `pulumi:"identifier"` // The user pool ID for the user pool. UserPoolId pulumi.StringInput `pulumi:"userPoolId"` diff --git a/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go b/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go index 91b1d068d5..566bb5b625 100644 --- a/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go +++ b/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go @@ -23,7 +23,7 @@ func LookupUserPoolRiskConfigurationAttachment(ctx *pulumi.Context, args *Lookup } type LookupUserPoolRiskConfigurationAttachmentArgs struct { - // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + // The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. ClientId string `pulumi:"clientId"` // The ID of the user pool that has the risk configuration applied. UserPoolId string `pulumi:"userPoolId"` @@ -58,7 +58,7 @@ func LookupUserPoolRiskConfigurationAttachmentOutput(ctx *pulumi.Context, args L } type LookupUserPoolRiskConfigurationAttachmentOutputArgs struct { - // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + // The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. ClientId pulumi.StringInput `pulumi:"clientId"` // The ID of the user pool that has the risk configuration applied. UserPoolId pulumi.StringInput `pulumi:"userPoolId"` diff --git a/sdk/go/aws/cognito/getUserPoolUiCustomizationAttachment.go b/sdk/go/aws/cognito/getUserPoolUiCustomizationAttachment.go index 82260678d0..ce1f906e42 100644 --- a/sdk/go/aws/cognito/getUserPoolUiCustomizationAttachment.go +++ b/sdk/go/aws/cognito/getUserPoolUiCustomizationAttachment.go @@ -23,7 +23,7 @@ func LookupUserPoolUiCustomizationAttachment(ctx *pulumi.Context, args *LookupUs } type LookupUserPoolUiCustomizationAttachmentArgs struct { - // The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + // The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. ClientId string `pulumi:"clientId"` // The user pool ID for the user pool. UserPoolId string `pulumi:"userPoolId"` @@ -54,7 +54,7 @@ func LookupUserPoolUiCustomizationAttachmentOutput(ctx *pulumi.Context, args Loo } type LookupUserPoolUiCustomizationAttachmentOutputArgs struct { - // The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + // The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. ClientId pulumi.StringInput `pulumi:"clientId"` // The user pool ID for the user pool. UserPoolId pulumi.StringInput `pulumi:"userPoolId"` diff --git a/sdk/go/aws/cognito/pulumiTypes.go b/sdk/go/aws/cognito/pulumiTypes.go index 6802111e71..a9c81268c5 100644 --- a/sdk/go/aws/cognito/pulumiTypes.go +++ b/sdk/go/aws/cognito/pulumiTypes.go @@ -1364,7 +1364,7 @@ func (o LogDeliveryConfigurationS3ConfigurationPtrOutput) BucketArn() pulumi.Str } type UserPoolAccountRecoverySetting struct { - // The list of `RecoveryOptionTypes` . + // The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. RecoveryMechanisms []UserPoolRecoveryOption `pulumi:"recoveryMechanisms"` } @@ -1380,7 +1380,7 @@ type UserPoolAccountRecoverySettingInput interface { } type UserPoolAccountRecoverySettingArgs struct { - // The list of `RecoveryOptionTypes` . + // The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. RecoveryMechanisms UserPoolRecoveryOptionArrayInput `pulumi:"recoveryMechanisms"` } @@ -1461,7 +1461,7 @@ func (o UserPoolAccountRecoverySettingOutput) ToUserPoolAccountRecoverySettingPt }).(UserPoolAccountRecoverySettingPtrOutput) } -// The list of `RecoveryOptionTypes` . +// The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. func (o UserPoolAccountRecoverySettingOutput) RecoveryMechanisms() UserPoolRecoveryOptionArrayOutput { return o.ApplyT(func(v UserPoolAccountRecoverySetting) []UserPoolRecoveryOption { return v.RecoveryMechanisms }).(UserPoolRecoveryOptionArrayOutput) } @@ -1490,7 +1490,7 @@ func (o UserPoolAccountRecoverySettingPtrOutput) Elem() UserPoolAccountRecoveryS }).(UserPoolAccountRecoverySettingOutput) } -// The list of `RecoveryOptionTypes` . +// The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. func (o UserPoolAccountRecoverySettingPtrOutput) RecoveryMechanisms() UserPoolRecoveryOptionArrayOutput { return o.ApplyT(func(v *UserPoolAccountRecoverySetting) []UserPoolRecoveryOption { if v == nil { @@ -1657,7 +1657,7 @@ func (o UserPoolAddOnsPtrOutput) AdvancedSecurityMode() pulumi.StringPtrOutput { type UserPoolAdminCreateUserConfig struct { // The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. AllowAdminCreateUserOnly *bool `pulumi:"allowAdminCreateUserOnly"` - // The message template to be used for the welcome message to new users. + // The template for the welcome message to new users. // // See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . InviteMessageTemplate *UserPoolInviteMessageTemplate `pulumi:"inviteMessageTemplate"` @@ -1683,7 +1683,7 @@ type UserPoolAdminCreateUserConfigInput interface { type UserPoolAdminCreateUserConfigArgs struct { // The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. AllowAdminCreateUserOnly pulumi.BoolPtrInput `pulumi:"allowAdminCreateUserOnly"` - // The message template to be used for the welcome message to new users. + // The template for the welcome message to new users. // // See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . InviteMessageTemplate UserPoolInviteMessageTemplatePtrInput `pulumi:"inviteMessageTemplate"` @@ -1777,7 +1777,7 @@ func (o UserPoolAdminCreateUserConfigOutput) AllowAdminCreateUserOnly() pulumi.B return o.ApplyT(func(v UserPoolAdminCreateUserConfig) *bool { return v.AllowAdminCreateUserOnly }).(pulumi.BoolPtrOutput) } -// The message template to be used for the welcome message to new users. +// The template for the welcome message to new users. // // See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . func (o UserPoolAdminCreateUserConfigOutput) InviteMessageTemplate() UserPoolInviteMessageTemplatePtrOutput { @@ -1827,7 +1827,7 @@ func (o UserPoolAdminCreateUserConfigPtrOutput) AllowAdminCreateUserOnly() pulum }).(pulumi.BoolPtrOutput) } -// The message template to be used for the welcome message to new users. +// The template for the welcome message to new users. // // See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . func (o UserPoolAdminCreateUserConfigPtrOutput) InviteMessageTemplate() UserPoolInviteMessageTemplatePtrOutput { @@ -1987,7 +1987,7 @@ func (o UserPoolAdvancedSecurityAdditionalFlowsPtrOutput) CustomAuthMode() pulum } type UserPoolClientAnalyticsConfiguration struct { - // The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + // The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications ApplicationArn *string `pulumi:"applicationArn"` // Your Amazon Pinpoint project ID. ApplicationId *string `pulumi:"applicationId"` @@ -2011,7 +2011,7 @@ type UserPoolClientAnalyticsConfigurationInput interface { } type UserPoolClientAnalyticsConfigurationArgs struct { - // The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + // The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications ApplicationArn pulumi.StringPtrInput `pulumi:"applicationArn"` // Your Amazon Pinpoint project ID. ApplicationId pulumi.StringPtrInput `pulumi:"applicationId"` @@ -2100,7 +2100,7 @@ func (o UserPoolClientAnalyticsConfigurationOutput) ToUserPoolClientAnalyticsCon }).(UserPoolClientAnalyticsConfigurationPtrOutput) } -// The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. +// The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications func (o UserPoolClientAnalyticsConfigurationOutput) ApplicationArn() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolClientAnalyticsConfiguration) *string { return v.ApplicationArn }).(pulumi.StringPtrOutput) } @@ -2149,7 +2149,7 @@ func (o UserPoolClientAnalyticsConfigurationPtrOutput) Elem() UserPoolClientAnal }).(UserPoolClientAnalyticsConfigurationOutput) } -// The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. +// The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications func (o UserPoolClientAnalyticsConfigurationPtrOutput) ApplicationArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClientAnalyticsConfiguration) *string { if v == nil { @@ -2375,9 +2375,11 @@ func (o UserPoolClientTokenValidityUnitsPtrOutput) RefreshToken() pulumi.StringP } type UserPoolCustomEmailSender struct { - // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + // The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. LambdaArn *string `pulumi:"lambdaArn"` - // The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + // The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + // + // You must use a `LambdaVersion` of `V1_0` with a custom sender function. LambdaVersion *string `pulumi:"lambdaVersion"` } @@ -2393,9 +2395,11 @@ type UserPoolCustomEmailSenderInput interface { } type UserPoolCustomEmailSenderArgs struct { - // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + // The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. LambdaArn pulumi.StringPtrInput `pulumi:"lambdaArn"` - // The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + // The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + // + // You must use a `LambdaVersion` of `V1_0` with a custom sender function. LambdaVersion pulumi.StringPtrInput `pulumi:"lambdaVersion"` } @@ -2476,12 +2480,14 @@ func (o UserPoolCustomEmailSenderOutput) ToUserPoolCustomEmailSenderPtrOutputWit }).(UserPoolCustomEmailSenderPtrOutput) } -// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. +// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. func (o UserPoolCustomEmailSenderOutput) LambdaArn() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolCustomEmailSender) *string { return v.LambdaArn }).(pulumi.StringPtrOutput) } -// The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . +// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. +// +// You must use a `LambdaVersion` of `V1_0` with a custom sender function. func (o UserPoolCustomEmailSenderOutput) LambdaVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolCustomEmailSender) *string { return v.LambdaVersion }).(pulumi.StringPtrOutput) } @@ -2510,7 +2516,7 @@ func (o UserPoolCustomEmailSenderPtrOutput) Elem() UserPoolCustomEmailSenderOutp }).(UserPoolCustomEmailSenderOutput) } -// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. +// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. func (o UserPoolCustomEmailSenderPtrOutput) LambdaArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolCustomEmailSender) *string { if v == nil { @@ -2520,7 +2526,9 @@ func (o UserPoolCustomEmailSenderPtrOutput) LambdaArn() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . +// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. +// +// You must use a `LambdaVersion` of `V1_0` with a custom sender function. func (o UserPoolCustomEmailSenderPtrOutput) LambdaVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolCustomEmailSender) *string { if v == nil { @@ -2531,9 +2539,11 @@ func (o UserPoolCustomEmailSenderPtrOutput) LambdaVersion() pulumi.StringPtrOutp } type UserPoolCustomSmsSender struct { - // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + // The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. LambdaArn *string `pulumi:"lambdaArn"` - // The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + // The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + // + // You must use a `LambdaVersion` of `V1_0` with a custom sender function. LambdaVersion *string `pulumi:"lambdaVersion"` } @@ -2549,9 +2559,11 @@ type UserPoolCustomSmsSenderInput interface { } type UserPoolCustomSmsSenderArgs struct { - // The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + // The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. LambdaArn pulumi.StringPtrInput `pulumi:"lambdaArn"` - // The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + // The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + // + // You must use a `LambdaVersion` of `V1_0` with a custom sender function. LambdaVersion pulumi.StringPtrInput `pulumi:"lambdaVersion"` } @@ -2632,12 +2644,14 @@ func (o UserPoolCustomSmsSenderOutput) ToUserPoolCustomSmsSenderPtrOutputWithCon }).(UserPoolCustomSmsSenderPtrOutput) } -// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. +// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. func (o UserPoolCustomSmsSenderOutput) LambdaArn() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolCustomSmsSender) *string { return v.LambdaArn }).(pulumi.StringPtrOutput) } -// The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . +// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. +// +// You must use a `LambdaVersion` of `V1_0` with a custom sender function. func (o UserPoolCustomSmsSenderOutput) LambdaVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolCustomSmsSender) *string { return v.LambdaVersion }).(pulumi.StringPtrOutput) } @@ -2666,7 +2680,7 @@ func (o UserPoolCustomSmsSenderPtrOutput) Elem() UserPoolCustomSmsSenderOutput { }).(UserPoolCustomSmsSenderOutput) } -// The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. +// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. func (o UserPoolCustomSmsSenderPtrOutput) LambdaArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolCustomSmsSender) *string { if v == nil { @@ -2676,7 +2690,9 @@ func (o UserPoolCustomSmsSenderPtrOutput) LambdaArn() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . +// The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. +// +// You must use a `LambdaVersion` of `V1_0` with a custom sender function. func (o UserPoolCustomSmsSenderPtrOutput) LambdaVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolCustomSmsSender) *string { if v == nil { @@ -2996,10 +3012,10 @@ func (o UserPoolDomainCustomDomainConfigTypePtrOutput) CertificateArn() pulumi.S } type UserPoolEmailConfiguration struct { - // The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + // The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: // - // - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - // - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + // - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + // - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. ConfigurationSet *string `pulumi:"configurationSet"` // Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values: // @@ -3014,7 +3030,7 @@ type UserPoolEmailConfiguration struct { // // Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* . EmailSendingAccount *string `pulumi:"emailSendingAccount"` - // Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + // Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. From *string `pulumi:"from"` // The destination to which the receiver of the email should reply. ReplyToEmailAddress *string `pulumi:"replyToEmailAddress"` @@ -3039,10 +3055,10 @@ type UserPoolEmailConfigurationInput interface { } type UserPoolEmailConfigurationArgs struct { - // The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + // The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: // - // - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - // - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + // - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + // - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. ConfigurationSet pulumi.StringPtrInput `pulumi:"configurationSet"` // Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values: // @@ -3057,7 +3073,7 @@ type UserPoolEmailConfigurationArgs struct { // // Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* . EmailSendingAccount pulumi.StringPtrInput `pulumi:"emailSendingAccount"` - // Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + // Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. From pulumi.StringPtrInput `pulumi:"from"` // The destination to which the receiver of the email should reply. ReplyToEmailAddress pulumi.StringPtrInput `pulumi:"replyToEmailAddress"` @@ -3147,10 +3163,10 @@ func (o UserPoolEmailConfigurationOutput) ToUserPoolEmailConfigurationPtrOutputW }).(UserPoolEmailConfigurationPtrOutput) } -// The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: +// The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: // -// - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. -// - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. +// - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch +// - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. func (o UserPoolEmailConfigurationOutput) ConfigurationSet() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolEmailConfiguration) *string { return v.ConfigurationSet }).(pulumi.StringPtrOutput) } @@ -3171,7 +3187,7 @@ func (o UserPoolEmailConfigurationOutput) EmailSendingAccount() pulumi.StringPtr return o.ApplyT(func(v UserPoolEmailConfiguration) *string { return v.EmailSendingAccount }).(pulumi.StringPtrOutput) } -// Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. +// Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. func (o UserPoolEmailConfigurationOutput) From() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolEmailConfiguration) *string { return v.From }).(pulumi.StringPtrOutput) } @@ -3215,10 +3231,10 @@ func (o UserPoolEmailConfigurationPtrOutput) Elem() UserPoolEmailConfigurationOu }).(UserPoolEmailConfigurationOutput) } -// The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: +// The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: // -// - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. -// - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. +// - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch +// - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. func (o UserPoolEmailConfigurationPtrOutput) ConfigurationSet() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolEmailConfiguration) *string { if v == nil { @@ -3249,7 +3265,7 @@ func (o UserPoolEmailConfigurationPtrOutput) EmailSendingAccount() pulumi.String }).(pulumi.StringPtrOutput) } -// Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. +// Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. func (o UserPoolEmailConfigurationPtrOutput) From() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolEmailConfiguration) *string { if v == nil { @@ -3462,15 +3478,15 @@ func (o UserPoolInviteMessageTemplatePtrOutput) SmsMessage() pulumi.StringPtrOut type UserPoolLambdaConfig struct { // The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . CreateAuthChallenge *string `pulumi:"createAuthChallenge"` - // A custom email sender AWS Lambda trigger. + // The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. CustomEmailSender *UserPoolCustomEmailSender `pulumi:"customEmailSender"` // A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. CustomMessage *string `pulumi:"customMessage"` - // A custom SMS sender AWS Lambda trigger. + // The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. CustomSmsSender *UserPoolCustomSmsSender `pulumi:"customSmsSender"` // The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . DefineAuthChallenge *string `pulumi:"defineAuthChallenge"` - // The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + // The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. KmsKeyId *string `pulumi:"kmsKeyId"` // The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. PostAuthentication *string `pulumi:"postAuthentication"` @@ -3506,15 +3522,15 @@ type UserPoolLambdaConfigInput interface { type UserPoolLambdaConfigArgs struct { // The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . CreateAuthChallenge pulumi.StringPtrInput `pulumi:"createAuthChallenge"` - // A custom email sender AWS Lambda trigger. + // The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. CustomEmailSender UserPoolCustomEmailSenderPtrInput `pulumi:"customEmailSender"` // A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. CustomMessage pulumi.StringPtrInput `pulumi:"customMessage"` - // A custom SMS sender AWS Lambda trigger. + // The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. CustomSmsSender UserPoolCustomSmsSenderPtrInput `pulumi:"customSmsSender"` // The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . DefineAuthChallenge pulumi.StringPtrInput `pulumi:"defineAuthChallenge"` - // The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + // The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` // The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. PostAuthentication pulumi.StringPtrInput `pulumi:"postAuthentication"` @@ -3618,7 +3634,7 @@ func (o UserPoolLambdaConfigOutput) CreateAuthChallenge() pulumi.StringPtrOutput return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.CreateAuthChallenge }).(pulumi.StringPtrOutput) } -// A custom email sender AWS Lambda trigger. +// The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. func (o UserPoolLambdaConfigOutput) CustomEmailSender() UserPoolCustomEmailSenderPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *UserPoolCustomEmailSender { return v.CustomEmailSender }).(UserPoolCustomEmailSenderPtrOutput) } @@ -3628,7 +3644,7 @@ func (o UserPoolLambdaConfigOutput) CustomMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.CustomMessage }).(pulumi.StringPtrOutput) } -// A custom SMS sender AWS Lambda trigger. +// The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. func (o UserPoolLambdaConfigOutput) CustomSmsSender() UserPoolCustomSmsSenderPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *UserPoolCustomSmsSender { return v.CustomSmsSender }).(UserPoolCustomSmsSenderPtrOutput) } @@ -3638,7 +3654,7 @@ func (o UserPoolLambdaConfigOutput) DefineAuthChallenge() pulumi.StringPtrOutput return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.DefineAuthChallenge }).(pulumi.StringPtrOutput) } -// The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . +// The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. func (o UserPoolLambdaConfigOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) } @@ -3719,7 +3735,7 @@ func (o UserPoolLambdaConfigPtrOutput) CreateAuthChallenge() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } -// A custom email sender AWS Lambda trigger. +// The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. func (o UserPoolLambdaConfigPtrOutput) CustomEmailSender() UserPoolCustomEmailSenderPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *UserPoolCustomEmailSender { if v == nil { @@ -3739,7 +3755,7 @@ func (o UserPoolLambdaConfigPtrOutput) CustomMessage() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// A custom SMS sender AWS Lambda trigger. +// The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. func (o UserPoolLambdaConfigPtrOutput) CustomSmsSender() UserPoolCustomSmsSenderPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *UserPoolCustomSmsSender { if v == nil { @@ -3759,7 +3775,7 @@ func (o UserPoolLambdaConfigPtrOutput) DefineAuthChallenge() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } -// The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . +// The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. func (o UserPoolLambdaConfigPtrOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -4576,9 +4592,9 @@ func (o UserPoolPreTokenGenerationConfigPtrOutput) LambdaVersion() pulumi.String } type UserPoolRecoveryOption struct { - // Specifies the recovery method for a user. + // The recovery method that this object sets a recovery option for. Name *string `pulumi:"name"` - // A positive integer specifying priority of a method with 1 being the highest priority. + // Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . Priority *int `pulumi:"priority"` } @@ -4594,9 +4610,9 @@ type UserPoolRecoveryOptionInput interface { } type UserPoolRecoveryOptionArgs struct { - // Specifies the recovery method for a user. + // The recovery method that this object sets a recovery option for. Name pulumi.StringPtrInput `pulumi:"name"` - // A positive integer specifying priority of a method with 1 being the highest priority. + // Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . Priority pulumi.IntPtrInput `pulumi:"priority"` } @@ -4651,12 +4667,12 @@ func (o UserPoolRecoveryOptionOutput) ToUserPoolRecoveryOptionOutputWithContext( return o } -// Specifies the recovery method for a user. +// The recovery method that this object sets a recovery option for. func (o UserPoolRecoveryOptionOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolRecoveryOption) *string { return v.Name }).(pulumi.StringPtrOutput) } -// A positive integer specifying priority of a method with 1 being the highest priority. +// Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . func (o UserPoolRecoveryOptionOutput) Priority() pulumi.IntPtrOutput { return o.ApplyT(func(v UserPoolRecoveryOption) *int { return v.Priority }).(pulumi.IntPtrOutput) } @@ -6179,9 +6195,9 @@ func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutp type UserPoolSchemaAttribute struct { // The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `"custom:isMember" : "true"` or `"custom:YearsAsMember" : "12"` . AttributeDataType *string `pulumi:"attributeDataType"` - // > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + // > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . // - // Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + // Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. DeveloperOnlyAttribute *bool `pulumi:"developerOnlyAttribute"` // Specifies whether the value of the attribute can be changed. // @@ -6211,9 +6227,9 @@ type UserPoolSchemaAttributeInput interface { type UserPoolSchemaAttributeArgs struct { // The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `"custom:isMember" : "true"` or `"custom:YearsAsMember" : "12"` . AttributeDataType pulumi.StringPtrInput `pulumi:"attributeDataType"` - // > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + // > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . // - // Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + // Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. DeveloperOnlyAttribute pulumi.BoolPtrInput `pulumi:"developerOnlyAttribute"` // Specifies whether the value of the attribute can be changed. // @@ -6285,9 +6301,9 @@ func (o UserPoolSchemaAttributeOutput) AttributeDataType() pulumi.StringPtrOutpu return o.ApplyT(func(v UserPoolSchemaAttribute) *string { return v.AttributeDataType }).(pulumi.StringPtrOutput) } -// > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . +// > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . // -// Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. +// Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. func (o UserPoolSchemaAttributeOutput) DeveloperOnlyAttribute() pulumi.BoolPtrOutput { return o.ApplyT(func(v UserPoolSchemaAttribute) *bool { return v.DeveloperOnlyAttribute }).(pulumi.BoolPtrOutput) } @@ -6344,7 +6360,9 @@ func (o UserPoolSchemaAttributeArrayOutput) Index(i pulumi.IntInput) UserPoolSch } type UserPoolSmsConfiguration struct { - // The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + // The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + // + // For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . ExternalId *string `pulumi:"externalId"` // The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) . SnsCallerArn *string `pulumi:"snsCallerArn"` @@ -6366,7 +6384,9 @@ type UserPoolSmsConfigurationInput interface { } type UserPoolSmsConfigurationArgs struct { - // The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + // The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + // + // For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . ExternalId pulumi.StringPtrInput `pulumi:"externalId"` // The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) . SnsCallerArn pulumi.StringPtrInput `pulumi:"snsCallerArn"` @@ -6453,7 +6473,9 @@ func (o UserPoolSmsConfigurationOutput) ToUserPoolSmsConfigurationPtrOutputWithC }).(UserPoolSmsConfigurationPtrOutput) } -// The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . +// The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . +// +// For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . func (o UserPoolSmsConfigurationOutput) ExternalId() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolSmsConfiguration) *string { return v.ExternalId }).(pulumi.StringPtrOutput) } @@ -6494,7 +6516,9 @@ func (o UserPoolSmsConfigurationPtrOutput) Elem() UserPoolSmsConfigurationOutput }).(UserPoolSmsConfigurationOutput) } -// The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . +// The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . +// +// For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . func (o UserPoolSmsConfigurationPtrOutput) ExternalId() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolSmsConfiguration) *string { if v == nil { diff --git a/sdk/go/aws/cognito/userPool.go b/sdk/go/aws/cognito/userPool.go index a10e635367..18b627a42e 100644 --- a/sdk/go/aws/cognito/userPool.go +++ b/sdk/go/aws/cognito/userPool.go @@ -15,15 +15,13 @@ import ( type UserPool struct { pulumi.CustomResourceState - // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + // The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. AccountRecoverySetting UserPoolAccountRecoverySettingPtrOutput `pulumi:"accountRecoverySetting"` // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig UserPoolAdminCreateUserConfigPtrOutput `pulumi:"adminCreateUserConfig"` // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - // - // > This user pool property cannot be updated. AliasAttributes pulumi.StringArrayOutput `pulumi:"aliasAttributes"` // The Amazon Resource Name (ARN) of the user pool, such as `arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_123412341` . Arn pulumi.StringOutput `pulumi:"arn"` @@ -43,16 +41,17 @@ type UserPool struct { EmailAuthenticationSubject pulumi.StringPtrOutput `pulumi:"emailAuthenticationSubject"` // The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool. EmailConfiguration UserPoolEmailConfigurationPtrOutput `pulumi:"emailConfiguration"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationMessage pulumi.StringPtrOutput `pulumi:"emailVerificationMessage"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationSubject pulumi.StringPtrOutput `pulumi:"emailVerificationSubject"` - // Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + // Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: // - // - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + // - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . // - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + // - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . // - // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` EnabledMfas pulumi.StringArrayOutput `pulumi:"enabledMfas"` // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig UserPoolLambdaConfigPtrOutput `pulumi:"lambdaConfig"` @@ -66,19 +65,17 @@ type UserPool struct { // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies UserPoolPoliciesPtrOutput `pulumi:"policies"` - // The provider name of the Amazon Cognito user pool, specified as a `String` . + // A friendly name for the IdP. ProviderName pulumi.StringOutput `pulumi:"providerName"` // The URL of the provider of the Amazon Cognito user pool, specified as a `String` . ProviderUrl pulumi.StringOutput `pulumi:"providerUrl"` - // The schema attributes for the new user pool. These attributes can be standard or custom attributes. - // - // > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + // An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. Schema UserPoolSchemaAttributeArrayOutput `pulumi:"schema"` - // A string representing the SMS authentication message. + // The contents of the SMS authentication message. SmsAuthenticationMessage pulumi.StringPtrOutput `pulumi:"smsAuthenticationMessage"` // The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . SmsConfiguration UserPoolSmsConfigurationPtrOutput `pulumi:"smsConfiguration"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . SmsVerificationMessage pulumi.StringPtrOutput `pulumi:"smsVerificationMessage"` // The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For @@ -94,11 +91,11 @@ type UserPool struct { UserPoolName pulumi.StringPtrOutput `pulumi:"userPoolName"` // The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. UserPoolTags pulumi.StringMapOutput `pulumi:"userPoolTags"` - // Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - // - // This user pool property cannot be updated. + // Specifies whether a user can use an email address or phone number as a username when they sign up. UsernameAttributes pulumi.StringArrayOutput `pulumi:"usernameAttributes"` - // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + // Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + // + // This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . UsernameConfiguration UserPoolUsernameConfigurationPtrOutput `pulumi:"usernameConfiguration"` // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. // @@ -146,15 +143,13 @@ func (UserPoolState) ElementType() reflect.Type { } type userPoolArgs struct { - // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + // The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. AccountRecoverySetting *UserPoolAccountRecoverySetting `pulumi:"accountRecoverySetting"` // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig *UserPoolAdminCreateUserConfig `pulumi:"adminCreateUserConfig"` // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - // - // > This user pool property cannot be updated. AliasAttributes []string `pulumi:"aliasAttributes"` // The attributes to be auto-verified. Possible values: *email* , *phone_number* . AutoVerifiedAttributes []string `pulumi:"autoVerifiedAttributes"` @@ -172,16 +167,17 @@ type userPoolArgs struct { EmailAuthenticationSubject *string `pulumi:"emailAuthenticationSubject"` // The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool. EmailConfiguration *UserPoolEmailConfiguration `pulumi:"emailConfiguration"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationMessage *string `pulumi:"emailVerificationMessage"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationSubject *string `pulumi:"emailVerificationSubject"` - // Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + // Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: // - // - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + // - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . // - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + // - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . // - // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` EnabledMfas []string `pulumi:"enabledMfas"` // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig *UserPoolLambdaConfig `pulumi:"lambdaConfig"` @@ -195,15 +191,13 @@ type userPoolArgs struct { // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies *UserPoolPolicies `pulumi:"policies"` - // The schema attributes for the new user pool. These attributes can be standard or custom attributes. - // - // > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + // An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. Schema []UserPoolSchemaAttribute `pulumi:"schema"` - // A string representing the SMS authentication message. + // The contents of the SMS authentication message. SmsAuthenticationMessage *string `pulumi:"smsAuthenticationMessage"` // The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . SmsConfiguration *UserPoolSmsConfiguration `pulumi:"smsConfiguration"` - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . SmsVerificationMessage *string `pulumi:"smsVerificationMessage"` // The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For @@ -217,11 +211,11 @@ type userPoolArgs struct { UserPoolName *string `pulumi:"userPoolName"` // The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. UserPoolTags map[string]string `pulumi:"userPoolTags"` - // Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - // - // This user pool property cannot be updated. + // Specifies whether a user can use an email address or phone number as a username when they sign up. UsernameAttributes []string `pulumi:"usernameAttributes"` - // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + // Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + // + // This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . UsernameConfiguration *UserPoolUsernameConfiguration `pulumi:"usernameConfiguration"` // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. // @@ -231,15 +225,13 @@ type userPoolArgs struct { // The set of arguments for constructing a UserPool resource. type UserPoolArgs struct { - // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + // The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. AccountRecoverySetting UserPoolAccountRecoverySettingPtrInput // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig UserPoolAdminCreateUserConfigPtrInput // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - // - // > This user pool property cannot be updated. AliasAttributes pulumi.StringArrayInput // The attributes to be auto-verified. Possible values: *email* , *phone_number* . AutoVerifiedAttributes pulumi.StringArrayInput @@ -257,16 +249,17 @@ type UserPoolArgs struct { EmailAuthenticationSubject pulumi.StringPtrInput // The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool. EmailConfiguration UserPoolEmailConfigurationPtrInput - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationMessage pulumi.StringPtrInput - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . EmailVerificationSubject pulumi.StringPtrInput - // Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + // Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: // - // - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + // - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . // - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + // - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . // - // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` EnabledMfas pulumi.StringArrayInput // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig UserPoolLambdaConfigPtrInput @@ -280,15 +273,13 @@ type UserPoolArgs struct { // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies UserPoolPoliciesPtrInput - // The schema attributes for the new user pool. These attributes can be standard or custom attributes. - // - // > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + // An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. Schema UserPoolSchemaAttributeArrayInput - // A string representing the SMS authentication message. + // The contents of the SMS authentication message. SmsAuthenticationMessage pulumi.StringPtrInput // The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . SmsConfiguration UserPoolSmsConfigurationPtrInput - // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . SmsVerificationMessage pulumi.StringPtrInput // The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For @@ -302,11 +293,11 @@ type UserPoolArgs struct { UserPoolName pulumi.StringPtrInput // The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. UserPoolTags pulumi.StringMapInput - // Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - // - // This user pool property cannot be updated. + // Specifies whether a user can use an email address or phone number as a username when they sign up. UsernameAttributes pulumi.StringArrayInput - // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + // Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + // + // This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . UsernameConfiguration UserPoolUsernameConfigurationPtrInput // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. // @@ -351,7 +342,7 @@ func (o UserPoolOutput) ToUserPoolOutputWithContext(ctx context.Context) UserPoo return o } -// Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. +// The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. func (o UserPoolOutput) AccountRecoverySetting() UserPoolAccountRecoverySettingPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolAccountRecoverySettingPtrOutput { return v.AccountRecoverySetting }).(UserPoolAccountRecoverySettingPtrOutput) } @@ -364,8 +355,6 @@ func (o UserPoolOutput) AdminCreateUserConfig() UserPoolAdminCreateUserConfigPtr } // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . -// -// > This user pool property cannot be updated. func (o UserPoolOutput) AliasAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPool) pulumi.StringArrayOutput { return v.AliasAttributes }).(pulumi.StringArrayOutput) } @@ -409,22 +398,23 @@ func (o UserPoolOutput) EmailConfiguration() UserPoolEmailConfigurationPtrOutput return o.ApplyT(func(v *UserPool) UserPoolEmailConfigurationPtrOutput { return v.EmailConfiguration }).(UserPoolEmailConfigurationPtrOutput) } -// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . +// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . func (o UserPoolOutput) EmailVerificationMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.EmailVerificationMessage }).(pulumi.StringPtrOutput) } -// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . +// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . func (o UserPoolOutput) EmailVerificationSubject() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.EmailVerificationSubject }).(pulumi.StringPtrOutput) } -// Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: +// Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: // -// - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. +// - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . // - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. +// - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . // -// Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` +// Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` func (o UserPoolOutput) EnabledMfas() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPool) pulumi.StringArrayOutput { return v.EnabledMfas }).(pulumi.StringArrayOutput) } @@ -450,7 +440,7 @@ func (o UserPoolOutput) Policies() UserPoolPoliciesPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolPoliciesPtrOutput { return v.Policies }).(UserPoolPoliciesPtrOutput) } -// The provider name of the Amazon Cognito user pool, specified as a `String` . +// A friendly name for the IdP. func (o UserPoolOutput) ProviderName() pulumi.StringOutput { return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.ProviderName }).(pulumi.StringOutput) } @@ -460,14 +450,12 @@ func (o UserPoolOutput) ProviderUrl() pulumi.StringOutput { return o.ApplyT(func(v *UserPool) pulumi.StringOutput { return v.ProviderUrl }).(pulumi.StringOutput) } -// The schema attributes for the new user pool. These attributes can be standard or custom attributes. -// -// > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. +// An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. func (o UserPoolOutput) Schema() UserPoolSchemaAttributeArrayOutput { return o.ApplyT(func(v *UserPool) UserPoolSchemaAttributeArrayOutput { return v.Schema }).(UserPoolSchemaAttributeArrayOutput) } -// A string representing the SMS authentication message. +// The contents of the SMS authentication message. func (o UserPoolOutput) SmsAuthenticationMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.SmsAuthenticationMessage }).(pulumi.StringPtrOutput) } @@ -477,7 +465,7 @@ func (o UserPoolOutput) SmsConfiguration() UserPoolSmsConfigurationPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolSmsConfigurationPtrOutput { return v.SmsConfiguration }).(UserPoolSmsConfigurationPtrOutput) } -// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . +// This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . func (o UserPoolOutput) SmsVerificationMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.SmsVerificationMessage }).(pulumi.StringPtrOutput) } @@ -511,14 +499,14 @@ func (o UserPoolOutput) UserPoolTags() pulumi.StringMapOutput { return o.ApplyT(func(v *UserPool) pulumi.StringMapOutput { return v.UserPoolTags }).(pulumi.StringMapOutput) } -// Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . -// -// This user pool property cannot be updated. +// Specifies whether a user can use an email address or phone number as a username when they sign up. func (o UserPoolOutput) UsernameAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPool) pulumi.StringArrayOutput { return v.UsernameAttributes }).(pulumi.StringArrayOutput) } -// You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. +// Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. +// +// This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . func (o UserPoolOutput) UsernameConfiguration() UserPoolUsernameConfigurationPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolUsernameConfigurationPtrOutput { return v.UsernameConfiguration }).(UserPoolUsernameConfigurationPtrOutput) } diff --git a/sdk/go/aws/cognito/userPoolClient.go b/sdk/go/aws/cognito/userPoolClient.go index a394aa7b93..dd550b4eae 100644 --- a/sdk/go/aws/cognito/userPoolClient.go +++ b/sdk/go/aws/cognito/userPoolClient.go @@ -18,9 +18,13 @@ type UserPoolClient struct { // The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + // their access token for 10 hours. // - // The default time unit for `AccessTokenValidity` in an API request is hours. + // The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your access + // tokens are valid for one hour. AccessTokenValidity pulumi.IntPtrOutput `pulumi:"accessTokenValidity"` // The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow. // @@ -107,12 +111,22 @@ type UserPoolClient struct { // // For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. // - // The default time unit for `IdTokenValidity` in an API request is hours. + // The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your ID + // tokens are valid for one hour. IdTokenValidity pulumi.IntPtrOutput `pulumi:"idTokenValidity"` // A list of allowed logout URLs for the IdPs. LogoutUrls pulumi.StringArrayOutput `pulumi:"logoutUrls"` Name pulumi.StringOutput `pulumi:"name"` - // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + // Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + // + // Valid values include: + // + // - `ENABLED` - This prevents user existence-related errors. + // - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + // + // Defaults to `LEGACY` when you don't provide a value. PreventUserExistenceErrors pulumi.StringPtrOutput `pulumi:"preventUserExistenceErrors"` // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // @@ -120,9 +134,13 @@ type UserPoolClient struct { ReadAttributes pulumi.StringArrayOutput `pulumi:"readAttributes"` // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + // and retrieve new access and ID tokens for 10 days. + // + // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. // - // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + // If you don't specify otherwise in the configuration of your app client, your refresh + // tokens are valid for 30 days. RefreshTokenValidity pulumi.IntPtrOutput `pulumi:"refreshTokenValidity"` // A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` . SupportedIdentityProviders pulumi.StringArrayOutput `pulumi:"supportedIdentityProviders"` @@ -188,9 +206,13 @@ func (UserPoolClientState) ElementType() reflect.Type { type userPoolClientArgs struct { // The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + // their access token for 10 hours. // - // The default time unit for `AccessTokenValidity` in an API request is hours. + // The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your access + // tokens are valid for one hour. AccessTokenValidity *int `pulumi:"accessTokenValidity"` // The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow. // @@ -274,11 +296,21 @@ type userPoolClientArgs struct { // // For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. // - // The default time unit for `IdTokenValidity` in an API request is hours. + // The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your ID + // tokens are valid for one hour. IdTokenValidity *int `pulumi:"idTokenValidity"` // A list of allowed logout URLs for the IdPs. LogoutUrls []string `pulumi:"logoutUrls"` - // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + // Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + // + // Valid values include: + // + // - `ENABLED` - This prevents user existence-related errors. + // - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + // + // Defaults to `LEGACY` when you don't provide a value. PreventUserExistenceErrors *string `pulumi:"preventUserExistenceErrors"` // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // @@ -286,9 +318,13 @@ type userPoolClientArgs struct { ReadAttributes []string `pulumi:"readAttributes"` // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + // and retrieve new access and ID tokens for 10 days. + // + // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. // - // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + // If you don't specify otherwise in the configuration of your app client, your refresh + // tokens are valid for 30 days. RefreshTokenValidity *int `pulumi:"refreshTokenValidity"` // A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` . SupportedIdentityProviders []string `pulumi:"supportedIdentityProviders"` @@ -308,9 +344,13 @@ type userPoolClientArgs struct { type UserPoolClientArgs struct { // The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + // For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + // their access token for 10 hours. // - // The default time unit for `AccessTokenValidity` in an API request is hours. + // The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your access + // tokens are valid for one hour. AccessTokenValidity pulumi.IntPtrInput // The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow. // @@ -394,11 +434,21 @@ type UserPoolClientArgs struct { // // For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. // - // The default time unit for `IdTokenValidity` in an API request is hours. + // The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + // + // If you don't specify otherwise in the configuration of your app client, your ID + // tokens are valid for one hour. IdTokenValidity pulumi.IntPtrInput // A list of allowed logout URLs for the IdPs. LogoutUrls pulumi.StringArrayInput - // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + // Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + // + // Valid values include: + // + // - `ENABLED` - This prevents user existence-related errors. + // - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + // + // Defaults to `LEGACY` when you don't provide a value. PreventUserExistenceErrors pulumi.StringPtrInput // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // @@ -406,9 +456,13 @@ type UserPoolClientArgs struct { ReadAttributes pulumi.StringArrayInput // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // - // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + // For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + // and retrieve new access and ID tokens for 10 days. + // + // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. // - // The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + // If you don't specify otherwise in the configuration of your app client, your refresh + // tokens are valid for 30 days. RefreshTokenValidity pulumi.IntPtrInput // A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` . SupportedIdentityProviders pulumi.StringArrayInput @@ -463,9 +517,13 @@ func (o UserPoolClientOutput) ToUserPoolClientOutputWithContext(ctx context.Cont // The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // -// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. +// For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with +// their access token for 10 hours. // -// The default time unit for `AccessTokenValidity` in an API request is hours. +// The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. +// +// If you don't specify otherwise in the configuration of your app client, your access +// tokens are valid for one hour. func (o UserPoolClientOutput) AccessTokenValidity() pulumi.IntPtrOutput { return o.ApplyT(func(v *UserPoolClient) pulumi.IntPtrOutput { return v.AccessTokenValidity }).(pulumi.IntPtrOutput) } @@ -597,7 +655,10 @@ func (o UserPoolClientOutput) GenerateSecret() pulumi.BoolPtrOutput { // // For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. // -// The default time unit for `IdTokenValidity` in an API request is hours. +// The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. +// +// If you don't specify otherwise in the configuration of your app client, your ID +// tokens are valid for one hour. func (o UserPoolClientOutput) IdTokenValidity() pulumi.IntPtrOutput { return o.ApplyT(func(v *UserPoolClient) pulumi.IntPtrOutput { return v.IdTokenValidity }).(pulumi.IntPtrOutput) } @@ -611,7 +672,14 @@ func (o UserPoolClientOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolClient) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. +// Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. +// +// Valid values include: +// +// - `ENABLED` - This prevents user existence-related errors. +// - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. +// +// Defaults to `LEGACY` when you don't provide a value. func (o UserPoolClientOutput) PreventUserExistenceErrors() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClient) pulumi.StringPtrOutput { return v.PreventUserExistenceErrors }).(pulumi.StringPtrOutput) } @@ -625,9 +693,13 @@ func (o UserPoolClientOutput) ReadAttributes() pulumi.StringArrayOutput { // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // -// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. +// For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session +// and retrieve new access and ID tokens for 10 days. +// +// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. // -// The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. +// If you don't specify otherwise in the configuration of your app client, your refresh +// tokens are valid for 30 days. func (o UserPoolClientOutput) RefreshTokenValidity() pulumi.IntPtrOutput { return o.ApplyT(func(v *UserPoolClient) pulumi.IntPtrOutput { return v.RefreshTokenValidity }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/cognito/userPoolDomain.go b/sdk/go/aws/cognito/userPoolDomain.go index 0af6af7721..34aebf0078 100644 --- a/sdk/go/aws/cognito/userPoolDomain.go +++ b/sdk/go/aws/cognito/userPoolDomain.go @@ -22,11 +22,11 @@ type UserPoolDomain struct { CloudFrontDistribution pulumi.StringOutput `pulumi:"cloudFrontDistribution"` // The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM. CustomDomainConfig UserPoolDomainCustomDomainConfigTypePtrOutput `pulumi:"customDomainConfig"` - // The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + // The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . // // This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. Domain pulumi.StringOutput `pulumi:"domain"` - // The user pool ID for the user pool where you want to associate a user pool domain. + // The ID of the user pool that is associated with the custom domain whose certificate you're updating. UserPoolId pulumi.StringOutput `pulumi:"userPoolId"` } @@ -83,11 +83,11 @@ func (UserPoolDomainState) ElementType() reflect.Type { type userPoolDomainArgs struct { // The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM. CustomDomainConfig *UserPoolDomainCustomDomainConfigType `pulumi:"customDomainConfig"` - // The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + // The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . // // This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. Domain string `pulumi:"domain"` - // The user pool ID for the user pool where you want to associate a user pool domain. + // The ID of the user pool that is associated with the custom domain whose certificate you're updating. UserPoolId string `pulumi:"userPoolId"` } @@ -95,11 +95,11 @@ type userPoolDomainArgs struct { type UserPoolDomainArgs struct { // The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM. CustomDomainConfig UserPoolDomainCustomDomainConfigTypePtrInput - // The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + // The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . // // This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. Domain pulumi.StringInput - // The user pool ID for the user pool where you want to associate a user pool domain. + // The ID of the user pool that is associated with the custom domain whose certificate you're updating. UserPoolId pulumi.StringInput } @@ -155,14 +155,14 @@ func (o UserPoolDomainOutput) CustomDomainConfig() UserPoolDomainCustomDomainCon return o.ApplyT(func(v *UserPoolDomain) UserPoolDomainCustomDomainConfigTypePtrOutput { return v.CustomDomainConfig }).(UserPoolDomainCustomDomainConfigTypePtrOutput) } -// The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . +// The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . // // This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. func (o UserPoolDomainOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolDomain) pulumi.StringOutput { return v.Domain }).(pulumi.StringOutput) } -// The user pool ID for the user pool where you want to associate a user pool domain. +// The ID of the user pool that is associated with the custom domain whose certificate you're updating. func (o UserPoolDomainOutput) UserPoolId() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolDomain) pulumi.StringOutput { return v.UserPoolId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cognito/userPoolResourceServer.go b/sdk/go/aws/cognito/userPoolResourceServer.go index c938c28cee..657b899f81 100644 --- a/sdk/go/aws/cognito/userPoolResourceServer.go +++ b/sdk/go/aws/cognito/userPoolResourceServer.go @@ -16,7 +16,9 @@ import ( type UserPoolResourceServer struct { pulumi.CustomResourceState - // A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + // A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + // + // Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. Identifier pulumi.StringOutput `pulumi:"identifier"` // A friendly name for the resource server. Name pulumi.StringOutput `pulumi:"name"` @@ -77,7 +79,9 @@ func (UserPoolResourceServerState) ElementType() reflect.Type { } type userPoolResourceServerArgs struct { - // A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + // A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + // + // Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. Identifier string `pulumi:"identifier"` // A friendly name for the resource server. Name *string `pulumi:"name"` @@ -89,7 +93,9 @@ type userPoolResourceServerArgs struct { // The set of arguments for constructing a UserPoolResourceServer resource. type UserPoolResourceServerArgs struct { - // A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + // A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + // + // Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. Identifier pulumi.StringInput // A friendly name for the resource server. Name pulumi.StringPtrInput @@ -136,7 +142,9 @@ func (o UserPoolResourceServerOutput) ToUserPoolResourceServerOutputWithContext( return o } -// A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . +// A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. +// +// Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. func (o UserPoolResourceServerOutput) Identifier() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolResourceServer) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go b/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go index 216b6ff213..d302c5e1f6 100644 --- a/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go +++ b/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go @@ -18,7 +18,7 @@ type UserPoolRiskConfigurationAttachment struct { // The settings for automated responses and notification templates for adaptive authentication with advanced security features. AccountTakeoverRiskConfiguration UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput `pulumi:"accountTakeoverRiskConfiguration"` - // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + // The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. ClientId pulumi.StringOutput `pulumi:"clientId"` // Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. CompromisedCredentialsRiskConfiguration UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput `pulumi:"compromisedCredentialsRiskConfiguration"` @@ -81,7 +81,7 @@ func (UserPoolRiskConfigurationAttachmentState) ElementType() reflect.Type { type userPoolRiskConfigurationAttachmentArgs struct { // The settings for automated responses and notification templates for adaptive authentication with advanced security features. AccountTakeoverRiskConfiguration *UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType `pulumi:"accountTakeoverRiskConfiguration"` - // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + // The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. ClientId string `pulumi:"clientId"` // Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. CompromisedCredentialsRiskConfiguration *UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType `pulumi:"compromisedCredentialsRiskConfiguration"` @@ -95,7 +95,7 @@ type userPoolRiskConfigurationAttachmentArgs struct { type UserPoolRiskConfigurationAttachmentArgs struct { // The settings for automated responses and notification templates for adaptive authentication with advanced security features. AccountTakeoverRiskConfiguration UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrInput - // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + // The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. ClientId pulumi.StringInput // Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. CompromisedCredentialsRiskConfiguration UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrInput @@ -149,7 +149,7 @@ func (o UserPoolRiskConfigurationAttachmentOutput) AccountTakeoverRiskConfigurat }).(UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput) } -// The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). +// The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. func (o UserPoolRiskConfigurationAttachmentOutput) ClientId() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachment) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cognito/userPoolUiCustomizationAttachment.go b/sdk/go/aws/cognito/userPoolUiCustomizationAttachment.go index 403722114c..5ac37084f8 100644 --- a/sdk/go/aws/cognito/userPoolUiCustomizationAttachment.go +++ b/sdk/go/aws/cognito/userPoolUiCustomizationAttachment.go @@ -16,7 +16,7 @@ import ( type UserPoolUiCustomizationAttachment struct { pulumi.CustomResourceState - // The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + // The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. ClientId pulumi.StringOutput `pulumi:"clientId"` // The CSS values in the UI customization. Css pulumi.StringPtrOutput `pulumi:"css"` @@ -75,7 +75,7 @@ func (UserPoolUiCustomizationAttachmentState) ElementType() reflect.Type { } type userPoolUiCustomizationAttachmentArgs struct { - // The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + // The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. ClientId string `pulumi:"clientId"` // The CSS values in the UI customization. Css *string `pulumi:"css"` @@ -85,7 +85,7 @@ type userPoolUiCustomizationAttachmentArgs struct { // The set of arguments for constructing a UserPoolUiCustomizationAttachment resource. type UserPoolUiCustomizationAttachmentArgs struct { - // The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + // The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. ClientId pulumi.StringInput // The CSS values in the UI customization. Css pulumi.StringPtrInput @@ -130,7 +130,7 @@ func (o UserPoolUiCustomizationAttachmentOutput) ToUserPoolUiCustomizationAttach return o } -// The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). +// The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. func (o UserPoolUiCustomizationAttachmentOutput) ClientId() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolUiCustomizationAttachment) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cognito/userPoolUser.go b/sdk/go/aws/cognito/userPoolUser.go index e81e1db98b..eb51036628 100644 --- a/sdk/go/aws/cognito/userPoolUser.go +++ b/sdk/go/aws/cognito/userPoolUser.go @@ -37,7 +37,16 @@ type UserPoolUser struct { ForceAliasCreation pulumi.BoolPtrOutput `pulumi:"forceAliasCreation"` // Set to `RESEND` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to `SUPPRESS` to suppress sending the message. You can specify only one value. MessageAction pulumi.StringPtrOutput `pulumi:"messageAction"` - // An array of name-value pairs that contain user attributes and attribute values. + // An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + // + // For custom attributes, you must prepend the `custom:` prefix to the attribute name. + // + // To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + // + // In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + // + // - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + // - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. UserAttributes UserPoolUserAttributeTypeArrayOutput `pulumi:"userAttributes"` // The user pool ID for the user pool where the user will be created. UserPoolId pulumi.StringOutput `pulumi:"userPoolId"` @@ -130,7 +139,16 @@ type userPoolUserArgs struct { ForceAliasCreation *bool `pulumi:"forceAliasCreation"` // Set to `RESEND` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to `SUPPRESS` to suppress sending the message. You can specify only one value. MessageAction *string `pulumi:"messageAction"` - // An array of name-value pairs that contain user attributes and attribute values. + // An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + // + // For custom attributes, you must prepend the `custom:` prefix to the attribute name. + // + // To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + // + // In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + // + // - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + // - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. UserAttributes []UserPoolUserAttributeType `pulumi:"userAttributes"` // The user pool ID for the user pool where the user will be created. UserPoolId string `pulumi:"userPoolId"` @@ -171,7 +189,16 @@ type UserPoolUserArgs struct { ForceAliasCreation pulumi.BoolPtrInput // Set to `RESEND` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to `SUPPRESS` to suppress sending the message. You can specify only one value. MessageAction pulumi.StringPtrInput - // An array of name-value pairs that contain user attributes and attribute values. + // An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + // + // For custom attributes, you must prepend the `custom:` prefix to the attribute name. + // + // To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + // + // In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + // + // - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + // - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. UserAttributes UserPoolUserAttributeTypeArrayInput // The user pool ID for the user pool where the user will be created. UserPoolId pulumi.StringInput @@ -259,7 +286,16 @@ func (o UserPoolUserOutput) MessageAction() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolUser) pulumi.StringPtrOutput { return v.MessageAction }).(pulumi.StringPtrOutput) } -// An array of name-value pairs that contain user attributes and attribute values. +// An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). +// +// For custom attributes, you must prepend the `custom:` prefix to the attribute name. +// +// To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. +// +// In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . +// +// - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. +// - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. func (o UserPoolUserOutput) UserAttributes() UserPoolUserAttributeTypeArrayOutput { return o.ApplyT(func(v *UserPoolUser) UserPoolUserAttributeTypeArrayOutput { return v.UserAttributes }).(UserPoolUserAttributeTypeArrayOutput) } diff --git a/sdk/go/aws/cognito/userPoolUserToGroupAttachment.go b/sdk/go/aws/cognito/userPoolUserToGroupAttachment.go index 54421fe080..ac977ce734 100644 --- a/sdk/go/aws/cognito/userPoolUserToGroupAttachment.go +++ b/sdk/go/aws/cognito/userPoolUserToGroupAttachment.go @@ -20,7 +20,8 @@ type UserPoolUserToGroupAttachment struct { GroupName pulumi.StringOutput `pulumi:"groupName"` // The user pool ID for the user pool. UserPoolId pulumi.StringOutput `pulumi:"userPoolId"` - Username pulumi.StringOutput `pulumi:"username"` + // The user's username. + Username pulumi.StringOutput `pulumi:"username"` } // NewUserPoolUserToGroupAttachment registers a new resource with the given unique name, arguments, and options. @@ -82,7 +83,8 @@ type userPoolUserToGroupAttachmentArgs struct { GroupName string `pulumi:"groupName"` // The user pool ID for the user pool. UserPoolId string `pulumi:"userPoolId"` - Username string `pulumi:"username"` + // The user's username. + Username string `pulumi:"username"` } // The set of arguments for constructing a UserPoolUserToGroupAttachment resource. @@ -91,7 +93,8 @@ type UserPoolUserToGroupAttachmentArgs struct { GroupName pulumi.StringInput // The user pool ID for the user pool. UserPoolId pulumi.StringInput - Username pulumi.StringInput + // The user's username. + Username pulumi.StringInput } func (UserPoolUserToGroupAttachmentArgs) ElementType() reflect.Type { @@ -141,6 +144,7 @@ func (o UserPoolUserToGroupAttachmentOutput) UserPoolId() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolUserToGroupAttachment) pulumi.StringOutput { return v.UserPoolId }).(pulumi.StringOutput) } +// The user's username. func (o UserPoolUserToGroupAttachmentOutput) Username() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolUserToGroupAttachment) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/ec2/pulumiEnums.go b/sdk/go/aws/ec2/pulumiEnums.go index 240a9fdc37..cfed1b0953 100644 --- a/sdk/go/aws/ec2/pulumiEnums.go +++ b/sdk/go/aws/ec2/pulumiEnums.go @@ -10647,6 +10647,9 @@ func (in *vpcEndpointTypePtr) ToVpcEndpointTypePtrOutputWithContext(ctx context. return pulumi.ToOutputWithContext(ctx, in).(VpcEndpointTypePtrOutput) } +// Set log format. Default format is `json` . +// +// Valid values: `json` | `text` type VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat string const ( @@ -10812,6 +10815,7 @@ func (in *vpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtr) ToVp return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrOutput) } +// The IKE version. type VpnConnectionIkeVersionsRequestListValueValue string const ( @@ -10977,6 +10981,7 @@ func (in *vpnConnectionIkeVersionsRequestListValueValuePtr) ToVpnConnectionIkeVe return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionIkeVersionsRequestListValueValuePtrOutput) } +// The value for the encryption algorithm. type VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue string const ( @@ -11146,6 +11151,7 @@ func (in *vpnConnectionPhase1EncryptionAlgorithmsRequestListValueValuePtr) ToVpn return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValuePtrOutput) } +// The value for the integrity algorithm. type VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue string const ( @@ -11315,6 +11321,7 @@ func (in *vpnConnectionPhase1IntegrityAlgorithmsRequestListValueValuePtr) ToVpnC return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValuePtrOutput) } +// The encryption algorithm. type VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue string const ( @@ -11484,6 +11491,7 @@ func (in *vpnConnectionPhase2EncryptionAlgorithmsRequestListValueValuePtr) ToVpn return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValuePtrOutput) } +// The integrity algorithm. type VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue string const ( @@ -11653,6 +11661,11 @@ func (in *vpnConnectionPhase2IntegrityAlgorithmsRequestListValueValuePtr) ToVpnC return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValuePtrOutput) } +// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. +// +// Valid Values: `clear` | `none` | `restart` +// +// Default: `clear` type VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction string const ( @@ -11820,6 +11833,11 @@ func (in *vpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtr) ToVpnCo return pulumi.ToOutputWithContext(ctx, in).(VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrOutput) } +// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. +// +// Valid Values: `add` | `start` +// +// Default: `add` type VpnConnectionVpnTunnelOptionsSpecificationStartupAction string const ( diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 4b69dae525..8f3e1375e8 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -30722,8 +30722,15 @@ type VpcTag struct { } type VpnConnectionCloudwatchLogOptionsSpecification struct { - LogEnabled *bool `pulumi:"logEnabled"` - LogGroupArn *string `pulumi:"logGroupArn"` + // Enable or disable VPN tunnel logging feature. Default value is `False` . + // + // Valid values: `True` | `False` + LogEnabled *bool `pulumi:"logEnabled"` + // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + LogGroupArn *string `pulumi:"logGroupArn"` + // Set log format. Default format is `json` . + // + // Valid values: `json` | `text` LogOutputFormat *VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat `pulumi:"logOutputFormat"` } @@ -30739,8 +30746,15 @@ type VpnConnectionCloudwatchLogOptionsSpecificationInput interface { } type VpnConnectionCloudwatchLogOptionsSpecificationArgs struct { - LogEnabled pulumi.BoolPtrInput `pulumi:"logEnabled"` - LogGroupArn pulumi.StringPtrInput `pulumi:"logGroupArn"` + // Enable or disable VPN tunnel logging feature. Default value is `False` . + // + // Valid values: `True` | `False` + LogEnabled pulumi.BoolPtrInput `pulumi:"logEnabled"` + // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + LogGroupArn pulumi.StringPtrInput `pulumi:"logGroupArn"` + // Set log format. Default format is `json` . + // + // Valid values: `json` | `text` LogOutputFormat VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrInput `pulumi:"logOutputFormat"` } @@ -30821,14 +30835,21 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) ToVpnConnectionClo }).(VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) } +// Enable or disable VPN tunnel logging feature. Default value is `False` . +// +// Valid values: `True` | `False` func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v VpnConnectionCloudwatchLogOptionsSpecification) *bool { return v.LogEnabled }).(pulumi.BoolPtrOutput) } +// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) LogGroupArn() pulumi.StringPtrOutput { return o.ApplyT(func(v VpnConnectionCloudwatchLogOptionsSpecification) *string { return v.LogGroupArn }).(pulumi.StringPtrOutput) } +// Set log format. Default format is `json` . +// +// Valid values: `json` | `text` func (o VpnConnectionCloudwatchLogOptionsSpecificationOutput) LogOutputFormat() VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrOutput { return o.ApplyT(func(v VpnConnectionCloudwatchLogOptionsSpecification) *VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat { return v.LogOutputFormat @@ -30859,6 +30880,9 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) Elem() VpnConne }).(VpnConnectionCloudwatchLogOptionsSpecificationOutput) } +// Enable or disable VPN tunnel logging feature. Default value is `False` . +// +// Valid values: `True` | `False` func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *VpnConnectionCloudwatchLogOptionsSpecification) *bool { if v == nil { @@ -30868,6 +30892,7 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogEnabled() pu }).(pulumi.BoolPtrOutput) } +// The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogGroupArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *VpnConnectionCloudwatchLogOptionsSpecification) *string { if v == nil { @@ -30877,6 +30902,9 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogGroupArn() p }).(pulumi.StringPtrOutput) } +// Set log format. Default format is `json` . +// +// Valid values: `json` | `text` func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogOutputFormat() VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatPtrOutput { return o.ApplyT(func(v *VpnConnectionCloudwatchLogOptionsSpecification) *VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat { if v == nil { @@ -30887,6 +30915,7 @@ func (o VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput) LogOutputFormat } type VpnConnectionIkeVersionsRequestListValue struct { + // The IKE version. Value *VpnConnectionIkeVersionsRequestListValueValue `pulumi:"value"` } @@ -30902,6 +30931,7 @@ type VpnConnectionIkeVersionsRequestListValueInput interface { } type VpnConnectionIkeVersionsRequestListValueArgs struct { + // The IKE version. Value VpnConnectionIkeVersionsRequestListValueValuePtrInput `pulumi:"value"` } @@ -30956,6 +30986,7 @@ func (o VpnConnectionIkeVersionsRequestListValueOutput) ToVpnConnectionIkeVersio return o } +// The IKE version. func (o VpnConnectionIkeVersionsRequestListValueOutput) Value() VpnConnectionIkeVersionsRequestListValueValuePtrOutput { return o.ApplyT(func(v VpnConnectionIkeVersionsRequestListValue) *VpnConnectionIkeVersionsRequestListValueValue { return v.Value @@ -30983,6 +31014,7 @@ func (o VpnConnectionIkeVersionsRequestListValueArrayOutput) Index(i pulumi.IntI } type VpnConnectionPhase1EncryptionAlgorithmsRequestListValue struct { + // The value for the encryption algorithm. Value *VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue `pulumi:"value"` } @@ -30998,6 +31030,7 @@ type VpnConnectionPhase1EncryptionAlgorithmsRequestListValueInput interface { } type VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs struct { + // The value for the encryption algorithm. Value VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` } @@ -31052,6 +31085,7 @@ func (o VpnConnectionPhase1EncryptionAlgorithmsRequestListValueOutput) ToVpnConn return o } +// The value for the encryption algorithm. func (o VpnConnectionPhase1EncryptionAlgorithmsRequestListValueOutput) Value() VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValuePtrOutput { return o.ApplyT(func(v VpnConnectionPhase1EncryptionAlgorithmsRequestListValue) *VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue { return v.Value @@ -31079,6 +31113,7 @@ func (o VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayOutput) Inde } type VpnConnectionPhase1IntegrityAlgorithmsRequestListValue struct { + // The value for the integrity algorithm. Value *VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue `pulumi:"value"` } @@ -31094,6 +31129,7 @@ type VpnConnectionPhase1IntegrityAlgorithmsRequestListValueInput interface { } type VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs struct { + // The value for the integrity algorithm. Value VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` } @@ -31148,6 +31184,7 @@ func (o VpnConnectionPhase1IntegrityAlgorithmsRequestListValueOutput) ToVpnConne return o } +// The value for the integrity algorithm. func (o VpnConnectionPhase1IntegrityAlgorithmsRequestListValueOutput) Value() VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValuePtrOutput { return o.ApplyT(func(v VpnConnectionPhase1IntegrityAlgorithmsRequestListValue) *VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue { return v.Value @@ -31175,6 +31212,7 @@ func (o VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayOutput) Index } type VpnConnectionPhase1dhGroupNumbersRequestListValue struct { + // The Diffie-Hellmann group number. Value *int `pulumi:"value"` } @@ -31190,6 +31228,7 @@ type VpnConnectionPhase1dhGroupNumbersRequestListValueInput interface { } type VpnConnectionPhase1dhGroupNumbersRequestListValueArgs struct { + // The Diffie-Hellmann group number. Value pulumi.IntPtrInput `pulumi:"value"` } @@ -31244,6 +31283,7 @@ func (o VpnConnectionPhase1dhGroupNumbersRequestListValueOutput) ToVpnConnection return o } +// The Diffie-Hellmann group number. func (o VpnConnectionPhase1dhGroupNumbersRequestListValueOutput) Value() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionPhase1dhGroupNumbersRequestListValue) *int { return v.Value }).(pulumi.IntPtrOutput) } @@ -31269,6 +31309,7 @@ func (o VpnConnectionPhase1dhGroupNumbersRequestListValueArrayOutput) Index(i pu } type VpnConnectionPhase2EncryptionAlgorithmsRequestListValue struct { + // The encryption algorithm. Value *VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue `pulumi:"value"` } @@ -31284,6 +31325,7 @@ type VpnConnectionPhase2EncryptionAlgorithmsRequestListValueInput interface { } type VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs struct { + // The encryption algorithm. Value VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` } @@ -31338,6 +31380,7 @@ func (o VpnConnectionPhase2EncryptionAlgorithmsRequestListValueOutput) ToVpnConn return o } +// The encryption algorithm. func (o VpnConnectionPhase2EncryptionAlgorithmsRequestListValueOutput) Value() VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValuePtrOutput { return o.ApplyT(func(v VpnConnectionPhase2EncryptionAlgorithmsRequestListValue) *VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue { return v.Value @@ -31365,6 +31408,7 @@ func (o VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayOutput) Inde } type VpnConnectionPhase2IntegrityAlgorithmsRequestListValue struct { + // The integrity algorithm. Value *VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue `pulumi:"value"` } @@ -31380,6 +31424,7 @@ type VpnConnectionPhase2IntegrityAlgorithmsRequestListValueInput interface { } type VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs struct { + // The integrity algorithm. Value VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValuePtrInput `pulumi:"value"` } @@ -31434,6 +31479,7 @@ func (o VpnConnectionPhase2IntegrityAlgorithmsRequestListValueOutput) ToVpnConne return o } +// The integrity algorithm. func (o VpnConnectionPhase2IntegrityAlgorithmsRequestListValueOutput) Value() VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValuePtrOutput { return o.ApplyT(func(v VpnConnectionPhase2IntegrityAlgorithmsRequestListValue) *VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue { return v.Value @@ -31461,6 +31507,7 @@ func (o VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayOutput) Index } type VpnConnectionPhase2dhGroupNumbersRequestListValue struct { + // The Diffie-Hellmann group number. Value *int `pulumi:"value"` } @@ -31476,6 +31523,7 @@ type VpnConnectionPhase2dhGroupNumbersRequestListValueInput interface { } type VpnConnectionPhase2dhGroupNumbersRequestListValueArgs struct { + // The Diffie-Hellmann group number. Value pulumi.IntPtrInput `pulumi:"value"` } @@ -31530,6 +31578,7 @@ func (o VpnConnectionPhase2dhGroupNumbersRequestListValueOutput) ToVpnConnection return o } +// The Diffie-Hellmann group number. func (o VpnConnectionPhase2dhGroupNumbersRequestListValueOutput) Value() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionPhase2dhGroupNumbersRequestListValue) *int { return v.Value }).(pulumi.IntPtrOutput) } @@ -31563,6 +31612,7 @@ type VpnConnectionTag struct { } type VpnConnectionVpnTunnelLogOptionsSpecification struct { + // Options for sending VPN tunnel logs to CloudWatch. CloudwatchLogOptions *VpnConnectionCloudwatchLogOptionsSpecification `pulumi:"cloudwatchLogOptions"` } @@ -31578,6 +31628,7 @@ type VpnConnectionVpnTunnelLogOptionsSpecificationInput interface { } type VpnConnectionVpnTunnelLogOptionsSpecificationArgs struct { + // Options for sending VPN tunnel logs to CloudWatch. CloudwatchLogOptions VpnConnectionCloudwatchLogOptionsSpecificationPtrInput `pulumi:"cloudwatchLogOptions"` } @@ -31658,6 +31709,7 @@ func (o VpnConnectionVpnTunnelLogOptionsSpecificationOutput) ToVpnConnectionVpnT }).(VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput) } +// Options for sending VPN tunnel logs to CloudWatch. func (o VpnConnectionVpnTunnelLogOptionsSpecificationOutput) CloudwatchLogOptions() VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelLogOptionsSpecification) *VpnConnectionCloudwatchLogOptionsSpecification { return v.CloudwatchLogOptions @@ -31688,6 +31740,7 @@ func (o VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput) Elem() VpnConnec }).(VpnConnectionVpnTunnelLogOptionsSpecificationOutput) } +// Options for sending VPN tunnel logs to CloudWatch. func (o VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput) CloudwatchLogOptions() VpnConnectionCloudwatchLogOptionsSpecificationPtrOutput { return o.ApplyT(func(v *VpnConnectionVpnTunnelLogOptionsSpecification) *VpnConnectionCloudwatchLogOptionsSpecification { if v == nil { @@ -31699,26 +31752,89 @@ func (o VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput) CloudwatchLogOpt // The tunnel options for a single VPN tunnel. type VpnConnectionVpnTunnelOptionsSpecification struct { - DpdTimeoutAction *VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction `pulumi:"dpdTimeoutAction"` - DpdTimeoutSeconds *int `pulumi:"dpdTimeoutSeconds"` - EnableTunnelLifecycleControl *bool `pulumi:"enableTunnelLifecycleControl"` - IkeVersions []VpnConnectionIkeVersionsRequestListValue `pulumi:"ikeVersions"` - LogOptions *VpnConnectionVpnTunnelLogOptionsSpecification `pulumi:"logOptions"` - Phase1EncryptionAlgorithms []VpnConnectionPhase1EncryptionAlgorithmsRequestListValue `pulumi:"phase1EncryptionAlgorithms"` - Phase1IntegrityAlgorithms []VpnConnectionPhase1IntegrityAlgorithmsRequestListValue `pulumi:"phase1IntegrityAlgorithms"` - Phase1LifetimeSeconds *int `pulumi:"phase1LifetimeSeconds"` - Phase1dhGroupNumbers []VpnConnectionPhase1dhGroupNumbersRequestListValue `pulumi:"phase1dhGroupNumbers"` - Phase2EncryptionAlgorithms []VpnConnectionPhase2EncryptionAlgorithmsRequestListValue `pulumi:"phase2EncryptionAlgorithms"` - Phase2IntegrityAlgorithms []VpnConnectionPhase2IntegrityAlgorithmsRequestListValue `pulumi:"phase2IntegrityAlgorithms"` - Phase2LifetimeSeconds *int `pulumi:"phase2LifetimeSeconds"` - Phase2dhGroupNumbers []VpnConnectionPhase2dhGroupNumbersRequestListValue `pulumi:"phase2dhGroupNumbers"` + // The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + // + // Valid Values: `clear` | `none` | `restart` + // + // Default: `clear` + DpdTimeoutAction *VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction `pulumi:"dpdTimeoutAction"` + // The number of seconds after which a DPD timeout occurs. + // + // Constraints: A value greater than or equal to 30. + // + // Default: `30` + DpdTimeoutSeconds *int `pulumi:"dpdTimeoutSeconds"` + // Turn on or off tunnel endpoint lifecycle control feature. + EnableTunnelLifecycleControl *bool `pulumi:"enableTunnelLifecycleControl"` + // The IKE versions that are permitted for the VPN tunnel. + // + // Valid values: `ikev1` | `ikev2` + IkeVersions []VpnConnectionIkeVersionsRequestListValue `pulumi:"ikeVersions"` + // Options for logging VPN tunnel activity. + LogOptions *VpnConnectionVpnTunnelLogOptionsSpecification `pulumi:"logOptions"` + // One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + // + // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Phase1EncryptionAlgorithms []VpnConnectionPhase1EncryptionAlgorithmsRequestListValue `pulumi:"phase1EncryptionAlgorithms"` + // One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + // + // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Phase1IntegrityAlgorithms []VpnConnectionPhase1IntegrityAlgorithmsRequestListValue `pulumi:"phase1IntegrityAlgorithms"` + // The lifetime for phase 1 of the IKE negotiation, in seconds. + // + // Constraints: A value between 900 and 28,800. + // + // Default: `28800` + Phase1LifetimeSeconds *int `pulumi:"phase1LifetimeSeconds"` + // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + // + // Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Phase1dhGroupNumbers []VpnConnectionPhase1dhGroupNumbersRequestListValue `pulumi:"phase1dhGroupNumbers"` + // One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + // + // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Phase2EncryptionAlgorithms []VpnConnectionPhase2EncryptionAlgorithmsRequestListValue `pulumi:"phase2EncryptionAlgorithms"` + // One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + // + // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Phase2IntegrityAlgorithms []VpnConnectionPhase2IntegrityAlgorithmsRequestListValue `pulumi:"phase2IntegrityAlgorithms"` + // The lifetime for phase 2 of the IKE negotiation, in seconds. + // + // Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + // + // Default: `3600` + Phase2LifetimeSeconds *int `pulumi:"phase2LifetimeSeconds"` + // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + // + // Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Phase2dhGroupNumbers []VpnConnectionPhase2dhGroupNumbersRequestListValue `pulumi:"phase2dhGroupNumbers"` // The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. // Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). - PreSharedKey *string `pulumi:"preSharedKey"` - RekeyFuzzPercentage *int `pulumi:"rekeyFuzzPercentage"` - RekeyMarginTimeSeconds *int `pulumi:"rekeyMarginTimeSeconds"` - ReplayWindowSize *int `pulumi:"replayWindowSize"` - StartupAction *VpnConnectionVpnTunnelOptionsSpecificationStartupAction `pulumi:"startupAction"` + PreSharedKey *string `pulumi:"preSharedKey"` + // The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + // + // Constraints: A value between 0 and 100. + // + // Default: `100` + RekeyFuzzPercentage *int `pulumi:"rekeyFuzzPercentage"` + // The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + // + // Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + // + // Default: `270` + RekeyMarginTimeSeconds *int `pulumi:"rekeyMarginTimeSeconds"` + // The number of packets in an IKE replay window. + // + // Constraints: A value between 64 and 2048. + // + // Default: `1024` + ReplayWindowSize *int `pulumi:"replayWindowSize"` + // The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + // + // Valid Values: `add` | `start` + // + // Default: `add` + StartupAction *VpnConnectionVpnTunnelOptionsSpecificationStartupAction `pulumi:"startupAction"` // The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. // Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: // + ``169.254.0.0/30`` @@ -31728,7 +31844,10 @@ type VpnConnectionVpnTunnelOptionsSpecification struct { // + ``169.254.4.0/30`` // + ``169.254.5.0/30`` // + ``169.254.169.252/30`` - TunnelInsideCidr *string `pulumi:"tunnelInsideCidr"` + TunnelInsideCidr *string `pulumi:"tunnelInsideCidr"` + // The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + // + // Constraints: A size /126 CIDR block from the local `fd00::/8` range. TunnelInsideIpv6Cidr *string `pulumi:"tunnelInsideIpv6Cidr"` } @@ -31745,26 +31864,89 @@ type VpnConnectionVpnTunnelOptionsSpecificationInput interface { // The tunnel options for a single VPN tunnel. type VpnConnectionVpnTunnelOptionsSpecificationArgs struct { - DpdTimeoutAction VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrInput `pulumi:"dpdTimeoutAction"` - DpdTimeoutSeconds pulumi.IntPtrInput `pulumi:"dpdTimeoutSeconds"` - EnableTunnelLifecycleControl pulumi.BoolPtrInput `pulumi:"enableTunnelLifecycleControl"` - IkeVersions VpnConnectionIkeVersionsRequestListValueArrayInput `pulumi:"ikeVersions"` - LogOptions VpnConnectionVpnTunnelLogOptionsSpecificationPtrInput `pulumi:"logOptions"` - Phase1EncryptionAlgorithms VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayInput `pulumi:"phase1EncryptionAlgorithms"` - Phase1IntegrityAlgorithms VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayInput `pulumi:"phase1IntegrityAlgorithms"` - Phase1LifetimeSeconds pulumi.IntPtrInput `pulumi:"phase1LifetimeSeconds"` - Phase1dhGroupNumbers VpnConnectionPhase1dhGroupNumbersRequestListValueArrayInput `pulumi:"phase1dhGroupNumbers"` - Phase2EncryptionAlgorithms VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayInput `pulumi:"phase2EncryptionAlgorithms"` - Phase2IntegrityAlgorithms VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayInput `pulumi:"phase2IntegrityAlgorithms"` - Phase2LifetimeSeconds pulumi.IntPtrInput `pulumi:"phase2LifetimeSeconds"` - Phase2dhGroupNumbers VpnConnectionPhase2dhGroupNumbersRequestListValueArrayInput `pulumi:"phase2dhGroupNumbers"` + // The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + // + // Valid Values: `clear` | `none` | `restart` + // + // Default: `clear` + DpdTimeoutAction VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrInput `pulumi:"dpdTimeoutAction"` + // The number of seconds after which a DPD timeout occurs. + // + // Constraints: A value greater than or equal to 30. + // + // Default: `30` + DpdTimeoutSeconds pulumi.IntPtrInput `pulumi:"dpdTimeoutSeconds"` + // Turn on or off tunnel endpoint lifecycle control feature. + EnableTunnelLifecycleControl pulumi.BoolPtrInput `pulumi:"enableTunnelLifecycleControl"` + // The IKE versions that are permitted for the VPN tunnel. + // + // Valid values: `ikev1` | `ikev2` + IkeVersions VpnConnectionIkeVersionsRequestListValueArrayInput `pulumi:"ikeVersions"` + // Options for logging VPN tunnel activity. + LogOptions VpnConnectionVpnTunnelLogOptionsSpecificationPtrInput `pulumi:"logOptions"` + // One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + // + // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Phase1EncryptionAlgorithms VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayInput `pulumi:"phase1EncryptionAlgorithms"` + // One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + // + // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Phase1IntegrityAlgorithms VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayInput `pulumi:"phase1IntegrityAlgorithms"` + // The lifetime for phase 1 of the IKE negotiation, in seconds. + // + // Constraints: A value between 900 and 28,800. + // + // Default: `28800` + Phase1LifetimeSeconds pulumi.IntPtrInput `pulumi:"phase1LifetimeSeconds"` + // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + // + // Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Phase1dhGroupNumbers VpnConnectionPhase1dhGroupNumbersRequestListValueArrayInput `pulumi:"phase1dhGroupNumbers"` + // One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + // + // Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + Phase2EncryptionAlgorithms VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayInput `pulumi:"phase2EncryptionAlgorithms"` + // One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + // + // Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + Phase2IntegrityAlgorithms VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayInput `pulumi:"phase2IntegrityAlgorithms"` + // The lifetime for phase 2 of the IKE negotiation, in seconds. + // + // Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + // + // Default: `3600` + Phase2LifetimeSeconds pulumi.IntPtrInput `pulumi:"phase2LifetimeSeconds"` + // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + // + // Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + Phase2dhGroupNumbers VpnConnectionPhase2dhGroupNumbersRequestListValueArrayInput `pulumi:"phase2dhGroupNumbers"` // The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. // Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). - PreSharedKey pulumi.StringPtrInput `pulumi:"preSharedKey"` - RekeyFuzzPercentage pulumi.IntPtrInput `pulumi:"rekeyFuzzPercentage"` - RekeyMarginTimeSeconds pulumi.IntPtrInput `pulumi:"rekeyMarginTimeSeconds"` - ReplayWindowSize pulumi.IntPtrInput `pulumi:"replayWindowSize"` - StartupAction VpnConnectionVpnTunnelOptionsSpecificationStartupActionPtrInput `pulumi:"startupAction"` + PreSharedKey pulumi.StringPtrInput `pulumi:"preSharedKey"` + // The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + // + // Constraints: A value between 0 and 100. + // + // Default: `100` + RekeyFuzzPercentage pulumi.IntPtrInput `pulumi:"rekeyFuzzPercentage"` + // The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + // + // Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + // + // Default: `270` + RekeyMarginTimeSeconds pulumi.IntPtrInput `pulumi:"rekeyMarginTimeSeconds"` + // The number of packets in an IKE replay window. + // + // Constraints: A value between 64 and 2048. + // + // Default: `1024` + ReplayWindowSize pulumi.IntPtrInput `pulumi:"replayWindowSize"` + // The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + // + // Valid Values: `add` | `start` + // + // Default: `add` + StartupAction VpnConnectionVpnTunnelOptionsSpecificationStartupActionPtrInput `pulumi:"startupAction"` // The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. // Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: // + ``169.254.0.0/30`` @@ -31774,7 +31956,10 @@ type VpnConnectionVpnTunnelOptionsSpecificationArgs struct { // + ``169.254.4.0/30`` // + ``169.254.5.0/30`` // + ``169.254.169.252/30`` - TunnelInsideCidr pulumi.StringPtrInput `pulumi:"tunnelInsideCidr"` + TunnelInsideCidr pulumi.StringPtrInput `pulumi:"tunnelInsideCidr"` + // The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + // + // Constraints: A size /126 CIDR block from the local `fd00::/8` range. TunnelInsideIpv6Cidr pulumi.StringPtrInput `pulumi:"tunnelInsideIpv6Cidr"` } @@ -31830,70 +32015,113 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) ToVpnConnectionVpnTunn return o } +// The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. +// +// Valid Values: `clear` | `none` | `restart` +// +// Default: `clear` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) DpdTimeoutAction() VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction { return v.DpdTimeoutAction }).(VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutActionPtrOutput) } +// The number of seconds after which a DPD timeout occurs. +// +// Constraints: A value greater than or equal to 30. +// +// Default: `30` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) DpdTimeoutSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.DpdTimeoutSeconds }).(pulumi.IntPtrOutput) } +// Turn on or off tunnel endpoint lifecycle control feature. func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) EnableTunnelLifecycleControl() pulumi.BoolPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *bool { return v.EnableTunnelLifecycleControl }).(pulumi.BoolPtrOutput) } +// The IKE versions that are permitted for the VPN tunnel. +// +// Valid values: `ikev1` | `ikev2` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) IkeVersions() VpnConnectionIkeVersionsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionIkeVersionsRequestListValue { return v.IkeVersions }).(VpnConnectionIkeVersionsRequestListValueArrayOutput) } +// Options for logging VPN tunnel activity. func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) LogOptions() VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *VpnConnectionVpnTunnelLogOptionsSpecification { return v.LogOptions }).(VpnConnectionVpnTunnelLogOptionsSpecificationPtrOutput) } +// One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. +// +// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1EncryptionAlgorithms() VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase1EncryptionAlgorithmsRequestListValue { return v.Phase1EncryptionAlgorithms }).(VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArrayOutput) } +// One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. +// +// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1IntegrityAlgorithms() VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase1IntegrityAlgorithmsRequestListValue { return v.Phase1IntegrityAlgorithms }).(VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArrayOutput) } +// The lifetime for phase 1 of the IKE negotiation, in seconds. +// +// Constraints: A value between 900 and 28,800. +// +// Default: `28800` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1LifetimeSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.Phase1LifetimeSeconds }).(pulumi.IntPtrOutput) } +// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. +// +// Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase1dhGroupNumbers() VpnConnectionPhase1dhGroupNumbersRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase1dhGroupNumbersRequestListValue { return v.Phase1dhGroupNumbers }).(VpnConnectionPhase1dhGroupNumbersRequestListValueArrayOutput) } +// One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. +// +// Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2EncryptionAlgorithms() VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase2EncryptionAlgorithmsRequestListValue { return v.Phase2EncryptionAlgorithms }).(VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArrayOutput) } +// One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. +// +// Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2IntegrityAlgorithms() VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase2IntegrityAlgorithmsRequestListValue { return v.Phase2IntegrityAlgorithms }).(VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArrayOutput) } +// The lifetime for phase 2 of the IKE negotiation, in seconds. +// +// Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . +// +// Default: `3600` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2LifetimeSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.Phase2LifetimeSeconds }).(pulumi.IntPtrOutput) } +// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. +// +// Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) Phase2dhGroupNumbers() VpnConnectionPhase2dhGroupNumbersRequestListValueArrayOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) []VpnConnectionPhase2dhGroupNumbersRequestListValue { return v.Phase2dhGroupNumbers @@ -31907,18 +32135,38 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) PreSharedKey() pulumi. return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) } +// The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. +// +// Constraints: A value between 0 and 100. +// +// Default: `100` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) RekeyFuzzPercentage() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.RekeyFuzzPercentage }).(pulumi.IntPtrOutput) } +// The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . +// +// Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . +// +// Default: `270` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) RekeyMarginTimeSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.RekeyMarginTimeSeconds }).(pulumi.IntPtrOutput) } +// The number of packets in an IKE replay window. +// +// Constraints: A value between 64 and 2048. +// +// Default: `1024` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) ReplayWindowSize() pulumi.IntPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *int { return v.ReplayWindowSize }).(pulumi.IntPtrOutput) } +// The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. +// +// Valid Values: `add` | `start` +// +// Default: `add` func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) StartupAction() VpnConnectionVpnTunnelOptionsSpecificationStartupActionPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *VpnConnectionVpnTunnelOptionsSpecificationStartupAction { return v.StartupAction @@ -31939,6 +32187,9 @@ func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) TunnelInsideCidr() pul return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *string { return v.TunnelInsideCidr }).(pulumi.StringPtrOutput) } +// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. +// +// Constraints: A size /126 CIDR block from the local `fd00::/8` range. func (o VpnConnectionVpnTunnelOptionsSpecificationOutput) TunnelInsideIpv6Cidr() pulumi.StringPtrOutput { return o.ApplyT(func(v VpnConnectionVpnTunnelOptionsSpecification) *string { return v.TunnelInsideIpv6Cidr }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index 38667846cd..44b975a672 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -11823,9 +11823,16 @@ func (o TaskSetAwsVpcConfigurationPtrOutput) Subnets() pulumi.StringArrayOutput } type TaskSetCapacityProviderStrategyItem struct { - Base *int `pulumi:"base"` + // The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + Base *int `pulumi:"base"` + // The short name of the capacity provider. CapacityProvider *string `pulumi:"capacityProvider"` - Weight *int `pulumi:"weight"` + // The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + // + // If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + // + // An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + Weight *int `pulumi:"weight"` } // TaskSetCapacityProviderStrategyItemInput is an input type that accepts TaskSetCapacityProviderStrategyItemArgs and TaskSetCapacityProviderStrategyItemOutput values. @@ -11840,9 +11847,16 @@ type TaskSetCapacityProviderStrategyItemInput interface { } type TaskSetCapacityProviderStrategyItemArgs struct { - Base pulumi.IntPtrInput `pulumi:"base"` + // The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + Base pulumi.IntPtrInput `pulumi:"base"` + // The short name of the capacity provider. CapacityProvider pulumi.StringPtrInput `pulumi:"capacityProvider"` - Weight pulumi.IntPtrInput `pulumi:"weight"` + // The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + // + // If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + // + // An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + Weight pulumi.IntPtrInput `pulumi:"weight"` } func (TaskSetCapacityProviderStrategyItemArgs) ElementType() reflect.Type { @@ -11896,14 +11910,21 @@ func (o TaskSetCapacityProviderStrategyItemOutput) ToTaskSetCapacityProviderStra return o } +// The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. func (o TaskSetCapacityProviderStrategyItemOutput) Base() pulumi.IntPtrOutput { return o.ApplyT(func(v TaskSetCapacityProviderStrategyItem) *int { return v.Base }).(pulumi.IntPtrOutput) } +// The short name of the capacity provider. func (o TaskSetCapacityProviderStrategyItemOutput) CapacityProvider() pulumi.StringPtrOutput { return o.ApplyT(func(v TaskSetCapacityProviderStrategyItem) *string { return v.CapacityProvider }).(pulumi.StringPtrOutput) } +// The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. +// +// If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. +// +// An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . func (o TaskSetCapacityProviderStrategyItemOutput) Weight() pulumi.IntPtrOutput { return o.ApplyT(func(v TaskSetCapacityProviderStrategyItem) *int { return v.Weight }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/ecs/taskSet.go b/sdk/go/aws/ecs/taskSet.go index ae4bec2a90..5f94505d5d 100644 --- a/sdk/go/aws/ecs/taskSet.go +++ b/sdk/go/aws/ecs/taskSet.go @@ -18,7 +18,8 @@ type TaskSet struct { pulumi.CustomResourceState // The ID of the task set. - AwsId pulumi.StringOutput `pulumi:"awsId"` + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The capacity provider strategy that are associated with the task set. CapacityProviderStrategy TaskSetCapacityProviderStrategyItemArrayOutput `pulumi:"capacityProviderStrategy"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. Cluster pulumi.StringOutput `pulumi:"cluster"` @@ -116,6 +117,7 @@ func (TaskSetState) ElementType() reflect.Type { } type taskSetArgs struct { + // The capacity provider strategy that are associated with the task set. CapacityProviderStrategy []TaskSetCapacityProviderStrategyItem `pulumi:"capacityProviderStrategy"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. Cluster string `pulumi:"cluster"` @@ -153,6 +155,7 @@ type taskSetArgs struct { // The set of arguments for constructing a TaskSet resource. type TaskSetArgs struct { + // The capacity provider strategy that are associated with the task set. CapacityProviderStrategy TaskSetCapacityProviderStrategyItemArrayInput // The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. Cluster pulumi.StringInput @@ -230,6 +233,7 @@ func (o TaskSetOutput) AwsId() pulumi.StringOutput { return o.ApplyT(func(v *TaskSet) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) } +// The capacity provider strategy that are associated with the task set. func (o TaskSetOutput) CapacityProviderStrategy() TaskSetCapacityProviderStrategyItemArrayOutput { return o.ApplyT(func(v *TaskSet) TaskSetCapacityProviderStrategyItemArrayOutput { return v.CapacityProviderStrategy }).(TaskSetCapacityProviderStrategyItemArrayOutput) } diff --git a/sdk/go/aws/gamelift/containerGroupDefinition.go b/sdk/go/aws/gamelift/containerGroupDefinition.go index 0fc927b0c6..c05286f872 100644 --- a/sdk/go/aws/gamelift/containerGroupDefinition.go +++ b/sdk/go/aws/gamelift/containerGroupDefinition.go @@ -29,6 +29,14 @@ type ContainerGroupDefinition struct { OperatingSystem ContainerGroupDefinitionOperatingSystemOutput `pulumi:"operatingSystem"` // Specifies whether the container group includes replica or daemon containers. SchedulingStrategy ContainerGroupDefinitionSchedulingStrategyPtrOutput `pulumi:"schedulingStrategy"` + // A specific ContainerGroupDefinition version to be updated + SourceVersionNumber pulumi.IntPtrOutput `pulumi:"sourceVersionNumber"` + // A string indicating ContainerGroupDefinition status. + Status ContainerGroupDefinitionStatusOutput `pulumi:"status"` + // A string indicating the reason for ContainerGroupDefinition status. + StatusReason pulumi.StringOutput `pulumi:"statusReason"` + // A collection of support container definitions that define the containers in this group. + SupportContainerDefinitions pulumi.ArrayOutput `pulumi:"supportContainerDefinitions"` // An array of key-value pairs to apply to this resource. Tags aws.TagArrayOutput `pulumi:"tags"` // The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.) @@ -106,6 +114,10 @@ type containerGroupDefinitionArgs struct { OperatingSystem ContainerGroupDefinitionOperatingSystem `pulumi:"operatingSystem"` // Specifies whether the container group includes replica or daemon containers. SchedulingStrategy *ContainerGroupDefinitionSchedulingStrategy `pulumi:"schedulingStrategy"` + // A specific ContainerGroupDefinition version to be updated + SourceVersionNumber *int `pulumi:"sourceVersionNumber"` + // A collection of support container definitions that define the containers in this group. + SupportContainerDefinitions []interface{} `pulumi:"supportContainerDefinitions"` // An array of key-value pairs to apply to this resource. Tags []aws.Tag `pulumi:"tags"` // The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.) @@ -124,6 +136,10 @@ type ContainerGroupDefinitionArgs struct { OperatingSystem ContainerGroupDefinitionOperatingSystemInput // Specifies whether the container group includes replica or daemon containers. SchedulingStrategy ContainerGroupDefinitionSchedulingStrategyPtrInput + // A specific ContainerGroupDefinition version to be updated + SourceVersionNumber pulumi.IntPtrInput + // A collection of support container definitions that define the containers in this group. + SupportContainerDefinitions pulumi.ArrayInput // An array of key-value pairs to apply to this resource. Tags aws.TagArrayInput // The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.) @@ -205,6 +221,26 @@ func (o ContainerGroupDefinitionOutput) SchedulingStrategy() ContainerGroupDefin }).(ContainerGroupDefinitionSchedulingStrategyPtrOutput) } +// A specific ContainerGroupDefinition version to be updated +func (o ContainerGroupDefinitionOutput) SourceVersionNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ContainerGroupDefinition) pulumi.IntPtrOutput { return v.SourceVersionNumber }).(pulumi.IntPtrOutput) +} + +// A string indicating ContainerGroupDefinition status. +func (o ContainerGroupDefinitionOutput) Status() ContainerGroupDefinitionStatusOutput { + return o.ApplyT(func(v *ContainerGroupDefinition) ContainerGroupDefinitionStatusOutput { return v.Status }).(ContainerGroupDefinitionStatusOutput) +} + +// A string indicating the reason for ContainerGroupDefinition status. +func (o ContainerGroupDefinitionOutput) StatusReason() pulumi.StringOutput { + return o.ApplyT(func(v *ContainerGroupDefinition) pulumi.StringOutput { return v.StatusReason }).(pulumi.StringOutput) +} + +// A collection of support container definitions that define the containers in this group. +func (o ContainerGroupDefinitionOutput) SupportContainerDefinitions() pulumi.ArrayOutput { + return o.ApplyT(func(v *ContainerGroupDefinition) pulumi.ArrayOutput { return v.SupportContainerDefinitions }).(pulumi.ArrayOutput) +} + // An array of key-value pairs to apply to this resource. func (o ContainerGroupDefinitionOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *ContainerGroupDefinition) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) diff --git a/sdk/go/aws/gamelift/getContainerGroupDefinition.go b/sdk/go/aws/gamelift/getContainerGroupDefinition.go index e6e654c454..8b416710c4 100644 --- a/sdk/go/aws/gamelift/getContainerGroupDefinition.go +++ b/sdk/go/aws/gamelift/getContainerGroupDefinition.go @@ -33,6 +33,14 @@ type LookupContainerGroupDefinitionResult struct { ContainerGroupDefinitionArn *string `pulumi:"containerGroupDefinitionArn"` // A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). CreationTime *string `pulumi:"creationTime"` + // A specific ContainerGroupDefinition version to be updated + SourceVersionNumber *int `pulumi:"sourceVersionNumber"` + // A string indicating ContainerGroupDefinition status. + Status *ContainerGroupDefinitionStatus `pulumi:"status"` + // A string indicating the reason for ContainerGroupDefinition status. + StatusReason *string `pulumi:"statusReason"` + // A collection of support container definitions that define the containers in this group. + SupportContainerDefinitions []interface{} `pulumi:"supportContainerDefinitions"` // An array of key-value pairs to apply to this resource. Tags []aws.Tag `pulumi:"tags"` } @@ -89,6 +97,26 @@ func (o LookupContainerGroupDefinitionResultOutput) CreationTime() pulumi.String return o.ApplyT(func(v LookupContainerGroupDefinitionResult) *string { return v.CreationTime }).(pulumi.StringPtrOutput) } +// A specific ContainerGroupDefinition version to be updated +func (o LookupContainerGroupDefinitionResultOutput) SourceVersionNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupContainerGroupDefinitionResult) *int { return v.SourceVersionNumber }).(pulumi.IntPtrOutput) +} + +// A string indicating ContainerGroupDefinition status. +func (o LookupContainerGroupDefinitionResultOutput) Status() ContainerGroupDefinitionStatusPtrOutput { + return o.ApplyT(func(v LookupContainerGroupDefinitionResult) *ContainerGroupDefinitionStatus { return v.Status }).(ContainerGroupDefinitionStatusPtrOutput) +} + +// A string indicating the reason for ContainerGroupDefinition status. +func (o LookupContainerGroupDefinitionResultOutput) StatusReason() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupContainerGroupDefinitionResult) *string { return v.StatusReason }).(pulumi.StringPtrOutput) +} + +// A collection of support container definitions that define the containers in this group. +func (o LookupContainerGroupDefinitionResultOutput) SupportContainerDefinitions() pulumi.ArrayOutput { + return o.ApplyT(func(v LookupContainerGroupDefinitionResult) []interface{} { return v.SupportContainerDefinitions }).(pulumi.ArrayOutput) +} + // An array of key-value pairs to apply to this resource. func (o LookupContainerGroupDefinitionResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupContainerGroupDefinitionResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) diff --git a/sdk/go/aws/gamelift/pulumiEnums.go b/sdk/go/aws/gamelift/pulumiEnums.go index c6fb16f33c..25a6d43baa 100644 --- a/sdk/go/aws/gamelift/pulumiEnums.go +++ b/sdk/go/aws/gamelift/pulumiEnums.go @@ -1014,6 +1014,98 @@ func (in *containerGroupDefinitionSchedulingStrategyPtr) ToContainerGroupDefinit return pulumi.ToOutputWithContext(ctx, in).(ContainerGroupDefinitionSchedulingStrategyPtrOutput) } +// A string indicating ContainerGroupDefinition status. +type ContainerGroupDefinitionStatus string + +const ( + ContainerGroupDefinitionStatusReady = ContainerGroupDefinitionStatus("READY") + ContainerGroupDefinitionStatusCopying = ContainerGroupDefinitionStatus("COPYING") + ContainerGroupDefinitionStatusFailed = ContainerGroupDefinitionStatus("FAILED") +) + +type ContainerGroupDefinitionStatusOutput struct{ *pulumi.OutputState } + +func (ContainerGroupDefinitionStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ContainerGroupDefinitionStatus)(nil)).Elem() +} + +func (o ContainerGroupDefinitionStatusOutput) ToContainerGroupDefinitionStatusOutput() ContainerGroupDefinitionStatusOutput { + return o +} + +func (o ContainerGroupDefinitionStatusOutput) ToContainerGroupDefinitionStatusOutputWithContext(ctx context.Context) ContainerGroupDefinitionStatusOutput { + return o +} + +func (o ContainerGroupDefinitionStatusOutput) ToContainerGroupDefinitionStatusPtrOutput() ContainerGroupDefinitionStatusPtrOutput { + return o.ToContainerGroupDefinitionStatusPtrOutputWithContext(context.Background()) +} + +func (o ContainerGroupDefinitionStatusOutput) ToContainerGroupDefinitionStatusPtrOutputWithContext(ctx context.Context) ContainerGroupDefinitionStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ContainerGroupDefinitionStatus) *ContainerGroupDefinitionStatus { + return &v + }).(ContainerGroupDefinitionStatusPtrOutput) +} + +func (o ContainerGroupDefinitionStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ContainerGroupDefinitionStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ContainerGroupDefinitionStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ContainerGroupDefinitionStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ContainerGroupDefinitionStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ContainerGroupDefinitionStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ContainerGroupDefinitionStatusPtrOutput struct{ *pulumi.OutputState } + +func (ContainerGroupDefinitionStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ContainerGroupDefinitionStatus)(nil)).Elem() +} + +func (o ContainerGroupDefinitionStatusPtrOutput) ToContainerGroupDefinitionStatusPtrOutput() ContainerGroupDefinitionStatusPtrOutput { + return o +} + +func (o ContainerGroupDefinitionStatusPtrOutput) ToContainerGroupDefinitionStatusPtrOutputWithContext(ctx context.Context) ContainerGroupDefinitionStatusPtrOutput { + return o +} + +func (o ContainerGroupDefinitionStatusPtrOutput) Elem() ContainerGroupDefinitionStatusOutput { + return o.ApplyT(func(v *ContainerGroupDefinitionStatus) ContainerGroupDefinitionStatus { + if v != nil { + return *v + } + var ret ContainerGroupDefinitionStatus + return ret + }).(ContainerGroupDefinitionStatusOutput) +} + +func (o ContainerGroupDefinitionStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ContainerGroupDefinitionStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ContainerGroupDefinitionStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + // Determines whether to apply fleet or location capacities on fleet creation. type FleetApplyCapacity string @@ -4323,6 +4415,8 @@ func init() { pulumi.RegisterOutputType(ContainerGroupDefinitionOperatingSystemPtrOutput{}) pulumi.RegisterOutputType(ContainerGroupDefinitionSchedulingStrategyOutput{}) pulumi.RegisterOutputType(ContainerGroupDefinitionSchedulingStrategyPtrOutput{}) + pulumi.RegisterOutputType(ContainerGroupDefinitionStatusOutput{}) + pulumi.RegisterOutputType(ContainerGroupDefinitionStatusPtrOutput{}) pulumi.RegisterOutputType(FleetApplyCapacityOutput{}) pulumi.RegisterOutputType(FleetApplyCapacityPtrOutput{}) pulumi.RegisterOutputType(FleetCertificateConfigurationCertificateTypeOutput{}) diff --git a/sdk/go/aws/glue/schema.go b/sdk/go/aws/glue/schema.go index 49f133a3dc..ffc60d6ae3 100644 --- a/sdk/go/aws/glue/schema.go +++ b/sdk/go/aws/glue/schema.go @@ -34,7 +34,7 @@ type Schema struct { // The registry where a schema is stored. Registry SchemaRegistryPtrOutput `pulumi:"registry"` // Definition for the initial schema version in plain-text. - SchemaDefinition pulumi.StringOutput `pulumi:"schemaDefinition"` + SchemaDefinition pulumi.StringPtrOutput `pulumi:"schemaDefinition"` // List of tags to tag the schema Tags aws.TagArrayOutput `pulumi:"tags"` } @@ -52,9 +52,6 @@ func NewSchema(ctx *pulumi.Context, if args.DataFormat == nil { return nil, errors.New("invalid value for required argument 'DataFormat'") } - if args.SchemaDefinition == nil { - return nil, errors.New("invalid value for required argument 'SchemaDefinition'") - } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "dataFormat", "name", @@ -108,7 +105,7 @@ type schemaArgs struct { // The registry where a schema is stored. Registry *SchemaRegistry `pulumi:"registry"` // Definition for the initial schema version in plain-text. - SchemaDefinition string `pulumi:"schemaDefinition"` + SchemaDefinition *string `pulumi:"schemaDefinition"` // List of tags to tag the schema Tags []aws.Tag `pulumi:"tags"` } @@ -128,7 +125,7 @@ type SchemaArgs struct { // The registry where a schema is stored. Registry SchemaRegistryPtrInput // Definition for the initial schema version in plain-text. - SchemaDefinition pulumi.StringInput + SchemaDefinition pulumi.StringPtrInput // List of tags to tag the schema Tags aws.TagArrayInput } @@ -211,8 +208,8 @@ func (o SchemaOutput) Registry() SchemaRegistryPtrOutput { } // Definition for the initial schema version in plain-text. -func (o SchemaOutput) SchemaDefinition() pulumi.StringOutput { - return o.ApplyT(func(v *Schema) pulumi.StringOutput { return v.SchemaDefinition }).(pulumi.StringOutput) +func (o SchemaOutput) SchemaDefinition() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Schema) pulumi.StringPtrOutput { return v.SchemaDefinition }).(pulumi.StringPtrOutput) } // List of tags to tag the schema diff --git a/sdk/go/aws/lambda/eventSourceMapping.go b/sdk/go/aws/lambda/eventSourceMapping.go index 6bf004edaf..a5f38a90b9 100644 --- a/sdk/go/aws/lambda/eventSourceMapping.go +++ b/sdk/go/aws/lambda/eventSourceMapping.go @@ -104,8 +104,7 @@ type EventSourceMapping struct { // With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future. StartingPositionTimestamp pulumi.Float64PtrOutput `pulumi:"startingPositionTimestamp"` // A list of tags to add to the event source mapping. - // - // > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + // You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. Tags aws.TagArrayOutput `pulumi:"tags"` // The name of the Kafka topic. Topics pulumi.StringArrayOutput `pulumi:"topics"` @@ -239,8 +238,7 @@ type eventSourceMappingArgs struct { // With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future. StartingPositionTimestamp *float64 `pulumi:"startingPositionTimestamp"` // A list of tags to add to the event source mapping. - // - // > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + // You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. Tags []aws.Tag `pulumi:"tags"` // The name of the Kafka topic. Topics []string `pulumi:"topics"` @@ -324,8 +322,7 @@ type EventSourceMappingArgs struct { // With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future. StartingPositionTimestamp pulumi.Float64PtrInput // A list of tags to add to the event source mapping. - // - // > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + // You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. Tags aws.TagArrayInput // The name of the Kafka topic. Topics pulumi.StringArrayInput @@ -538,7 +535,7 @@ func (o EventSourceMappingOutput) StartingPositionTimestamp() pulumi.Float64PtrO // A list of tags to add to the event source mapping. // -// > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. +// You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. func (o EventSourceMappingOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *EventSourceMapping) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/lambda/getEventSourceMapping.go b/sdk/go/aws/lambda/getEventSourceMapping.go index d015f00b02..0c19d3349c 100644 --- a/sdk/go/aws/lambda/getEventSourceMapping.go +++ b/sdk/go/aws/lambda/getEventSourceMapping.go @@ -95,8 +95,7 @@ type LookupEventSourceMappingResult struct { // An array of the authentication protocol, VPC components, or virtual host to secure and define your event source. SourceAccessConfigurations []EventSourceMappingSourceAccessConfiguration `pulumi:"sourceAccessConfigurations"` // A list of tags to add to the event source mapping. - // - // > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + // You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. Tags []aws.Tag `pulumi:"tags"` // The name of the Kafka topic. Topics []string `pulumi:"topics"` @@ -271,7 +270,7 @@ func (o LookupEventSourceMappingResultOutput) SourceAccessConfigurations() Event // A list of tags to add to the event source mapping. // -// > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. +// You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. func (o LookupEventSourceMappingResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupEventSourceMappingResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/lambda/getVersion.go b/sdk/go/aws/lambda/getVersion.go index b0cfa6ce9c..818f129f8e 100644 --- a/sdk/go/aws/lambda/getVersion.go +++ b/sdk/go/aws/lambda/getVersion.go @@ -30,10 +30,6 @@ type LookupVersionArgs struct { type LookupVersionResult struct { // The ARN of the version. FunctionArn *string `pulumi:"functionArn"` - // The resource policy of your function - // - // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - Policy interface{} `pulumi:"policy"` // The version number. Version *string `pulumi:"version"` } @@ -85,13 +81,6 @@ func (o LookupVersionResultOutput) FunctionArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupVersionResult) *string { return v.FunctionArn }).(pulumi.StringPtrOutput) } -// The resource policy of your function -// -// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. -func (o LookupVersionResultOutput) Policy() pulumi.AnyOutput { - return o.ApplyT(func(v LookupVersionResult) interface{} { return v.Policy }).(pulumi.AnyOutput) -} - // The version number. func (o LookupVersionResultOutput) Version() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupVersionResult) *string { return v.Version }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/lambda/pulumiTypes.go b/sdk/go/aws/lambda/pulumiTypes.go index 75b8a8838e..ee6e78b80c 100644 --- a/sdk/go/aws/lambda/pulumiTypes.go +++ b/sdk/go/aws/lambda/pulumiTypes.go @@ -2631,10 +2631,11 @@ func (o EventSourceMappingSourceAccessConfigurationArrayOutput) Index(i pulumi.I }).(EventSourceMappingSourceAccessConfigurationOutput) } +// A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping. type EventSourceMappingTag struct { - // The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. + // The key for this tag. Key string `pulumi:"key"` - // The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. + // The value for this tag. Value *string `pulumi:"value"` } diff --git a/sdk/go/aws/lambda/version.go b/sdk/go/aws/lambda/version.go index b1ed50a21b..11681bf025 100644 --- a/sdk/go/aws/lambda/version.go +++ b/sdk/go/aws/lambda/version.go @@ -24,10 +24,6 @@ type Version struct { FunctionArn pulumi.StringOutput `pulumi:"functionArn"` // The name of the Lambda function. FunctionName pulumi.StringOutput `pulumi:"functionName"` - // The resource policy of your function - // - // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - Policy pulumi.AnyOutput `pulumi:"policy"` // Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. ProvisionedConcurrencyConfig VersionProvisionedConcurrencyConfigurationPtrOutput `pulumi:"provisionedConcurrencyConfig"` // Specifies the runtime management configuration of a function. Displays runtimeVersionArn only for Manual. @@ -93,10 +89,6 @@ type versionArgs struct { Description *string `pulumi:"description"` // The name of the Lambda function. FunctionName string `pulumi:"functionName"` - // The resource policy of your function - // - // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - Policy interface{} `pulumi:"policy"` // Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. ProvisionedConcurrencyConfig *VersionProvisionedConcurrencyConfiguration `pulumi:"provisionedConcurrencyConfig"` // Specifies the runtime management configuration of a function. Displays runtimeVersionArn only for Manual. @@ -111,10 +103,6 @@ type VersionArgs struct { Description pulumi.StringPtrInput // The name of the Lambda function. FunctionName pulumi.StringInput - // The resource policy of your function - // - // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - Policy pulumi.Input // Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. ProvisionedConcurrencyConfig VersionProvisionedConcurrencyConfigurationPtrInput // Specifies the runtime management configuration of a function. Displays runtimeVersionArn only for Manual. @@ -178,13 +166,6 @@ func (o VersionOutput) FunctionName() pulumi.StringOutput { return o.ApplyT(func(v *Version) pulumi.StringOutput { return v.FunctionName }).(pulumi.StringOutput) } -// The resource policy of your function -// -// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. -func (o VersionOutput) Policy() pulumi.AnyOutput { - return o.ApplyT(func(v *Version) pulumi.AnyOutput { return v.Policy }).(pulumi.AnyOutput) -} - // Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. func (o VersionOutput) ProvisionedConcurrencyConfig() VersionProvisionedConcurrencyConfigurationPtrOutput { return o.ApplyT(func(v *Version) VersionProvisionedConcurrencyConfigurationPtrOutput { diff --git a/sdk/go/aws/organizations/policy.go b/sdk/go/aws/organizations/policy.go index aa2038369b..fba64db9a6 100644 --- a/sdk/go/aws/organizations/policy.go +++ b/sdk/go/aws/organizations/policy.go @@ -35,7 +35,7 @@ type Policy struct { Tags aws.TagArrayOutput `pulumi:"tags"` // List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to TargetIds pulumi.StringArrayOutput `pulumi:"targetIds"` - // The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + // The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY Type PolicyTypeOutput `pulumi:"type"` } @@ -101,7 +101,7 @@ type policyArgs struct { Tags []aws.Tag `pulumi:"tags"` // List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to TargetIds []string `pulumi:"targetIds"` - // The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + // The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY Type PolicyType `pulumi:"type"` } @@ -119,7 +119,7 @@ type PolicyArgs struct { Tags aws.TagArrayInput // List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to TargetIds pulumi.StringArrayInput - // The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + // The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY Type PolicyTypeInput } @@ -202,7 +202,7 @@ func (o PolicyOutput) TargetIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *Policy) pulumi.StringArrayOutput { return v.TargetIds }).(pulumi.StringArrayOutput) } -// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY +// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY func (o PolicyOutput) Type() PolicyTypeOutput { return o.ApplyT(func(v *Policy) PolicyTypeOutput { return v.Type }).(PolicyTypeOutput) } diff --git a/sdk/go/aws/organizations/pulumiEnums.go b/sdk/go/aws/organizations/pulumiEnums.go index c16ac8af88..15aa9c4c77 100644 --- a/sdk/go/aws/organizations/pulumiEnums.go +++ b/sdk/go/aws/organizations/pulumiEnums.go @@ -359,7 +359,7 @@ func (in *organizationFeatureSetPtr) ToOrganizationFeatureSetPtrOutputWithContex return pulumi.ToOutputWithContext(ctx, in).(OrganizationFeatureSetPtrOutput) } -// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY +// The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY type PolicyType string const ( @@ -367,6 +367,7 @@ const ( PolicyTypeAiservicesOptOutPolicy = PolicyType("AISERVICES_OPT_OUT_POLICY") PolicyTypeBackupPolicy = PolicyType("BACKUP_POLICY") PolicyTypeTagPolicy = PolicyType("TAG_POLICY") + PolicyTypeChatbotPolicy = PolicyType("CHATBOT_POLICY") ) func (PolicyType) ElementType() reflect.Type { @@ -495,6 +496,7 @@ func (o PolicyTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) p // PolicyTypeAiservicesOptOutPolicy // PolicyTypeBackupPolicy // PolicyTypeTagPolicy +// PolicyTypeChatbotPolicy type PolicyTypeInput interface { pulumi.Input diff --git a/sdk/go/aws/qbusiness/dataSource.go b/sdk/go/aws/qbusiness/dataSource.go index ac309cb570..55e11ef9e2 100644 --- a/sdk/go/aws/qbusiness/dataSource.go +++ b/sdk/go/aws/qbusiness/dataSource.go @@ -19,12 +19,17 @@ type DataSource struct { // The identifier of the Amazon Q Business application the data source will be attached to. ApplicationId pulumi.StringOutput `pulumi:"applicationId"` - // Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // + // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // + // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) // // You can find configuration templates for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - // - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration pulumi.AnyOutput `pulumi:"configuration"` @@ -121,12 +126,17 @@ func (DataSourceState) ElementType() reflect.Type { type dataSourceArgs struct { // The identifier of the Amazon Q Business application the data source will be attached to. ApplicationId string `pulumi:"applicationId"` - // Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // + // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // + // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) // // You can find configuration templates for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - // - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration interface{} `pulumi:"configuration"` @@ -156,12 +166,17 @@ type dataSourceArgs struct { type DataSourceArgs struct { // The identifier of the Amazon Q Business application the data source will be attached to. ApplicationId pulumi.StringInput - // Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // + // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // + // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) // // You can find configuration templates for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - // - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration pulumi.Input @@ -229,12 +244,17 @@ func (o DataSourceOutput) ApplicationId() pulumi.StringOutput { return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) } -// Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . +// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. +// +// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: +// +// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) +// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) // // You can find configuration templates for your specific data source using the following steps: // -// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. -// - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. +// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. +// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. func (o DataSourceOutput) Configuration() pulumi.AnyOutput { diff --git a/sdk/go/aws/qbusiness/getDataSource.go b/sdk/go/aws/qbusiness/getDataSource.go index 06399f0989..b52bb58122 100644 --- a/sdk/go/aws/qbusiness/getDataSource.go +++ b/sdk/go/aws/qbusiness/getDataSource.go @@ -33,12 +33,17 @@ type LookupDataSourceArgs struct { } type LookupDataSourceResult struct { - // Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + // Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + // + // Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + // + // - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + // - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) // // You can find configuration templates for your specific data source using the following steps: // - // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - // - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + // - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + // - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. Configuration interface{} `pulumi:"configuration"` @@ -120,12 +125,17 @@ func (o LookupDataSourceResultOutput) ToLookupDataSourceResultOutputWithContext( return o } -// Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . +// Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. +// +// Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: +// +// - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) +// - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) // // You can find configuration templates for your specific data source using the following steps: // -// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. -// - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. +// - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. +// - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. func (o LookupDataSourceResultOutput) Configuration() pulumi.AnyOutput { diff --git a/sdk/go/aws/qbusiness/getWebExperience.go b/sdk/go/aws/qbusiness/getWebExperience.go index 5efa339356..59f0a443ba 100644 --- a/sdk/go/aws/qbusiness/getWebExperience.go +++ b/sdk/go/aws/qbusiness/getWebExperience.go @@ -37,6 +37,7 @@ type LookupWebExperienceResult struct { DefaultEndpoint *string `pulumi:"defaultEndpoint"` // Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. IdentityProviderConfiguration interface{} `pulumi:"identityProviderConfiguration"` + Origins []string `pulumi:"origins"` // The Amazon Resource Name (ARN) of the service role attached to your web experience. // // > You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value. @@ -120,6 +121,10 @@ func (o LookupWebExperienceResultOutput) IdentityProviderConfiguration() pulumi. return o.ApplyT(func(v LookupWebExperienceResult) interface{} { return v.IdentityProviderConfiguration }).(pulumi.AnyOutput) } +func (o LookupWebExperienceResultOutput) Origins() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupWebExperienceResult) []string { return v.Origins }).(pulumi.StringArrayOutput) +} + // The Amazon Resource Name (ARN) of the service role attached to your web experience. // // > You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value. diff --git a/sdk/go/aws/qbusiness/webExperience.go b/sdk/go/aws/qbusiness/webExperience.go index 30977d8a47..41c0c6cdbb 100644 --- a/sdk/go/aws/qbusiness/webExperience.go +++ b/sdk/go/aws/qbusiness/webExperience.go @@ -24,7 +24,8 @@ type WebExperience struct { // The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS . DefaultEndpoint pulumi.StringOutput `pulumi:"defaultEndpoint"` // Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. - IdentityProviderConfiguration pulumi.AnyOutput `pulumi:"identityProviderConfiguration"` + IdentityProviderConfiguration pulumi.AnyOutput `pulumi:"identityProviderConfiguration"` + Origins pulumi.StringArrayOutput `pulumi:"origins"` // The Amazon Resource Name (ARN) of the service role attached to your web experience. // // > You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value. @@ -100,6 +101,7 @@ type webExperienceArgs struct { ApplicationId string `pulumi:"applicationId"` // Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. IdentityProviderConfiguration interface{} `pulumi:"identityProviderConfiguration"` + Origins []string `pulumi:"origins"` // The Amazon Resource Name (ARN) of the service role attached to your web experience. // // > You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value. @@ -122,6 +124,7 @@ type WebExperienceArgs struct { ApplicationId pulumi.StringInput // Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. IdentityProviderConfiguration pulumi.Input + Origins pulumi.StringArrayInput // The Amazon Resource Name (ARN) of the service role attached to your web experience. // // > You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value. @@ -195,6 +198,10 @@ func (o WebExperienceOutput) IdentityProviderConfiguration() pulumi.AnyOutput { return o.ApplyT(func(v *WebExperience) pulumi.AnyOutput { return v.IdentityProviderConfiguration }).(pulumi.AnyOutput) } +func (o WebExperienceOutput) Origins() pulumi.StringArrayOutput { + return o.ApplyT(func(v *WebExperience) pulumi.StringArrayOutput { return v.Origins }).(pulumi.StringArrayOutput) +} + // The Amazon Resource Name (ARN) of the service role attached to your web experience. // // > You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value. diff --git a/sdk/go/aws/quicksight/analysis.go b/sdk/go/aws/quicksight/analysis.go index 9ca778c980..8dfc86fb3e 100644 --- a/sdk/go/aws/quicksight/analysis.go +++ b/sdk/go/aws/quicksight/analysis.go @@ -29,7 +29,8 @@ type Analysis struct { DataSetArns pulumi.StringArrayOutput `pulumi:"dataSetArns"` Definition AnalysisDefinitionPtrOutput `pulumi:"definition"` //

Errors associated with the analysis.

- Errors AnalysisErrorArrayOutput `pulumi:"errors"` + Errors AnalysisErrorArrayOutput `pulumi:"errors"` + FolderArns pulumi.StringArrayOutput `pulumi:"folderArns"` //

The time that the analysis was last updated.

LastUpdatedTime pulumi.StringOutput `pulumi:"lastUpdatedTime"` //

The descriptive name of the analysis.

@@ -113,7 +114,8 @@ type analysisArgs struct { AwsAccountId string `pulumi:"awsAccountId"` Definition *AnalysisDefinition `pulumi:"definition"` //

Errors associated with the analysis.

- Errors []AnalysisError `pulumi:"errors"` + Errors []AnalysisError `pulumi:"errors"` + FolderArns []string `pulumi:"folderArns"` //

The descriptive name of the analysis.

Name *string `pulumi:"name"` // The parameter names and override values that you want to use. An analysis can have any parameter type, and some parameters might accept multiple values. @@ -146,7 +148,8 @@ type AnalysisArgs struct { AwsAccountId pulumi.StringInput Definition AnalysisDefinitionPtrInput //

Errors associated with the analysis.

- Errors AnalysisErrorArrayInput + Errors AnalysisErrorArrayInput + FolderArns pulumi.StringArrayInput //

The descriptive name of the analysis.

Name pulumi.StringPtrInput // The parameter names and override values that you want to use. An analysis can have any parameter type, and some parameters might accept multiple values. @@ -242,6 +245,10 @@ func (o AnalysisOutput) Errors() AnalysisErrorArrayOutput { return o.ApplyT(func(v *Analysis) AnalysisErrorArrayOutput { return v.Errors }).(AnalysisErrorArrayOutput) } +func (o AnalysisOutput) FolderArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Analysis) pulumi.StringArrayOutput { return v.FolderArns }).(pulumi.StringArrayOutput) +} + //

The time that the analysis was last updated.

func (o AnalysisOutput) LastUpdatedTime() pulumi.StringOutput { return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.LastUpdatedTime }).(pulumi.StringOutput) diff --git a/sdk/go/aws/quicksight/dashboard.go b/sdk/go/aws/quicksight/dashboard.go index 5c90a60482..2852bdfcbc 100644 --- a/sdk/go/aws/quicksight/dashboard.go +++ b/sdk/go/aws/quicksight/dashboard.go @@ -32,6 +32,7 @@ type Dashboard struct { // - `VisibilityState` for `SheetControlsOption` - This visibility state can be either `COLLAPSED` or `EXPANDED` . This option is `COLLAPSED` by default. DashboardPublishOptions DashboardPublishOptionsPtrOutput `pulumi:"dashboardPublishOptions"` Definition DashboardVersionDefinitionPtrOutput `pulumi:"definition"` + FolderArns pulumi.StringArrayOutput `pulumi:"folderArns"` //

The last time that this dashboard was published.

LastPublishedTime pulumi.StringOutput `pulumi:"lastPublishedTime"` //

The last time that this dashboard was updated.

@@ -125,6 +126,7 @@ type dashboardArgs struct { // - `VisibilityState` for `SheetControlsOption` - This visibility state can be either `COLLAPSED` or `EXPANDED` . This option is `COLLAPSED` by default. DashboardPublishOptions *DashboardPublishOptions `pulumi:"dashboardPublishOptions"` Definition *DashboardVersionDefinition `pulumi:"definition"` + FolderArns []string `pulumi:"folderArns"` // A list of analysis Amazon Resource Names (ARNs) to be linked to the dashboard. LinkEntities []string `pulumi:"linkEntities"` // A structure that contains the link sharing configurations that you want to apply overrides to. @@ -164,6 +166,7 @@ type DashboardArgs struct { // - `VisibilityState` for `SheetControlsOption` - This visibility state can be either `COLLAPSED` or `EXPANDED` . This option is `COLLAPSED` by default. DashboardPublishOptions DashboardPublishOptionsPtrInput Definition DashboardVersionDefinitionPtrInput + FolderArns pulumi.StringArrayInput // A list of analysis Amazon Resource Names (ARNs) to be linked to the dashboard. LinkEntities pulumi.StringArrayInput // A structure that contains the link sharing configurations that you want to apply overrides to. @@ -260,6 +263,10 @@ func (o DashboardOutput) Definition() DashboardVersionDefinitionPtrOutput { return o.ApplyT(func(v *Dashboard) DashboardVersionDefinitionPtrOutput { return v.Definition }).(DashboardVersionDefinitionPtrOutput) } +func (o DashboardOutput) FolderArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Dashboard) pulumi.StringArrayOutput { return v.FolderArns }).(pulumi.StringArrayOutput) +} + //

The last time that this dashboard was published.

func (o DashboardOutput) LastPublishedTime() pulumi.StringOutput { return o.ApplyT(func(v *Dashboard) pulumi.StringOutput { return v.LastPublishedTime }).(pulumi.StringOutput) diff --git a/sdk/go/aws/quicksight/dataSource.go b/sdk/go/aws/quicksight/dataSource.go index b7d3955e19..03206a6221 100644 --- a/sdk/go/aws/quicksight/dataSource.go +++ b/sdk/go/aws/quicksight/dataSource.go @@ -40,7 +40,8 @@ type DataSource struct { // The parameters that Amazon QuickSight uses to connect to your underlying source. DataSourceParameters DataSourceParametersPtrOutput `pulumi:"dataSourceParameters"` // Error information from the last update or the creation of the data source. - ErrorInfo DataSourceErrorInfoPtrOutput `pulumi:"errorInfo"` + ErrorInfo DataSourceErrorInfoPtrOutput `pulumi:"errorInfo"` + FolderArns pulumi.StringArrayOutput `pulumi:"folderArns"` //

The last time that this data source was updated.

LastUpdatedTime pulumi.StringOutput `pulumi:"lastUpdatedTime"` // A display name for the data source. @@ -129,7 +130,8 @@ type dataSourceArgs struct { // The parameters that Amazon QuickSight uses to connect to your underlying source. DataSourceParameters *DataSourceParameters `pulumi:"dataSourceParameters"` // Error information from the last update or the creation of the data source. - ErrorInfo *DataSourceErrorInfo `pulumi:"errorInfo"` + ErrorInfo *DataSourceErrorInfo `pulumi:"errorInfo"` + FolderArns []string `pulumi:"folderArns"` // A display name for the data source. Name *string `pulumi:"name"` // A list of resource permissions on the data source. @@ -167,7 +169,8 @@ type DataSourceArgs struct { // The parameters that Amazon QuickSight uses to connect to your underlying source. DataSourceParameters DataSourceParametersPtrInput // Error information from the last update or the creation of the data source. - ErrorInfo DataSourceErrorInfoPtrInput + ErrorInfo DataSourceErrorInfoPtrInput + FolderArns pulumi.StringArrayInput // A display name for the data source. Name pulumi.StringPtrInput // A list of resource permissions on the data source. @@ -270,6 +273,10 @@ func (o DataSourceOutput) ErrorInfo() DataSourceErrorInfoPtrOutput { return o.ApplyT(func(v *DataSource) DataSourceErrorInfoPtrOutput { return v.ErrorInfo }).(DataSourceErrorInfoPtrOutput) } +func (o DataSourceOutput) FolderArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DataSource) pulumi.StringArrayOutput { return v.FolderArns }).(pulumi.StringArrayOutput) +} + //

The last time that this data source was updated.

func (o DataSourceOutput) LastUpdatedTime() pulumi.StringOutput { return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.LastUpdatedTime }).(pulumi.StringOutput) diff --git a/sdk/go/aws/quicksight/folder.go b/sdk/go/aws/quicksight/folder.go index b231b31b5f..cfaaef0446 100644 --- a/sdk/go/aws/quicksight/folder.go +++ b/sdk/go/aws/quicksight/folder.go @@ -17,7 +17,8 @@ type Folder struct { pulumi.CustomResourceState //

The Amazon Resource Name (ARN) for the folder.

- Arn pulumi.StringOutput `pulumi:"arn"` + Arn pulumi.StringOutput `pulumi:"arn"` + // The ID for the AWS account where you want to create the folder. AwsAccountId pulumi.StringPtrOutput `pulumi:"awsAccountId"` //

The time that the folder was created.

CreatedTime pulumi.StringOutput `pulumi:"createdTime"` @@ -29,9 +30,12 @@ type Folder struct { LastUpdatedTime pulumi.StringOutput `pulumi:"lastUpdatedTime"` // A display name for the folder. Name pulumi.StringPtrOutput `pulumi:"name"` - // A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. - ParentFolderArn pulumi.StringPtrOutput `pulumi:"parentFolderArn"` - Permissions FolderResourcePermissionArrayOutput `pulumi:"permissions"` + // The Amazon Resource Name (ARN) for the folder. + ParentFolderArn pulumi.StringPtrOutput `pulumi:"parentFolderArn"` + // A structure that describes the principals and the resource-level permissions of a folder. + // + // To specify no permissions, omit `Permissions` . + Permissions FolderResourcePermissionArrayOutput `pulumi:"permissions"` // The sharing scope of the folder. SharingModel FolderSharingModelPtrOutput `pulumi:"sharingModel"` // A list of tags for the folders that you want to apply overrides to. @@ -86,6 +90,7 @@ func (FolderState) ElementType() reflect.Type { } type folderArgs struct { + // The ID for the AWS account where you want to create the folder. AwsAccountId *string `pulumi:"awsAccountId"` // The ID of the folder. FolderId *string `pulumi:"folderId"` @@ -93,9 +98,12 @@ type folderArgs struct { FolderType *FolderType `pulumi:"folderType"` // A display name for the folder. Name *string `pulumi:"name"` - // A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. - ParentFolderArn *string `pulumi:"parentFolderArn"` - Permissions []FolderResourcePermission `pulumi:"permissions"` + // The Amazon Resource Name (ARN) for the folder. + ParentFolderArn *string `pulumi:"parentFolderArn"` + // A structure that describes the principals and the resource-level permissions of a folder. + // + // To specify no permissions, omit `Permissions` . + Permissions []FolderResourcePermission `pulumi:"permissions"` // The sharing scope of the folder. SharingModel *FolderSharingModel `pulumi:"sharingModel"` // A list of tags for the folders that you want to apply overrides to. @@ -104,6 +112,7 @@ type folderArgs struct { // The set of arguments for constructing a Folder resource. type FolderArgs struct { + // The ID for the AWS account where you want to create the folder. AwsAccountId pulumi.StringPtrInput // The ID of the folder. FolderId pulumi.StringPtrInput @@ -111,9 +120,12 @@ type FolderArgs struct { FolderType FolderTypePtrInput // A display name for the folder. Name pulumi.StringPtrInput - // A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + // The Amazon Resource Name (ARN) for the folder. ParentFolderArn pulumi.StringPtrInput - Permissions FolderResourcePermissionArrayInput + // A structure that describes the principals and the resource-level permissions of a folder. + // + // To specify no permissions, omit `Permissions` . + Permissions FolderResourcePermissionArrayInput // The sharing scope of the folder. SharingModel FolderSharingModelPtrInput // A list of tags for the folders that you want to apply overrides to. @@ -162,6 +174,7 @@ func (o FolderOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *Folder) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// The ID for the AWS account where you want to create the folder. func (o FolderOutput) AwsAccountId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Folder) pulumi.StringPtrOutput { return v.AwsAccountId }).(pulumi.StringPtrOutput) } @@ -191,11 +204,14 @@ func (o FolderOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v *Folder) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) } -// A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. +// The Amazon Resource Name (ARN) for the folder. func (o FolderOutput) ParentFolderArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Folder) pulumi.StringPtrOutput { return v.ParentFolderArn }).(pulumi.StringPtrOutput) } +// A structure that describes the principals and the resource-level permissions of a folder. +// +// To specify no permissions, omit `Permissions` . func (o FolderOutput) Permissions() FolderResourcePermissionArrayOutput { return o.ApplyT(func(v *Folder) FolderResourcePermissionArrayOutput { return v.Permissions }).(FolderResourcePermissionArrayOutput) } diff --git a/sdk/go/aws/quicksight/getFolder.go b/sdk/go/aws/quicksight/getFolder.go index 27275f6cb7..fd2ac57398 100644 --- a/sdk/go/aws/quicksight/getFolder.go +++ b/sdk/go/aws/quicksight/getFolder.go @@ -24,6 +24,7 @@ func LookupFolder(ctx *pulumi.Context, args *LookupFolderArgs, opts ...pulumi.In } type LookupFolderArgs struct { + // The ID for the AWS account where you want to create the folder. AwsAccountId string `pulumi:"awsAccountId"` // The ID of the folder. FolderId string `pulumi:"folderId"` @@ -37,7 +38,10 @@ type LookupFolderResult struct { //

The time that the folder was last updated.

LastUpdatedTime *string `pulumi:"lastUpdatedTime"` // A display name for the folder. - Name *string `pulumi:"name"` + Name *string `pulumi:"name"` + // A structure that describes the principals and the resource-level permissions of a folder. + // + // To specify no permissions, omit `Permissions` . Permissions []FolderResourcePermission `pulumi:"permissions"` // A list of tags for the folders that you want to apply overrides to. Tags []aws.Tag `pulumi:"tags"` @@ -63,6 +67,7 @@ func LookupFolderOutput(ctx *pulumi.Context, args LookupFolderOutputArgs, opts . } type LookupFolderOutputArgs struct { + // The ID for the AWS account where you want to create the folder. AwsAccountId pulumi.StringInput `pulumi:"awsAccountId"` // The ID of the folder. FolderId pulumi.StringInput `pulumi:"folderId"` @@ -106,6 +111,9 @@ func (o LookupFolderResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupFolderResult) *string { return v.Name }).(pulumi.StringPtrOutput) } +// A structure that describes the principals and the resource-level permissions of a folder. +// +// To specify no permissions, omit `Permissions` . func (o LookupFolderResultOutput) Permissions() FolderResourcePermissionArrayOutput { return o.ApplyT(func(v LookupFolderResult) []FolderResourcePermission { return v.Permissions }).(FolderResourcePermissionArrayOutput) } diff --git a/sdk/go/aws/quicksight/pulumiEnums.go b/sdk/go/aws/quicksight/pulumiEnums.go index 2d1cf218f7..e0a2cfa31c 100644 --- a/sdk/go/aws/quicksight/pulumiEnums.go +++ b/sdk/go/aws/quicksight/pulumiEnums.go @@ -43041,6 +43041,7 @@ const ( DataSourceTypePresto = DataSourceType("PRESTO") DataSourceTypeRedshift = DataSourceType("REDSHIFT") DataSourceTypeS3 = DataSourceType("S3") + DataSourceTypeS3Tables = DataSourceType("S3_TABLES") DataSourceTypeSalesforce = DataSourceType("SALESFORCE") DataSourceTypeServicenow = DataSourceType("SERVICENOW") DataSourceTypeSnowflake = DataSourceType("SNOWFLAKE") @@ -43207,6 +43208,7 @@ func (o DataSourceTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Contex // DataSourceTypePresto // DataSourceTypeRedshift // DataSourceTypeS3 +// DataSourceTypeS3Tables // DataSourceTypeSalesforce // DataSourceTypeServicenow // DataSourceTypeSnowflake diff --git a/sdk/go/aws/quicksight/pulumiTypes.go b/sdk/go/aws/quicksight/pulumiTypes.go index 1c79fdb788..a027a40af1 100644 --- a/sdk/go/aws/quicksight/pulumiTypes.go +++ b/sdk/go/aws/quicksight/pulumiTypes.go @@ -22565,7 +22565,8 @@ type AnalysisDestinationParameterValueConfiguration struct { CustomValuesConfiguration *AnalysisCustomValuesConfiguration `pulumi:"customValuesConfiguration"` // The configuration that selects all options. SelectAllValueOptions *AnalysisSelectAllValueOptions `pulumi:"selectAllValueOptions"` - SourceColumn *AnalysisColumnIdentifier `pulumi:"sourceColumn"` + // A column of a data set. + SourceColumn *AnalysisColumnIdentifier `pulumi:"sourceColumn"` // The source field ID of the destination parameter. SourceField *string `pulumi:"sourceField"` // The source parameter name of the destination parameter. @@ -22588,7 +22589,8 @@ type AnalysisDestinationParameterValueConfigurationArgs struct { CustomValuesConfiguration AnalysisCustomValuesConfigurationPtrInput `pulumi:"customValuesConfiguration"` // The configuration that selects all options. SelectAllValueOptions AnalysisSelectAllValueOptionsPtrInput `pulumi:"selectAllValueOptions"` - SourceColumn AnalysisColumnIdentifierPtrInput `pulumi:"sourceColumn"` + // A column of a data set. + SourceColumn AnalysisColumnIdentifierPtrInput `pulumi:"sourceColumn"` // The source field ID of the destination parameter. SourceField pulumi.StringPtrInput `pulumi:"sourceField"` // The source parameter name of the destination parameter. @@ -22635,6 +22637,7 @@ func (o AnalysisDestinationParameterValueConfigurationOutput) SelectAllValueOpti }).(AnalysisSelectAllValueOptionsPtrOutput) } +// A column of a data set. func (o AnalysisDestinationParameterValueConfigurationOutput) SourceColumn() AnalysisColumnIdentifierPtrOutput { return o.ApplyT(func(v AnalysisDestinationParameterValueConfiguration) *AnalysisColumnIdentifier { return v.SourceColumn diff --git a/sdk/go/aws/quicksight/pulumiTypes1.go b/sdk/go/aws/quicksight/pulumiTypes1.go index 0ad15acd03..74896e720d 100644 --- a/sdk/go/aws/quicksight/pulumiTypes1.go +++ b/sdk/go/aws/quicksight/pulumiTypes1.go @@ -21599,7 +21599,8 @@ type DashboardDestinationParameterValueConfiguration struct { CustomValuesConfiguration *DashboardCustomValuesConfiguration `pulumi:"customValuesConfiguration"` // The configuration that selects all options. SelectAllValueOptions *DashboardSelectAllValueOptions `pulumi:"selectAllValueOptions"` - SourceColumn *DashboardColumnIdentifier `pulumi:"sourceColumn"` + // A column of a data set. + SourceColumn *DashboardColumnIdentifier `pulumi:"sourceColumn"` // The source field ID of the destination parameter. SourceField *string `pulumi:"sourceField"` // The source parameter name of the destination parameter. @@ -21622,7 +21623,8 @@ type DashboardDestinationParameterValueConfigurationArgs struct { CustomValuesConfiguration DashboardCustomValuesConfigurationPtrInput `pulumi:"customValuesConfiguration"` // The configuration that selects all options. SelectAllValueOptions DashboardSelectAllValueOptionsPtrInput `pulumi:"selectAllValueOptions"` - SourceColumn DashboardColumnIdentifierPtrInput `pulumi:"sourceColumn"` + // A column of a data set. + SourceColumn DashboardColumnIdentifierPtrInput `pulumi:"sourceColumn"` // The source field ID of the destination parameter. SourceField pulumi.StringPtrInput `pulumi:"sourceField"` // The source parameter name of the destination parameter. @@ -21669,6 +21671,7 @@ func (o DashboardDestinationParameterValueConfigurationOutput) SelectAllValueOpt }).(DashboardSelectAllValueOptionsPtrOutput) } +// A column of a data set. func (o DashboardDestinationParameterValueConfigurationOutput) SourceColumn() DashboardColumnIdentifierPtrOutput { return o.ApplyT(func(v DashboardDestinationParameterValueConfiguration) *DashboardColumnIdentifier { return v.SourceColumn diff --git a/sdk/go/aws/quicksight/pulumiTypes2.go b/sdk/go/aws/quicksight/pulumiTypes2.go index 010b743dbb..7647f2e3ca 100644 --- a/sdk/go/aws/quicksight/pulumiTypes2.go +++ b/sdk/go/aws/quicksight/pulumiTypes2.go @@ -6556,7 +6556,8 @@ type DataSetTransformOperation struct { // An operation that creates calculated columns. Columns created in one such operation form a lexical closure. CreateColumnsOperation *DataSetCreateColumnsOperation `pulumi:"createColumnsOperation"` // An operation that filters rows based on some condition. - FilterOperation *DataSetFilterOperation `pulumi:"filterOperation"` + FilterOperation *DataSetFilterOperation `pulumi:"filterOperation"` + // A transform operation that overrides the dataset parameter values that are defined in another dataset. OverrideDatasetParameterOperation *DataSetOverrideDatasetParameterOperation `pulumi:"overrideDatasetParameterOperation"` // An operation that projects columns. Operations that come after a projection can only refer to projected columns. ProjectOperation *DataSetProjectOperation `pulumi:"projectOperation"` @@ -6587,7 +6588,8 @@ type DataSetTransformOperationArgs struct { // An operation that creates calculated columns. Columns created in one such operation form a lexical closure. CreateColumnsOperation DataSetCreateColumnsOperationPtrInput `pulumi:"createColumnsOperation"` // An operation that filters rows based on some condition. - FilterOperation DataSetFilterOperationPtrInput `pulumi:"filterOperation"` + FilterOperation DataSetFilterOperationPtrInput `pulumi:"filterOperation"` + // A transform operation that overrides the dataset parameter values that are defined in another dataset. OverrideDatasetParameterOperation DataSetOverrideDatasetParameterOperationPtrInput `pulumi:"overrideDatasetParameterOperation"` // An operation that projects columns. Operations that come after a projection can only refer to projected columns. ProjectOperation DataSetProjectOperationPtrInput `pulumi:"projectOperation"` @@ -6667,6 +6669,7 @@ func (o DataSetTransformOperationOutput) FilterOperation() DataSetFilterOperatio return o.ApplyT(func(v DataSetTransformOperation) *DataSetFilterOperation { return v.FilterOperation }).(DataSetFilterOperationPtrOutput) } +// A transform operation that overrides the dataset parameter values that are defined in another dataset. func (o DataSetTransformOperationOutput) OverrideDatasetParameterOperation() DataSetOverrideDatasetParameterOperationPtrOutput { return o.ApplyT(func(v DataSetTransformOperation) *DataSetOverrideDatasetParameterOperation { return v.OverrideDatasetParameterOperation @@ -36083,7 +36086,8 @@ type TemplateDestinationParameterValueConfiguration struct { CustomValuesConfiguration *TemplateCustomValuesConfiguration `pulumi:"customValuesConfiguration"` // The configuration that selects all options. SelectAllValueOptions *TemplateSelectAllValueOptions `pulumi:"selectAllValueOptions"` - SourceColumn *TemplateColumnIdentifier `pulumi:"sourceColumn"` + // A column of a data set. + SourceColumn *TemplateColumnIdentifier `pulumi:"sourceColumn"` // The source field ID of the destination parameter. SourceField *string `pulumi:"sourceField"` // The source parameter name of the destination parameter. @@ -36106,7 +36110,8 @@ type TemplateDestinationParameterValueConfigurationArgs struct { CustomValuesConfiguration TemplateCustomValuesConfigurationPtrInput `pulumi:"customValuesConfiguration"` // The configuration that selects all options. SelectAllValueOptions TemplateSelectAllValueOptionsPtrInput `pulumi:"selectAllValueOptions"` - SourceColumn TemplateColumnIdentifierPtrInput `pulumi:"sourceColumn"` + // A column of a data set. + SourceColumn TemplateColumnIdentifierPtrInput `pulumi:"sourceColumn"` // The source field ID of the destination parameter. SourceField pulumi.StringPtrInput `pulumi:"sourceField"` // The source parameter name of the destination parameter. @@ -36153,6 +36158,7 @@ func (o TemplateDestinationParameterValueConfigurationOutput) SelectAllValueOpti }).(TemplateSelectAllValueOptionsPtrOutput) } +// A column of a data set. func (o TemplateDestinationParameterValueConfigurationOutput) SourceColumn() TemplateColumnIdentifierPtrOutput { return o.ApplyT(func(v TemplateDestinationParameterValueConfiguration) *TemplateColumnIdentifier { return v.SourceColumn diff --git a/sdk/go/aws/quicksight/pulumiTypes3.go b/sdk/go/aws/quicksight/pulumiTypes3.go index c9232481f1..b911510a24 100644 --- a/sdk/go/aws/quicksight/pulumiTypes3.go +++ b/sdk/go/aws/quicksight/pulumiTypes3.go @@ -13589,7 +13589,8 @@ type ThemeConfiguration struct { // Color properties that apply to chart data colors. DataColorPalette *ThemeDataColorPalette `pulumi:"dataColorPalette"` // Display options related to sheets. - Sheet *ThemeSheetStyle `pulumi:"sheet"` + Sheet *ThemeSheetStyle `pulumi:"sheet"` + // Determines the typography options. Typography *ThemeTypography `pulumi:"typography"` // Color properties that apply to the UI and to charts, excluding the colors that apply to data. UiColorPalette *ThemeUiColorPalette `pulumi:"uiColorPalette"` @@ -13613,7 +13614,8 @@ type ThemeConfigurationArgs struct { // Color properties that apply to chart data colors. DataColorPalette ThemeDataColorPalettePtrInput `pulumi:"dataColorPalette"` // Display options related to sheets. - Sheet ThemeSheetStylePtrInput `pulumi:"sheet"` + Sheet ThemeSheetStylePtrInput `pulumi:"sheet"` + // Determines the typography options. Typography ThemeTypographyPtrInput `pulumi:"typography"` // Color properties that apply to the UI and to charts, excluding the colors that apply to data. UiColorPalette ThemeUiColorPalettePtrInput `pulumi:"uiColorPalette"` @@ -13658,6 +13660,7 @@ func (o ThemeConfigurationOutput) Sheet() ThemeSheetStylePtrOutput { return o.ApplyT(func(v ThemeConfiguration) *ThemeSheetStyle { return v.Sheet }).(ThemeSheetStylePtrOutput) } +// Determines the typography options. func (o ThemeConfigurationOutput) Typography() ThemeTypographyPtrOutput { return o.ApplyT(func(v ThemeConfiguration) *ThemeTypography { return v.Typography }).(ThemeTypographyPtrOutput) } @@ -13711,6 +13714,7 @@ func (o ThemeConfigurationPtrOutput) Sheet() ThemeSheetStylePtrOutput { }).(ThemeSheetStylePtrOutput) } +// Determines the typography options. func (o ThemeConfigurationPtrOutput) Typography() ThemeTypographyPtrOutput { return o.ApplyT(func(v *ThemeConfiguration) *ThemeTypography { if v == nil { diff --git a/sdk/go/aws/rds/dbInstance.go b/sdk/go/aws/rds/dbInstance.go index 4c372bd12a..10f3d115e0 100644 --- a/sdk/go/aws/rds/dbInstance.go +++ b/sdk/go/aws/rds/dbInstance.go @@ -243,16 +243,13 @@ type DbInstance struct { // + ``CharacterSetName`` // + ``DBClusterIdentifier`` // + ``DBName`` - // + ``DeleteAutomatedBackups`` // + ``KmsKeyId`` // + ``MasterUsername`` // + ``MasterUserPassword`` - // + ``PerformanceInsightsKMSKeyId`` - // + ``PerformanceInsightsRetentionPeriod`` // + ``PromotionTier`` // + ``SourceDBInstanceIdentifier`` // + ``SourceRegion`` - // + ``StorageEncrypted`` (for an encrypted snapshot) + // + ``StorageEncrypted`` (for an unencrypted snapshot) // + ``Timezone`` // // *Amazon Aurora* @@ -909,16 +906,13 @@ type dbInstanceArgs struct { // + ``CharacterSetName`` // + ``DBClusterIdentifier`` // + ``DBName`` - // + ``DeleteAutomatedBackups`` // + ``KmsKeyId`` // + ``MasterUsername`` // + ``MasterUserPassword`` - // + ``PerformanceInsightsKMSKeyId`` - // + ``PerformanceInsightsRetentionPeriod`` // + ``PromotionTier`` // + ``SourceDBInstanceIdentifier`` // + ``SourceRegion`` - // + ``StorageEncrypted`` (for an encrypted snapshot) + // + ``StorageEncrypted`` (for an unencrypted snapshot) // + ``Timezone`` // // *Amazon Aurora* @@ -1517,16 +1511,13 @@ type DbInstanceArgs struct { // + ``CharacterSetName`` // + ``DBClusterIdentifier`` // + ``DBName`` - // + ``DeleteAutomatedBackups`` // + ``KmsKeyId`` // + ``MasterUsername`` // + ``MasterUserPassword`` - // + ``PerformanceInsightsKMSKeyId`` - // + ``PerformanceInsightsRetentionPeriod`` // + ``PromotionTier`` // + ``SourceDBInstanceIdentifier`` // + ``SourceRegion`` - // + ``StorageEncrypted`` (for an encrypted snapshot) + // + ``StorageEncrypted`` (for an unencrypted snapshot) // + ``Timezone`` // // *Amazon Aurora* @@ -2245,16 +2236,13 @@ func (o DbInstanceOutput) DbSecurityGroups() pulumi.StringArrayOutput { // + ``CharacterSetName`` // + ``DBClusterIdentifier`` // + ``DBName`` -// + ``DeleteAutomatedBackups`` // + ``KmsKeyId`` // + ``MasterUsername`` // + ``MasterUserPassword`` -// + ``PerformanceInsightsKMSKeyId`` -// + ``PerformanceInsightsRetentionPeriod`` // + ``PromotionTier`` // + ``SourceDBInstanceIdentifier`` // + ``SourceRegion`` -// + ``StorageEncrypted`` (for an encrypted snapshot) +// + ``StorageEncrypted`` (for an unencrypted snapshot) // + ``Timezone`` // // *Amazon Aurora* diff --git a/sdk/go/aws/rds/getDbSubnetGroup.go b/sdk/go/aws/rds/getDbSubnetGroup.go index b4a0c9bd9e..5358b05d03 100644 --- a/sdk/go/aws/rds/getDbSubnetGroup.go +++ b/sdk/go/aws/rds/getDbSubnetGroup.go @@ -39,6 +39,8 @@ type LookupDbSubnetGroupArgs struct { type LookupDbSubnetGroupResult struct { // The description for the DB subnet group. DbSubnetGroupDescription *string `pulumi:"dbSubnetGroupDescription"` + // The EC2 Subnet IDs for the DB subnet group. + SubnetIds []string `pulumi:"subnetIds"` // Tags to assign to the DB subnet group. Tags []aws.Tag `pulumi:"tags"` } @@ -96,6 +98,11 @@ func (o LookupDbSubnetGroupResultOutput) DbSubnetGroupDescription() pulumi.Strin return o.ApplyT(func(v LookupDbSubnetGroupResult) *string { return v.DbSubnetGroupDescription }).(pulumi.StringPtrOutput) } +// The EC2 Subnet IDs for the DB subnet group. +func (o LookupDbSubnetGroupResultOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupDbSubnetGroupResult) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + // Tags to assign to the DB subnet group. func (o LookupDbSubnetGroupResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupDbSubnetGroupResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) diff --git a/sdk/go/aws/sagemaker/getImageVersion.go b/sdk/go/aws/sagemaker/getImageVersion.go index 7e776626f5..1f88a9e27e 100644 --- a/sdk/go/aws/sagemaker/getImageVersion.go +++ b/sdk/go/aws/sagemaker/getImageVersion.go @@ -53,7 +53,7 @@ type LookupImageVersionResult struct { ProgrammingLang *string `pulumi:"programmingLang"` ReleaseNotes *string `pulumi:"releaseNotes"` VendorGuidance *ImageVersionVendorGuidance `pulumi:"vendorGuidance"` - // The version number. + // The version of the image. Version *int `pulumi:"version"` } @@ -154,7 +154,7 @@ func (o LookupImageVersionResultOutput) VendorGuidance() ImageVersionVendorGuida return o.ApplyT(func(v LookupImageVersionResult) *ImageVersionVendorGuidance { return v.VendorGuidance }).(ImageVersionVendorGuidancePtrOutput) } -// The version number. +// The version of the image. func (o LookupImageVersionResultOutput) Version() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupImageVersionResult) *int { return v.Version }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/sagemaker/imageVersion.go b/sdk/go/aws/sagemaker/imageVersion.go index b65d7b6e43..a59d211d6f 100644 --- a/sdk/go/aws/sagemaker/imageVersion.go +++ b/sdk/go/aws/sagemaker/imageVersion.go @@ -45,7 +45,7 @@ type ImageVersion struct { ProgrammingLang pulumi.StringPtrOutput `pulumi:"programmingLang"` ReleaseNotes pulumi.StringPtrOutput `pulumi:"releaseNotes"` VendorGuidance ImageVersionVendorGuidancePtrOutput `pulumi:"vendorGuidance"` - // The version number. + // The version of the image. Version pulumi.IntOutput `pulumi:"version"` } @@ -248,7 +248,7 @@ func (o ImageVersionOutput) VendorGuidance() ImageVersionVendorGuidancePtrOutput return o.ApplyT(func(v *ImageVersion) ImageVersionVendorGuidancePtrOutput { return v.VendorGuidance }).(ImageVersionVendorGuidancePtrOutput) } -// The version number. +// The version of the image. func (o ImageVersionOutput) Version() pulumi.IntOutput { return o.ApplyT(func(v *ImageVersion) pulumi.IntOutput { return v.Version }).(pulumi.IntOutput) } diff --git a/sdk/go/aws/sqs/getQueue.go b/sdk/go/aws/sqs/getQueue.go index 687192a476..17e9d608ad 100644 --- a/sdk/go/aws/sqs/getQueue.go +++ b/sdk/go/aws/sqs/getQueue.go @@ -21,7 +21,7 @@ import ( // + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. // + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. // -// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. +// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. func LookupQueue(ctx *pulumi.Context, args *LookupQueueArgs, opts ...pulumi.InvokeOption) (*LookupQueueResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupQueueResult @@ -53,11 +53,11 @@ type LookupQueueResult struct { // The length of time in seconds for which SQS can reuse a data key to encrypt or decrypt messages before calling KMS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes). // A shorter time period provides better security, but results in more calls to KMS, which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Developer Guide*. KmsDataKeyReusePeriodSeconds *int `pulumi:"kmsDataKeyReusePeriodSeconds"` - // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: // + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* // + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* // + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - // + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + // + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* KmsMasterKeyId *string `pulumi:"kmsMasterKeyId"` // The limit of how many bytes that a message can contain before SQS rejects it. You can specify an integer value from ``1,024`` bytes (1 KiB) to ``262,144`` bytes (256 KiB). The default value is ``262,144`` (256 KiB). MaximumMessageSize *int `pulumi:"maximumMessageSize"` @@ -68,18 +68,18 @@ type LookupQueueResult struct { // Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Developer Guide*. ReceiveMessageWaitTimeSeconds *int `pulumi:"receiveMessageWaitTimeSeconds"` // The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. // - // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. RedriveAllowPolicy interface{} `pulumi:"redriveAllowPolicy"` // The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - // + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + // + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. // // The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. // *JSON* @@ -178,11 +178,11 @@ func (o LookupQueueResultOutput) KmsDataKeyReusePeriodSeconds() pulumi.IntPtrOut return o.ApplyT(func(v LookupQueueResult) *int { return v.KmsDataKeyReusePeriodSeconds }).(pulumi.IntPtrOutput) } -// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. “alias/aws/sqs“), key ARN, or key ID. For more information, see the following: +// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example “alias/aws/sqs“), key ARN, or key ID. For more information, see the following: // - [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* // - [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* // - [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* -// - The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper +// - The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* func (o LookupQueueResultOutput) KmsMasterKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupQueueResult) *string { return v.KmsMasterKeyId }).(pulumi.StringPtrOutput) } @@ -228,7 +228,7 @@ func (o LookupQueueResultOutput) RedriveAllowPolicy() pulumi.AnyOutput { // // - “deadLetterTargetArn“: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of “maxReceiveCount“ is exceeded. // -// - “maxReceiveCount“: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the “ReceiveCount“ for a message exceeds the “maxReceiveCount“ for a queue, SQS moves the message to the dead-letter-queue. +// - “maxReceiveCount“: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the “ReceiveCount“ for a message exceeds the “maxReceiveCount“ for a queue, SQS moves the message to the dead-letter-queue. // // The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. // *JSON* diff --git a/sdk/go/aws/sqs/queue.go b/sdk/go/aws/sqs/queue.go index d5c2b94db6..962d526d5a 100644 --- a/sdk/go/aws/sqs/queue.go +++ b/sdk/go/aws/sqs/queue.go @@ -21,7 +21,7 @@ import ( // + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. // + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. // -// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. +// For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. // // ## Example Usage // ### Example @@ -252,7 +252,7 @@ type Queue struct { DeduplicationScope pulumi.StringPtrOutput `pulumi:"deduplicationScope"` // The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of ``0`` to ``900`` (15 minutes). The default value is ``0``. DelaySeconds pulumi.IntPtrOutput `pulumi:"delaySeconds"` - // If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + // If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. FifoQueue pulumi.BoolPtrOutput `pulumi:"fifoQueue"` // For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``. // To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*. @@ -260,17 +260,17 @@ type Queue struct { // The length of time in seconds for which SQS can reuse a data key to encrypt or decrypt messages before calling KMS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes). // A shorter time period provides better security, but results in more calls to KMS, which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Developer Guide*. KmsDataKeyReusePeriodSeconds pulumi.IntPtrOutput `pulumi:"kmsDataKeyReusePeriodSeconds"` - // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: // + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* // + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* // + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - // + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + // + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* KmsMasterKeyId pulumi.StringPtrOutput `pulumi:"kmsMasterKeyId"` // The limit of how many bytes that a message can contain before SQS rejects it. You can specify an integer value from ``1,024`` bytes (1 KiB) to ``262,144`` bytes (256 KiB). The default value is ``262,144`` (256 KiB). MaximumMessageSize pulumi.IntPtrOutput `pulumi:"maximumMessageSize"` // The number of seconds that SQS retains a message. You can specify an integer value from ``60`` seconds (1 minute) to ``1,209,600`` seconds (14 days). The default value is ``345,600`` seconds (4 days). MessageRetentionPeriod pulumi.IntPtrOutput `pulumi:"messageRetentionPeriod"` - // A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + // A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. // If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. // If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. QueueName pulumi.StringPtrOutput `pulumi:"queueName"` @@ -279,18 +279,18 @@ type Queue struct { // Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Developer Guide*. ReceiveMessageWaitTimeSeconds pulumi.IntPtrOutput `pulumi:"receiveMessageWaitTimeSeconds"` // The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. // - // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. RedriveAllowPolicy pulumi.AnyOutput `pulumi:"redriveAllowPolicy"` // The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - // + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + // + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. // // The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. // *JSON* @@ -363,7 +363,7 @@ type queueArgs struct { DeduplicationScope *string `pulumi:"deduplicationScope"` // The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of ``0`` to ``900`` (15 minutes). The default value is ``0``. DelaySeconds *int `pulumi:"delaySeconds"` - // If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + // If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. FifoQueue *bool `pulumi:"fifoQueue"` // For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``. // To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*. @@ -371,35 +371,35 @@ type queueArgs struct { // The length of time in seconds for which SQS can reuse a data key to encrypt or decrypt messages before calling KMS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes). // A shorter time period provides better security, but results in more calls to KMS, which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Developer Guide*. KmsDataKeyReusePeriodSeconds *int `pulumi:"kmsDataKeyReusePeriodSeconds"` - // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: // + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* // + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* // + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - // + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + // + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* KmsMasterKeyId *string `pulumi:"kmsMasterKeyId"` // The limit of how many bytes that a message can contain before SQS rejects it. You can specify an integer value from ``1,024`` bytes (1 KiB) to ``262,144`` bytes (256 KiB). The default value is ``262,144`` (256 KiB). MaximumMessageSize *int `pulumi:"maximumMessageSize"` // The number of seconds that SQS retains a message. You can specify an integer value from ``60`` seconds (1 minute) to ``1,209,600`` seconds (14 days). The default value is ``345,600`` seconds (4 days). MessageRetentionPeriod *int `pulumi:"messageRetentionPeriod"` - // A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + // A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. // If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. // If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. QueueName *string `pulumi:"queueName"` // Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Developer Guide*. ReceiveMessageWaitTimeSeconds *int `pulumi:"receiveMessageWaitTimeSeconds"` // The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. // - // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. RedriveAllowPolicy interface{} `pulumi:"redriveAllowPolicy"` // The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - // + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + // + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. // // The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. // *JSON* @@ -429,7 +429,7 @@ type QueueArgs struct { DeduplicationScope pulumi.StringPtrInput // The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of ``0`` to ``900`` (15 minutes). The default value is ``0``. DelaySeconds pulumi.IntPtrInput - // If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + // If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. FifoQueue pulumi.BoolPtrInput // For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``. // To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*. @@ -437,35 +437,35 @@ type QueueArgs struct { // The length of time in seconds for which SQS can reuse a data key to encrypt or decrypt messages before calling KMS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes). // A shorter time period provides better security, but results in more calls to KMS, which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Developer Guide*. KmsDataKeyReusePeriodSeconds pulumi.IntPtrInput - // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + // The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: // + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* // + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* // + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - // + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + // + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* KmsMasterKeyId pulumi.StringPtrInput // The limit of how many bytes that a message can contain before SQS rejects it. You can specify an integer value from ``1,024`` bytes (1 KiB) to ``262,144`` bytes (256 KiB). The default value is ``262,144`` (256 KiB). MaximumMessageSize pulumi.IntPtrInput // The number of seconds that SQS retains a message. You can specify an integer value from ``60`` seconds (1 minute) to ``1,209,600`` seconds (14 days). The default value is ``345,600`` seconds (4 days). MessageRetentionPeriod pulumi.IntPtrInput - // A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + // A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. // If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. // If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. QueueName pulumi.StringPtrInput // Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Developer Guide*. ReceiveMessageWaitTimeSeconds pulumi.IntPtrInput // The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + // + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + // + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + // + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + // + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. // - // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + // + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. // // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. RedriveAllowPolicy pulumi.Input // The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - // + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + // + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + // + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. // // The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. // *JSON* @@ -545,7 +545,7 @@ func (o QueueOutput) DelaySeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v *Queue) pulumi.IntPtrOutput { return v.DelaySeconds }).(pulumi.IntPtrOutput) } -// If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. +// If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. func (o QueueOutput) FifoQueue() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Queue) pulumi.BoolPtrOutput { return v.FifoQueue }).(pulumi.BoolPtrOutput) } @@ -564,11 +564,11 @@ func (o QueueOutput) KmsDataKeyReusePeriodSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v *Queue) pulumi.IntPtrOutput { return v.KmsDataKeyReusePeriodSeconds }).(pulumi.IntPtrOutput) } -// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. “alias/aws/sqs“), key ARN, or key ID. For more information, see the following: +// The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example “alias/aws/sqs“), key ARN, or key ID. For more information, see the following: // - [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* // - [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* // - [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* -// - The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper +// - The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* func (o QueueOutput) KmsMasterKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Queue) pulumi.StringPtrOutput { return v.KmsMasterKeyId }).(pulumi.StringPtrOutput) } @@ -583,7 +583,7 @@ func (o QueueOutput) MessageRetentionPeriod() pulumi.IntPtrOutput { return o.ApplyT(func(v *Queue) pulumi.IntPtrOutput { return v.MessageRetentionPeriod }).(pulumi.IntPtrOutput) } -// A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the “.fifo“ suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. +// A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the “.fifo“ suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. // // If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. // If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. @@ -622,7 +622,7 @@ func (o QueueOutput) RedriveAllowPolicy() pulumi.AnyOutput { // // - “deadLetterTargetArn“: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of “maxReceiveCount“ is exceeded. // -// - “maxReceiveCount“: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the “ReceiveCount“ for a message exceeds the “maxReceiveCount“ for a queue, SQS moves the message to the dead-letter-queue. +// - “maxReceiveCount“: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the “ReceiveCount“ for a message exceeds the “maxReceiveCount“ for a queue, SQS moves the message to the dead-letter-queue. // // The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. // *JSON* diff --git a/sdk/go/aws/ssmquicksetup/pulumiTypes.go b/sdk/go/aws/ssmquicksetup/pulumiTypes.go index 960830c960..942ca20293 100644 --- a/sdk/go/aws/ssmquicksetup/pulumiTypes.go +++ b/sdk/go/aws/ssmquicksetup/pulumiTypes.go @@ -276,7 +276,7 @@ type ConfigurationManagerConfigurationDefinition struct { // - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". // - `RebootOption` // - // - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + // - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . // - `IsPolicyAttachAllowed` // // - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". @@ -601,7 +601,7 @@ type ConfigurationManagerConfigurationDefinitionArgs struct { // - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". // - `RebootOption` // - // - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + // - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . // - `IsPolicyAttachAllowed` // // - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". @@ -976,7 +976,7 @@ func (o ConfigurationManagerConfigurationDefinitionOutput) LocalDeploymentExecut // - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". // - `RebootOption` // -// - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". +// - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . // - `IsPolicyAttachAllowed` // // - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". diff --git a/sdk/go/aws/transfer/getServer.go b/sdk/go/aws/transfer/getServer.go new file mode 100644 index 0000000000..a9ac6d596f --- /dev/null +++ b/sdk/go/aws/transfer/getServer.go @@ -0,0 +1,337 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package transfer + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Transfer::Server Resource Type +func LookupServer(ctx *pulumi.Context, args *LookupServerArgs, opts ...pulumi.InvokeOption) (*LookupServerResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupServerResult + err := ctx.Invoke("aws-native:transfer:getServer", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupServerArgs struct { + // The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + // + // An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + Arn string `pulumi:"arn"` +} + +type LookupServerResult struct { + // The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + // + // An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + Arn *string `pulumi:"arn"` + // The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + As2ServiceManagedEgressIpAddresses []string `pulumi:"as2ServiceManagedEgressIpAddresses"` + // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + // + // To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + // + // To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + // + // To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + // + // Certificates with the following cryptographic algorithms and key sizes are supported: + // + // - 2048-bit RSA (RSA_2048) + // - 4096-bit RSA (RSA_4096) + // - Elliptic Prime Curve 256 bit (EC_prime256v1) + // - Elliptic Prime Curve 384 bit (EC_secp384r1) + // - Elliptic Prime Curve 521 bit (EC_secp521r1) + // + // > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + Certificate *string `pulumi:"certificate"` + // The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + EndpointDetails *ServerEndpointDetails `pulumi:"endpointDetails"` + // The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + // + // > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + // > + // > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + // > + // > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + EndpointType *ServerEndpointType `pulumi:"endpointType"` + // Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + IdentityProviderDetails *ServerIdentityProviderDetails `pulumi:"identityProviderDetails"` + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + LoggingRole *string `pulumi:"loggingRole"` + // Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + // + // > The SFTP protocol does not support post-authentication display banners. + PostAuthenticationLoginBanner *string `pulumi:"postAuthenticationLoginBanner"` + // Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + // + // `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + PreAuthenticationLoginBanner *string `pulumi:"preAuthenticationLoginBanner"` + // The protocol settings that are configured for your server. + // + // - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + // - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + // - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + // - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + ProtocolDetails *ServerProtocolDetails `pulumi:"protocolDetails"` + // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + // + // - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + // - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + // - `FTP` (File Transfer Protocol): Unencrypted file transfer + // - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + // + // > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + // > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + // > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + Protocols []ServerProtocol `pulumi:"protocols"` + // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + // + // By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + S3StorageOptions *ServerS3StorageOptions `pulumi:"s3StorageOptions"` + // Specifies the name of the security policy for the server. + SecurityPolicyName *string `pulumi:"securityPolicyName"` + // The service-assigned ID of the server that is created. + // + // An example `ServerId` is `s-01234567890abcdef` . + ServerId *string `pulumi:"serverId"` + // Specifies the log groups to which your server logs are sent. + // + // To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + // + // `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + // + // For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + // + // If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + // + // `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + StructuredLogDestinations []string `pulumi:"structuredLogDestinations"` + // Key-value pairs that can be used to group and search for servers. + Tags []aws.Tag `pulumi:"tags"` + // Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + // + // In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + WorkflowDetails *ServerWorkflowDetails `pulumi:"workflowDetails"` +} + +func LookupServerOutput(ctx *pulumi.Context, args LookupServerOutputArgs, opts ...pulumi.InvokeOption) LookupServerResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupServerResultOutput, error) { + args := v.(LookupServerArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupServerResult + secret, err := ctx.InvokePackageRaw("aws-native:transfer:getServer", args, &rv, "", opts...) + if err != nil { + return LookupServerResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupServerResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupServerResultOutput), nil + } + return output, nil + }).(LookupServerResultOutput) +} + +type LookupServerOutputArgs struct { + // The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + // + // An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (LookupServerOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupServerArgs)(nil)).Elem() +} + +type LookupServerResultOutput struct{ *pulumi.OutputState } + +func (LookupServerResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupServerResult)(nil)).Elem() +} + +func (o LookupServerResultOutput) ToLookupServerResultOutput() LookupServerResultOutput { + return o +} + +func (o LookupServerResultOutput) ToLookupServerResultOutputWithContext(ctx context.Context) LookupServerResultOutput { + return o +} + +// The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . +// +// An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . +func (o LookupServerResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. +func (o LookupServerResultOutput) As2ServiceManagedEgressIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupServerResult) []string { return v.As2ServiceManagedEgressIpAddresses }).(pulumi.StringArrayOutput) +} + +// The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . +// +// To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . +// +// To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . +// +// To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . +// +// Certificates with the following cryptographic algorithms and key sizes are supported: +// +// - 2048-bit RSA (RSA_2048) +// - 4096-bit RSA (RSA_4096) +// - Elliptic Prime Curve 256 bit (EC_prime256v1) +// - Elliptic Prime Curve 384 bit (EC_secp384r1) +// - Elliptic Prime Curve 521 bit (EC_secp521r1) +// +// > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. +func (o LookupServerResultOutput) Certificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.Certificate }).(pulumi.StringPtrOutput) +} + +// The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. +func (o LookupServerResultOutput) EndpointDetails() ServerEndpointDetailsPtrOutput { + return o.ApplyT(func(v LookupServerResult) *ServerEndpointDetails { return v.EndpointDetails }).(ServerEndpointDetailsPtrOutput) +} + +// The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. +// +// > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . +// > +// > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . +// > +// > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . +func (o LookupServerResultOutput) EndpointType() ServerEndpointTypePtrOutput { + return o.ApplyT(func(v LookupServerResult) *ServerEndpointType { return v.EndpointType }).(ServerEndpointTypePtrOutput) +} + +// Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . +func (o LookupServerResultOutput) IdentityProviderDetails() ServerIdentityProviderDetailsPtrOutput { + return o.ApplyT(func(v LookupServerResult) *ServerIdentityProviderDetails { return v.IdentityProviderDetails }).(ServerIdentityProviderDetailsPtrOutput) +} + +// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. +func (o LookupServerResultOutput) LoggingRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.LoggingRole }).(pulumi.StringPtrOutput) +} + +// Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. +// +// > The SFTP protocol does not support post-authentication display banners. +func (o LookupServerResultOutput) PostAuthenticationLoginBanner() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.PostAuthenticationLoginBanner }).(pulumi.StringPtrOutput) +} + +// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: +// +// `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` +func (o LookupServerResultOutput) PreAuthenticationLoginBanner() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.PreAuthenticationLoginBanner }).(pulumi.StringPtrOutput) +} + +// The protocol settings that are configured for your server. +// +// - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. +// - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. +// - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. +// - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. +// +// The `Protocols` parameter is an array of strings. +// +// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` +func (o LookupServerResultOutput) ProtocolDetails() ServerProtocolDetailsPtrOutput { + return o.ApplyT(func(v LookupServerResult) *ServerProtocolDetails { return v.ProtocolDetails }).(ServerProtocolDetailsPtrOutput) +} + +// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: +// +// - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH +// - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption +// - `FTP` (File Transfer Protocol): Unencrypted file transfer +// - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data +// +// > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. +// > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . +// > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. +// > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . +// > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. +// +// The `Protocols` parameter is an array of strings. +// +// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` +func (o LookupServerResultOutput) Protocols() ServerProtocolArrayOutput { + return o.ApplyT(func(v LookupServerResult) []ServerProtocol { return v.Protocols }).(ServerProtocolArrayOutput) +} + +// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. +// +// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. +func (o LookupServerResultOutput) S3StorageOptions() ServerS3StorageOptionsPtrOutput { + return o.ApplyT(func(v LookupServerResult) *ServerS3StorageOptions { return v.S3StorageOptions }).(ServerS3StorageOptionsPtrOutput) +} + +// Specifies the name of the security policy for the server. +func (o LookupServerResultOutput) SecurityPolicyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.SecurityPolicyName }).(pulumi.StringPtrOutput) +} + +// The service-assigned ID of the server that is created. +// +// An example `ServerId` is `s-01234567890abcdef` . +func (o LookupServerResultOutput) ServerId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.ServerId }).(pulumi.StringPtrOutput) +} + +// Specifies the log groups to which your server logs are sent. +// +// To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: +// +// `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` +// +// For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` +// +// If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: +// +// `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` +func (o LookupServerResultOutput) StructuredLogDestinations() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupServerResult) []string { return v.StructuredLogDestinations }).(pulumi.StringArrayOutput) +} + +// Key-value pairs that can be used to group and search for servers. +func (o LookupServerResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupServerResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +// Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. +// +// In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. +func (o LookupServerResultOutput) WorkflowDetails() ServerWorkflowDetailsPtrOutput { + return o.ApplyT(func(v LookupServerResult) *ServerWorkflowDetails { return v.WorkflowDetails }).(ServerWorkflowDetailsPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupServerResultOutput{}) +} diff --git a/sdk/go/aws/transfer/init.go b/sdk/go/aws/transfer/init.go index 73f084b639..16b4e39492 100644 --- a/sdk/go/aws/transfer/init.go +++ b/sdk/go/aws/transfer/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Connector{} case "aws-native:transfer:Profile": r = &Profile{} + case "aws-native:transfer:Server": + r = &Server{} case "aws-native:transfer:Workflow": r = &Workflow{} default: diff --git a/sdk/go/aws/transfer/pulumiEnums.go b/sdk/go/aws/transfer/pulumiEnums.go index 9bd0b7e892..a8080e2e1b 100644 --- a/sdk/go/aws/transfer/pulumiEnums.go +++ b/sdk/go/aws/transfer/pulumiEnums.go @@ -1543,6 +1543,1596 @@ func (in *profileTypePtr) ToProfileTypePtrOutputWithContext(ctx context.Context) return pulumi.ToOutputWithContext(ctx, in).(ProfileTypePtrOutput) } +type ServerAs2Transport string + +const ( + ServerAs2TransportHttp = ServerAs2Transport("HTTP") +) + +func (ServerAs2Transport) ElementType() reflect.Type { + return reflect.TypeOf((*ServerAs2Transport)(nil)).Elem() +} + +func (e ServerAs2Transport) ToServerAs2TransportOutput() ServerAs2TransportOutput { + return pulumi.ToOutput(e).(ServerAs2TransportOutput) +} + +func (e ServerAs2Transport) ToServerAs2TransportOutputWithContext(ctx context.Context) ServerAs2TransportOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerAs2TransportOutput) +} + +func (e ServerAs2Transport) ToServerAs2TransportPtrOutput() ServerAs2TransportPtrOutput { + return e.ToServerAs2TransportPtrOutputWithContext(context.Background()) +} + +func (e ServerAs2Transport) ToServerAs2TransportPtrOutputWithContext(ctx context.Context) ServerAs2TransportPtrOutput { + return ServerAs2Transport(e).ToServerAs2TransportOutputWithContext(ctx).ToServerAs2TransportPtrOutputWithContext(ctx) +} + +func (e ServerAs2Transport) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerAs2Transport) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerAs2Transport) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerAs2Transport) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerAs2TransportOutput struct{ *pulumi.OutputState } + +func (ServerAs2TransportOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerAs2Transport)(nil)).Elem() +} + +func (o ServerAs2TransportOutput) ToServerAs2TransportOutput() ServerAs2TransportOutput { + return o +} + +func (o ServerAs2TransportOutput) ToServerAs2TransportOutputWithContext(ctx context.Context) ServerAs2TransportOutput { + return o +} + +func (o ServerAs2TransportOutput) ToServerAs2TransportPtrOutput() ServerAs2TransportPtrOutput { + return o.ToServerAs2TransportPtrOutputWithContext(context.Background()) +} + +func (o ServerAs2TransportOutput) ToServerAs2TransportPtrOutputWithContext(ctx context.Context) ServerAs2TransportPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerAs2Transport) *ServerAs2Transport { + return &v + }).(ServerAs2TransportPtrOutput) +} + +func (o ServerAs2TransportOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerAs2TransportOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerAs2Transport) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerAs2TransportOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerAs2TransportOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerAs2Transport) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerAs2TransportPtrOutput struct{ *pulumi.OutputState } + +func (ServerAs2TransportPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerAs2Transport)(nil)).Elem() +} + +func (o ServerAs2TransportPtrOutput) ToServerAs2TransportPtrOutput() ServerAs2TransportPtrOutput { + return o +} + +func (o ServerAs2TransportPtrOutput) ToServerAs2TransportPtrOutputWithContext(ctx context.Context) ServerAs2TransportPtrOutput { + return o +} + +func (o ServerAs2TransportPtrOutput) Elem() ServerAs2TransportOutput { + return o.ApplyT(func(v *ServerAs2Transport) ServerAs2Transport { + if v != nil { + return *v + } + var ret ServerAs2Transport + return ret + }).(ServerAs2TransportOutput) +} + +func (o ServerAs2TransportPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerAs2TransportPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerAs2Transport) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerAs2TransportInput is an input type that accepts values of the ServerAs2Transport enum +// A concrete instance of `ServerAs2TransportInput` can be one of the following: +// +// ServerAs2TransportHttp +type ServerAs2TransportInput interface { + pulumi.Input + + ToServerAs2TransportOutput() ServerAs2TransportOutput + ToServerAs2TransportOutputWithContext(context.Context) ServerAs2TransportOutput +} + +var serverAs2TransportPtrType = reflect.TypeOf((**ServerAs2Transport)(nil)).Elem() + +type ServerAs2TransportPtrInput interface { + pulumi.Input + + ToServerAs2TransportPtrOutput() ServerAs2TransportPtrOutput + ToServerAs2TransportPtrOutputWithContext(context.Context) ServerAs2TransportPtrOutput +} + +type serverAs2TransportPtr string + +func ServerAs2TransportPtr(v string) ServerAs2TransportPtrInput { + return (*serverAs2TransportPtr)(&v) +} + +func (*serverAs2TransportPtr) ElementType() reflect.Type { + return serverAs2TransportPtrType +} + +func (in *serverAs2TransportPtr) ToServerAs2TransportPtrOutput() ServerAs2TransportPtrOutput { + return pulumi.ToOutput(in).(ServerAs2TransportPtrOutput) +} + +func (in *serverAs2TransportPtr) ToServerAs2TransportPtrOutputWithContext(ctx context.Context) ServerAs2TransportPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerAs2TransportPtrOutput) +} + +// ServerAs2TransportArrayInput is an input type that accepts ServerAs2TransportArray and ServerAs2TransportArrayOutput values. +// You can construct a concrete instance of `ServerAs2TransportArrayInput` via: +// +// ServerAs2TransportArray{ ServerAs2TransportArgs{...} } +type ServerAs2TransportArrayInput interface { + pulumi.Input + + ToServerAs2TransportArrayOutput() ServerAs2TransportArrayOutput + ToServerAs2TransportArrayOutputWithContext(context.Context) ServerAs2TransportArrayOutput +} + +type ServerAs2TransportArray []ServerAs2Transport + +func (ServerAs2TransportArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerAs2Transport)(nil)).Elem() +} + +func (i ServerAs2TransportArray) ToServerAs2TransportArrayOutput() ServerAs2TransportArrayOutput { + return i.ToServerAs2TransportArrayOutputWithContext(context.Background()) +} + +func (i ServerAs2TransportArray) ToServerAs2TransportArrayOutputWithContext(ctx context.Context) ServerAs2TransportArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerAs2TransportArrayOutput) +} + +type ServerAs2TransportArrayOutput struct{ *pulumi.OutputState } + +func (ServerAs2TransportArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerAs2Transport)(nil)).Elem() +} + +func (o ServerAs2TransportArrayOutput) ToServerAs2TransportArrayOutput() ServerAs2TransportArrayOutput { + return o +} + +func (o ServerAs2TransportArrayOutput) ToServerAs2TransportArrayOutputWithContext(ctx context.Context) ServerAs2TransportArrayOutput { + return o +} + +func (o ServerAs2TransportArrayOutput) Index(i pulumi.IntInput) ServerAs2TransportOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServerAs2Transport { + return vs[0].([]ServerAs2Transport)[vs[1].(int)] + }).(ServerAs2TransportOutput) +} + +// Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility. +type ServerDirectoryListingOptimization string + +const ( + ServerDirectoryListingOptimizationEnabled = ServerDirectoryListingOptimization("ENABLED") + ServerDirectoryListingOptimizationDisabled = ServerDirectoryListingOptimization("DISABLED") +) + +func (ServerDirectoryListingOptimization) ElementType() reflect.Type { + return reflect.TypeOf((*ServerDirectoryListingOptimization)(nil)).Elem() +} + +func (e ServerDirectoryListingOptimization) ToServerDirectoryListingOptimizationOutput() ServerDirectoryListingOptimizationOutput { + return pulumi.ToOutput(e).(ServerDirectoryListingOptimizationOutput) +} + +func (e ServerDirectoryListingOptimization) ToServerDirectoryListingOptimizationOutputWithContext(ctx context.Context) ServerDirectoryListingOptimizationOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerDirectoryListingOptimizationOutput) +} + +func (e ServerDirectoryListingOptimization) ToServerDirectoryListingOptimizationPtrOutput() ServerDirectoryListingOptimizationPtrOutput { + return e.ToServerDirectoryListingOptimizationPtrOutputWithContext(context.Background()) +} + +func (e ServerDirectoryListingOptimization) ToServerDirectoryListingOptimizationPtrOutputWithContext(ctx context.Context) ServerDirectoryListingOptimizationPtrOutput { + return ServerDirectoryListingOptimization(e).ToServerDirectoryListingOptimizationOutputWithContext(ctx).ToServerDirectoryListingOptimizationPtrOutputWithContext(ctx) +} + +func (e ServerDirectoryListingOptimization) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerDirectoryListingOptimization) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerDirectoryListingOptimization) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerDirectoryListingOptimization) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerDirectoryListingOptimizationOutput struct{ *pulumi.OutputState } + +func (ServerDirectoryListingOptimizationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerDirectoryListingOptimization)(nil)).Elem() +} + +func (o ServerDirectoryListingOptimizationOutput) ToServerDirectoryListingOptimizationOutput() ServerDirectoryListingOptimizationOutput { + return o +} + +func (o ServerDirectoryListingOptimizationOutput) ToServerDirectoryListingOptimizationOutputWithContext(ctx context.Context) ServerDirectoryListingOptimizationOutput { + return o +} + +func (o ServerDirectoryListingOptimizationOutput) ToServerDirectoryListingOptimizationPtrOutput() ServerDirectoryListingOptimizationPtrOutput { + return o.ToServerDirectoryListingOptimizationPtrOutputWithContext(context.Background()) +} + +func (o ServerDirectoryListingOptimizationOutput) ToServerDirectoryListingOptimizationPtrOutputWithContext(ctx context.Context) ServerDirectoryListingOptimizationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerDirectoryListingOptimization) *ServerDirectoryListingOptimization { + return &v + }).(ServerDirectoryListingOptimizationPtrOutput) +} + +func (o ServerDirectoryListingOptimizationOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerDirectoryListingOptimizationOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerDirectoryListingOptimization) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerDirectoryListingOptimizationOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerDirectoryListingOptimizationOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerDirectoryListingOptimization) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerDirectoryListingOptimizationPtrOutput struct{ *pulumi.OutputState } + +func (ServerDirectoryListingOptimizationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerDirectoryListingOptimization)(nil)).Elem() +} + +func (o ServerDirectoryListingOptimizationPtrOutput) ToServerDirectoryListingOptimizationPtrOutput() ServerDirectoryListingOptimizationPtrOutput { + return o +} + +func (o ServerDirectoryListingOptimizationPtrOutput) ToServerDirectoryListingOptimizationPtrOutputWithContext(ctx context.Context) ServerDirectoryListingOptimizationPtrOutput { + return o +} + +func (o ServerDirectoryListingOptimizationPtrOutput) Elem() ServerDirectoryListingOptimizationOutput { + return o.ApplyT(func(v *ServerDirectoryListingOptimization) ServerDirectoryListingOptimization { + if v != nil { + return *v + } + var ret ServerDirectoryListingOptimization + return ret + }).(ServerDirectoryListingOptimizationOutput) +} + +func (o ServerDirectoryListingOptimizationPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerDirectoryListingOptimizationPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerDirectoryListingOptimization) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerDirectoryListingOptimizationInput is an input type that accepts values of the ServerDirectoryListingOptimization enum +// A concrete instance of `ServerDirectoryListingOptimizationInput` can be one of the following: +// +// ServerDirectoryListingOptimizationEnabled +// ServerDirectoryListingOptimizationDisabled +type ServerDirectoryListingOptimizationInput interface { + pulumi.Input + + ToServerDirectoryListingOptimizationOutput() ServerDirectoryListingOptimizationOutput + ToServerDirectoryListingOptimizationOutputWithContext(context.Context) ServerDirectoryListingOptimizationOutput +} + +var serverDirectoryListingOptimizationPtrType = reflect.TypeOf((**ServerDirectoryListingOptimization)(nil)).Elem() + +type ServerDirectoryListingOptimizationPtrInput interface { + pulumi.Input + + ToServerDirectoryListingOptimizationPtrOutput() ServerDirectoryListingOptimizationPtrOutput + ToServerDirectoryListingOptimizationPtrOutputWithContext(context.Context) ServerDirectoryListingOptimizationPtrOutput +} + +type serverDirectoryListingOptimizationPtr string + +func ServerDirectoryListingOptimizationPtr(v string) ServerDirectoryListingOptimizationPtrInput { + return (*serverDirectoryListingOptimizationPtr)(&v) +} + +func (*serverDirectoryListingOptimizationPtr) ElementType() reflect.Type { + return serverDirectoryListingOptimizationPtrType +} + +func (in *serverDirectoryListingOptimizationPtr) ToServerDirectoryListingOptimizationPtrOutput() ServerDirectoryListingOptimizationPtrOutput { + return pulumi.ToOutput(in).(ServerDirectoryListingOptimizationPtrOutput) +} + +func (in *serverDirectoryListingOptimizationPtr) ToServerDirectoryListingOptimizationPtrOutputWithContext(ctx context.Context) ServerDirectoryListingOptimizationPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerDirectoryListingOptimizationPtrOutput) +} + +type ServerDomain string + +const ( + ServerDomainS3 = ServerDomain("S3") + ServerDomainEfs = ServerDomain("EFS") +) + +func (ServerDomain) ElementType() reflect.Type { + return reflect.TypeOf((*ServerDomain)(nil)).Elem() +} + +func (e ServerDomain) ToServerDomainOutput() ServerDomainOutput { + return pulumi.ToOutput(e).(ServerDomainOutput) +} + +func (e ServerDomain) ToServerDomainOutputWithContext(ctx context.Context) ServerDomainOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerDomainOutput) +} + +func (e ServerDomain) ToServerDomainPtrOutput() ServerDomainPtrOutput { + return e.ToServerDomainPtrOutputWithContext(context.Background()) +} + +func (e ServerDomain) ToServerDomainPtrOutputWithContext(ctx context.Context) ServerDomainPtrOutput { + return ServerDomain(e).ToServerDomainOutputWithContext(ctx).ToServerDomainPtrOutputWithContext(ctx) +} + +func (e ServerDomain) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerDomain) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerDomain) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerDomain) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerDomainOutput struct{ *pulumi.OutputState } + +func (ServerDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerDomain)(nil)).Elem() +} + +func (o ServerDomainOutput) ToServerDomainOutput() ServerDomainOutput { + return o +} + +func (o ServerDomainOutput) ToServerDomainOutputWithContext(ctx context.Context) ServerDomainOutput { + return o +} + +func (o ServerDomainOutput) ToServerDomainPtrOutput() ServerDomainPtrOutput { + return o.ToServerDomainPtrOutputWithContext(context.Background()) +} + +func (o ServerDomainOutput) ToServerDomainPtrOutputWithContext(ctx context.Context) ServerDomainPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerDomain) *ServerDomain { + return &v + }).(ServerDomainPtrOutput) +} + +func (o ServerDomainOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerDomainOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerDomain) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerDomainOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerDomainOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerDomain) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerDomainPtrOutput struct{ *pulumi.OutputState } + +func (ServerDomainPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerDomain)(nil)).Elem() +} + +func (o ServerDomainPtrOutput) ToServerDomainPtrOutput() ServerDomainPtrOutput { + return o +} + +func (o ServerDomainPtrOutput) ToServerDomainPtrOutputWithContext(ctx context.Context) ServerDomainPtrOutput { + return o +} + +func (o ServerDomainPtrOutput) Elem() ServerDomainOutput { + return o.ApplyT(func(v *ServerDomain) ServerDomain { + if v != nil { + return *v + } + var ret ServerDomain + return ret + }).(ServerDomainOutput) +} + +func (o ServerDomainPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerDomainPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerDomain) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerDomainInput is an input type that accepts values of the ServerDomain enum +// A concrete instance of `ServerDomainInput` can be one of the following: +// +// ServerDomainS3 +// ServerDomainEfs +type ServerDomainInput interface { + pulumi.Input + + ToServerDomainOutput() ServerDomainOutput + ToServerDomainOutputWithContext(context.Context) ServerDomainOutput +} + +var serverDomainPtrType = reflect.TypeOf((**ServerDomain)(nil)).Elem() + +type ServerDomainPtrInput interface { + pulumi.Input + + ToServerDomainPtrOutput() ServerDomainPtrOutput + ToServerDomainPtrOutputWithContext(context.Context) ServerDomainPtrOutput +} + +type serverDomainPtr string + +func ServerDomainPtr(v string) ServerDomainPtrInput { + return (*serverDomainPtr)(&v) +} + +func (*serverDomainPtr) ElementType() reflect.Type { + return serverDomainPtrType +} + +func (in *serverDomainPtr) ToServerDomainPtrOutput() ServerDomainPtrOutput { + return pulumi.ToOutput(in).(ServerDomainPtrOutput) +} + +func (in *serverDomainPtr) ToServerDomainPtrOutputWithContext(ctx context.Context) ServerDomainPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerDomainPtrOutput) +} + +type ServerEndpointType string + +const ( + ServerEndpointTypePublic = ServerEndpointType("PUBLIC") + ServerEndpointTypeVpc = ServerEndpointType("VPC") + ServerEndpointTypeVpcEndpoint = ServerEndpointType("VPC_ENDPOINT") +) + +func (ServerEndpointType) ElementType() reflect.Type { + return reflect.TypeOf((*ServerEndpointType)(nil)).Elem() +} + +func (e ServerEndpointType) ToServerEndpointTypeOutput() ServerEndpointTypeOutput { + return pulumi.ToOutput(e).(ServerEndpointTypeOutput) +} + +func (e ServerEndpointType) ToServerEndpointTypeOutputWithContext(ctx context.Context) ServerEndpointTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerEndpointTypeOutput) +} + +func (e ServerEndpointType) ToServerEndpointTypePtrOutput() ServerEndpointTypePtrOutput { + return e.ToServerEndpointTypePtrOutputWithContext(context.Background()) +} + +func (e ServerEndpointType) ToServerEndpointTypePtrOutputWithContext(ctx context.Context) ServerEndpointTypePtrOutput { + return ServerEndpointType(e).ToServerEndpointTypeOutputWithContext(ctx).ToServerEndpointTypePtrOutputWithContext(ctx) +} + +func (e ServerEndpointType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerEndpointType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerEndpointType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerEndpointType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerEndpointTypeOutput struct{ *pulumi.OutputState } + +func (ServerEndpointTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerEndpointType)(nil)).Elem() +} + +func (o ServerEndpointTypeOutput) ToServerEndpointTypeOutput() ServerEndpointTypeOutput { + return o +} + +func (o ServerEndpointTypeOutput) ToServerEndpointTypeOutputWithContext(ctx context.Context) ServerEndpointTypeOutput { + return o +} + +func (o ServerEndpointTypeOutput) ToServerEndpointTypePtrOutput() ServerEndpointTypePtrOutput { + return o.ToServerEndpointTypePtrOutputWithContext(context.Background()) +} + +func (o ServerEndpointTypeOutput) ToServerEndpointTypePtrOutputWithContext(ctx context.Context) ServerEndpointTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerEndpointType) *ServerEndpointType { + return &v + }).(ServerEndpointTypePtrOutput) +} + +func (o ServerEndpointTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerEndpointTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerEndpointType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerEndpointTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerEndpointTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerEndpointType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerEndpointTypePtrOutput struct{ *pulumi.OutputState } + +func (ServerEndpointTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerEndpointType)(nil)).Elem() +} + +func (o ServerEndpointTypePtrOutput) ToServerEndpointTypePtrOutput() ServerEndpointTypePtrOutput { + return o +} + +func (o ServerEndpointTypePtrOutput) ToServerEndpointTypePtrOutputWithContext(ctx context.Context) ServerEndpointTypePtrOutput { + return o +} + +func (o ServerEndpointTypePtrOutput) Elem() ServerEndpointTypeOutput { + return o.ApplyT(func(v *ServerEndpointType) ServerEndpointType { + if v != nil { + return *v + } + var ret ServerEndpointType + return ret + }).(ServerEndpointTypeOutput) +} + +func (o ServerEndpointTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerEndpointTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerEndpointType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerEndpointTypeInput is an input type that accepts values of the ServerEndpointType enum +// A concrete instance of `ServerEndpointTypeInput` can be one of the following: +// +// ServerEndpointTypePublic +// ServerEndpointTypeVpc +// ServerEndpointTypeVpcEndpoint +type ServerEndpointTypeInput interface { + pulumi.Input + + ToServerEndpointTypeOutput() ServerEndpointTypeOutput + ToServerEndpointTypeOutputWithContext(context.Context) ServerEndpointTypeOutput +} + +var serverEndpointTypePtrType = reflect.TypeOf((**ServerEndpointType)(nil)).Elem() + +type ServerEndpointTypePtrInput interface { + pulumi.Input + + ToServerEndpointTypePtrOutput() ServerEndpointTypePtrOutput + ToServerEndpointTypePtrOutputWithContext(context.Context) ServerEndpointTypePtrOutput +} + +type serverEndpointTypePtr string + +func ServerEndpointTypePtr(v string) ServerEndpointTypePtrInput { + return (*serverEndpointTypePtr)(&v) +} + +func (*serverEndpointTypePtr) ElementType() reflect.Type { + return serverEndpointTypePtrType +} + +func (in *serverEndpointTypePtr) ToServerEndpointTypePtrOutput() ServerEndpointTypePtrOutput { + return pulumi.ToOutput(in).(ServerEndpointTypePtrOutput) +} + +func (in *serverEndpointTypePtr) ToServerEndpointTypePtrOutputWithContext(ctx context.Context) ServerEndpointTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerEndpointTypePtrOutput) +} + +type ServerIdentityProviderType string + +const ( + ServerIdentityProviderTypeServiceManaged = ServerIdentityProviderType("SERVICE_MANAGED") + ServerIdentityProviderTypeApiGateway = ServerIdentityProviderType("API_GATEWAY") + ServerIdentityProviderTypeAwsDirectoryService = ServerIdentityProviderType("AWS_DIRECTORY_SERVICE") + ServerIdentityProviderTypeAwsLambda = ServerIdentityProviderType("AWS_LAMBDA") +) + +func (ServerIdentityProviderType) ElementType() reflect.Type { + return reflect.TypeOf((*ServerIdentityProviderType)(nil)).Elem() +} + +func (e ServerIdentityProviderType) ToServerIdentityProviderTypeOutput() ServerIdentityProviderTypeOutput { + return pulumi.ToOutput(e).(ServerIdentityProviderTypeOutput) +} + +func (e ServerIdentityProviderType) ToServerIdentityProviderTypeOutputWithContext(ctx context.Context) ServerIdentityProviderTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerIdentityProviderTypeOutput) +} + +func (e ServerIdentityProviderType) ToServerIdentityProviderTypePtrOutput() ServerIdentityProviderTypePtrOutput { + return e.ToServerIdentityProviderTypePtrOutputWithContext(context.Background()) +} + +func (e ServerIdentityProviderType) ToServerIdentityProviderTypePtrOutputWithContext(ctx context.Context) ServerIdentityProviderTypePtrOutput { + return ServerIdentityProviderType(e).ToServerIdentityProviderTypeOutputWithContext(ctx).ToServerIdentityProviderTypePtrOutputWithContext(ctx) +} + +func (e ServerIdentityProviderType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerIdentityProviderType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerIdentityProviderType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerIdentityProviderType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerIdentityProviderTypeOutput struct{ *pulumi.OutputState } + +func (ServerIdentityProviderTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerIdentityProviderType)(nil)).Elem() +} + +func (o ServerIdentityProviderTypeOutput) ToServerIdentityProviderTypeOutput() ServerIdentityProviderTypeOutput { + return o +} + +func (o ServerIdentityProviderTypeOutput) ToServerIdentityProviderTypeOutputWithContext(ctx context.Context) ServerIdentityProviderTypeOutput { + return o +} + +func (o ServerIdentityProviderTypeOutput) ToServerIdentityProviderTypePtrOutput() ServerIdentityProviderTypePtrOutput { + return o.ToServerIdentityProviderTypePtrOutputWithContext(context.Background()) +} + +func (o ServerIdentityProviderTypeOutput) ToServerIdentityProviderTypePtrOutputWithContext(ctx context.Context) ServerIdentityProviderTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerIdentityProviderType) *ServerIdentityProviderType { + return &v + }).(ServerIdentityProviderTypePtrOutput) +} + +func (o ServerIdentityProviderTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerIdentityProviderTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerIdentityProviderType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerIdentityProviderTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerIdentityProviderTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerIdentityProviderType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerIdentityProviderTypePtrOutput struct{ *pulumi.OutputState } + +func (ServerIdentityProviderTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerIdentityProviderType)(nil)).Elem() +} + +func (o ServerIdentityProviderTypePtrOutput) ToServerIdentityProviderTypePtrOutput() ServerIdentityProviderTypePtrOutput { + return o +} + +func (o ServerIdentityProviderTypePtrOutput) ToServerIdentityProviderTypePtrOutputWithContext(ctx context.Context) ServerIdentityProviderTypePtrOutput { + return o +} + +func (o ServerIdentityProviderTypePtrOutput) Elem() ServerIdentityProviderTypeOutput { + return o.ApplyT(func(v *ServerIdentityProviderType) ServerIdentityProviderType { + if v != nil { + return *v + } + var ret ServerIdentityProviderType + return ret + }).(ServerIdentityProviderTypeOutput) +} + +func (o ServerIdentityProviderTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerIdentityProviderTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerIdentityProviderType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerIdentityProviderTypeInput is an input type that accepts values of the ServerIdentityProviderType enum +// A concrete instance of `ServerIdentityProviderTypeInput` can be one of the following: +// +// ServerIdentityProviderTypeServiceManaged +// ServerIdentityProviderTypeApiGateway +// ServerIdentityProviderTypeAwsDirectoryService +// ServerIdentityProviderTypeAwsLambda +type ServerIdentityProviderTypeInput interface { + pulumi.Input + + ToServerIdentityProviderTypeOutput() ServerIdentityProviderTypeOutput + ToServerIdentityProviderTypeOutputWithContext(context.Context) ServerIdentityProviderTypeOutput +} + +var serverIdentityProviderTypePtrType = reflect.TypeOf((**ServerIdentityProviderType)(nil)).Elem() + +type ServerIdentityProviderTypePtrInput interface { + pulumi.Input + + ToServerIdentityProviderTypePtrOutput() ServerIdentityProviderTypePtrOutput + ToServerIdentityProviderTypePtrOutputWithContext(context.Context) ServerIdentityProviderTypePtrOutput +} + +type serverIdentityProviderTypePtr string + +func ServerIdentityProviderTypePtr(v string) ServerIdentityProviderTypePtrInput { + return (*serverIdentityProviderTypePtr)(&v) +} + +func (*serverIdentityProviderTypePtr) ElementType() reflect.Type { + return serverIdentityProviderTypePtrType +} + +func (in *serverIdentityProviderTypePtr) ToServerIdentityProviderTypePtrOutput() ServerIdentityProviderTypePtrOutput { + return pulumi.ToOutput(in).(ServerIdentityProviderTypePtrOutput) +} + +func (in *serverIdentityProviderTypePtr) ToServerIdentityProviderTypePtrOutputWithContext(ctx context.Context) ServerIdentityProviderTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerIdentityProviderTypePtrOutput) +} + +type ServerProtocol string + +const ( + ServerProtocolSftp = ServerProtocol("SFTP") + ServerProtocolFtp = ServerProtocol("FTP") + ServerProtocolFtps = ServerProtocol("FTPS") + ServerProtocolAs2 = ServerProtocol("AS2") +) + +func (ServerProtocol) ElementType() reflect.Type { + return reflect.TypeOf((*ServerProtocol)(nil)).Elem() +} + +func (e ServerProtocol) ToServerProtocolOutput() ServerProtocolOutput { + return pulumi.ToOutput(e).(ServerProtocolOutput) +} + +func (e ServerProtocol) ToServerProtocolOutputWithContext(ctx context.Context) ServerProtocolOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerProtocolOutput) +} + +func (e ServerProtocol) ToServerProtocolPtrOutput() ServerProtocolPtrOutput { + return e.ToServerProtocolPtrOutputWithContext(context.Background()) +} + +func (e ServerProtocol) ToServerProtocolPtrOutputWithContext(ctx context.Context) ServerProtocolPtrOutput { + return ServerProtocol(e).ToServerProtocolOutputWithContext(ctx).ToServerProtocolPtrOutputWithContext(ctx) +} + +func (e ServerProtocol) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerProtocol) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerProtocol) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerProtocol) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerProtocolOutput struct{ *pulumi.OutputState } + +func (ServerProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerProtocol)(nil)).Elem() +} + +func (o ServerProtocolOutput) ToServerProtocolOutput() ServerProtocolOutput { + return o +} + +func (o ServerProtocolOutput) ToServerProtocolOutputWithContext(ctx context.Context) ServerProtocolOutput { + return o +} + +func (o ServerProtocolOutput) ToServerProtocolPtrOutput() ServerProtocolPtrOutput { + return o.ToServerProtocolPtrOutputWithContext(context.Background()) +} + +func (o ServerProtocolOutput) ToServerProtocolPtrOutputWithContext(ctx context.Context) ServerProtocolPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerProtocol) *ServerProtocol { + return &v + }).(ServerProtocolPtrOutput) +} + +func (o ServerProtocolOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerProtocolOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerProtocol) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerProtocolOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerProtocolOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerProtocol) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerProtocolPtrOutput struct{ *pulumi.OutputState } + +func (ServerProtocolPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerProtocol)(nil)).Elem() +} + +func (o ServerProtocolPtrOutput) ToServerProtocolPtrOutput() ServerProtocolPtrOutput { + return o +} + +func (o ServerProtocolPtrOutput) ToServerProtocolPtrOutputWithContext(ctx context.Context) ServerProtocolPtrOutput { + return o +} + +func (o ServerProtocolPtrOutput) Elem() ServerProtocolOutput { + return o.ApplyT(func(v *ServerProtocol) ServerProtocol { + if v != nil { + return *v + } + var ret ServerProtocol + return ret + }).(ServerProtocolOutput) +} + +func (o ServerProtocolPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerProtocolPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerProtocol) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerProtocolInput is an input type that accepts values of the ServerProtocol enum +// A concrete instance of `ServerProtocolInput` can be one of the following: +// +// ServerProtocolSftp +// ServerProtocolFtp +// ServerProtocolFtps +// ServerProtocolAs2 +type ServerProtocolInput interface { + pulumi.Input + + ToServerProtocolOutput() ServerProtocolOutput + ToServerProtocolOutputWithContext(context.Context) ServerProtocolOutput +} + +var serverProtocolPtrType = reflect.TypeOf((**ServerProtocol)(nil)).Elem() + +type ServerProtocolPtrInput interface { + pulumi.Input + + ToServerProtocolPtrOutput() ServerProtocolPtrOutput + ToServerProtocolPtrOutputWithContext(context.Context) ServerProtocolPtrOutput +} + +type serverProtocolPtr string + +func ServerProtocolPtr(v string) ServerProtocolPtrInput { + return (*serverProtocolPtr)(&v) +} + +func (*serverProtocolPtr) ElementType() reflect.Type { + return serverProtocolPtrType +} + +func (in *serverProtocolPtr) ToServerProtocolPtrOutput() ServerProtocolPtrOutput { + return pulumi.ToOutput(in).(ServerProtocolPtrOutput) +} + +func (in *serverProtocolPtr) ToServerProtocolPtrOutputWithContext(ctx context.Context) ServerProtocolPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerProtocolPtrOutput) +} + +// ServerProtocolArrayInput is an input type that accepts ServerProtocolArray and ServerProtocolArrayOutput values. +// You can construct a concrete instance of `ServerProtocolArrayInput` via: +// +// ServerProtocolArray{ ServerProtocolArgs{...} } +type ServerProtocolArrayInput interface { + pulumi.Input + + ToServerProtocolArrayOutput() ServerProtocolArrayOutput + ToServerProtocolArrayOutputWithContext(context.Context) ServerProtocolArrayOutput +} + +type ServerProtocolArray []ServerProtocol + +func (ServerProtocolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerProtocol)(nil)).Elem() +} + +func (i ServerProtocolArray) ToServerProtocolArrayOutput() ServerProtocolArrayOutput { + return i.ToServerProtocolArrayOutputWithContext(context.Background()) +} + +func (i ServerProtocolArray) ToServerProtocolArrayOutputWithContext(ctx context.Context) ServerProtocolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerProtocolArrayOutput) +} + +type ServerProtocolArrayOutput struct{ *pulumi.OutputState } + +func (ServerProtocolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerProtocol)(nil)).Elem() +} + +func (o ServerProtocolArrayOutput) ToServerProtocolArrayOutput() ServerProtocolArrayOutput { + return o +} + +func (o ServerProtocolArrayOutput) ToServerProtocolArrayOutputWithContext(ctx context.Context) ServerProtocolArrayOutput { + return o +} + +func (o ServerProtocolArrayOutput) Index(i pulumi.IntInput) ServerProtocolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServerProtocol { + return vs[0].([]ServerProtocol)[vs[1].(int)] + }).(ServerProtocolOutput) +} + +type ServerSetStatOption string + +const ( + ServerSetStatOptionDefault = ServerSetStatOption("DEFAULT") + ServerSetStatOptionEnableNoOp = ServerSetStatOption("ENABLE_NO_OP") +) + +func (ServerSetStatOption) ElementType() reflect.Type { + return reflect.TypeOf((*ServerSetStatOption)(nil)).Elem() +} + +func (e ServerSetStatOption) ToServerSetStatOptionOutput() ServerSetStatOptionOutput { + return pulumi.ToOutput(e).(ServerSetStatOptionOutput) +} + +func (e ServerSetStatOption) ToServerSetStatOptionOutputWithContext(ctx context.Context) ServerSetStatOptionOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerSetStatOptionOutput) +} + +func (e ServerSetStatOption) ToServerSetStatOptionPtrOutput() ServerSetStatOptionPtrOutput { + return e.ToServerSetStatOptionPtrOutputWithContext(context.Background()) +} + +func (e ServerSetStatOption) ToServerSetStatOptionPtrOutputWithContext(ctx context.Context) ServerSetStatOptionPtrOutput { + return ServerSetStatOption(e).ToServerSetStatOptionOutputWithContext(ctx).ToServerSetStatOptionPtrOutputWithContext(ctx) +} + +func (e ServerSetStatOption) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerSetStatOption) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerSetStatOption) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerSetStatOption) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerSetStatOptionOutput struct{ *pulumi.OutputState } + +func (ServerSetStatOptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerSetStatOption)(nil)).Elem() +} + +func (o ServerSetStatOptionOutput) ToServerSetStatOptionOutput() ServerSetStatOptionOutput { + return o +} + +func (o ServerSetStatOptionOutput) ToServerSetStatOptionOutputWithContext(ctx context.Context) ServerSetStatOptionOutput { + return o +} + +func (o ServerSetStatOptionOutput) ToServerSetStatOptionPtrOutput() ServerSetStatOptionPtrOutput { + return o.ToServerSetStatOptionPtrOutputWithContext(context.Background()) +} + +func (o ServerSetStatOptionOutput) ToServerSetStatOptionPtrOutputWithContext(ctx context.Context) ServerSetStatOptionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerSetStatOption) *ServerSetStatOption { + return &v + }).(ServerSetStatOptionPtrOutput) +} + +func (o ServerSetStatOptionOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerSetStatOptionOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerSetStatOption) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerSetStatOptionOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerSetStatOptionOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerSetStatOption) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerSetStatOptionPtrOutput struct{ *pulumi.OutputState } + +func (ServerSetStatOptionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerSetStatOption)(nil)).Elem() +} + +func (o ServerSetStatOptionPtrOutput) ToServerSetStatOptionPtrOutput() ServerSetStatOptionPtrOutput { + return o +} + +func (o ServerSetStatOptionPtrOutput) ToServerSetStatOptionPtrOutputWithContext(ctx context.Context) ServerSetStatOptionPtrOutput { + return o +} + +func (o ServerSetStatOptionPtrOutput) Elem() ServerSetStatOptionOutput { + return o.ApplyT(func(v *ServerSetStatOption) ServerSetStatOption { + if v != nil { + return *v + } + var ret ServerSetStatOption + return ret + }).(ServerSetStatOptionOutput) +} + +func (o ServerSetStatOptionPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerSetStatOptionPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerSetStatOption) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerSetStatOptionInput is an input type that accepts values of the ServerSetStatOption enum +// A concrete instance of `ServerSetStatOptionInput` can be one of the following: +// +// ServerSetStatOptionDefault +// ServerSetStatOptionEnableNoOp +type ServerSetStatOptionInput interface { + pulumi.Input + + ToServerSetStatOptionOutput() ServerSetStatOptionOutput + ToServerSetStatOptionOutputWithContext(context.Context) ServerSetStatOptionOutput +} + +var serverSetStatOptionPtrType = reflect.TypeOf((**ServerSetStatOption)(nil)).Elem() + +type ServerSetStatOptionPtrInput interface { + pulumi.Input + + ToServerSetStatOptionPtrOutput() ServerSetStatOptionPtrOutput + ToServerSetStatOptionPtrOutputWithContext(context.Context) ServerSetStatOptionPtrOutput +} + +type serverSetStatOptionPtr string + +func ServerSetStatOptionPtr(v string) ServerSetStatOptionPtrInput { + return (*serverSetStatOptionPtr)(&v) +} + +func (*serverSetStatOptionPtr) ElementType() reflect.Type { + return serverSetStatOptionPtrType +} + +func (in *serverSetStatOptionPtr) ToServerSetStatOptionPtrOutput() ServerSetStatOptionPtrOutput { + return pulumi.ToOutput(in).(ServerSetStatOptionPtrOutput) +} + +func (in *serverSetStatOptionPtr) ToServerSetStatOptionPtrOutputWithContext(ctx context.Context) ServerSetStatOptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerSetStatOptionPtrOutput) +} + +type ServerSftpAuthenticationMethods string + +const ( + ServerSftpAuthenticationMethodsPassword = ServerSftpAuthenticationMethods("PASSWORD") + ServerSftpAuthenticationMethodsPublicKey = ServerSftpAuthenticationMethods("PUBLIC_KEY") + ServerSftpAuthenticationMethodsPublicKeyOrPassword = ServerSftpAuthenticationMethods("PUBLIC_KEY_OR_PASSWORD") + ServerSftpAuthenticationMethodsPublicKeyAndPassword = ServerSftpAuthenticationMethods("PUBLIC_KEY_AND_PASSWORD") +) + +func (ServerSftpAuthenticationMethods) ElementType() reflect.Type { + return reflect.TypeOf((*ServerSftpAuthenticationMethods)(nil)).Elem() +} + +func (e ServerSftpAuthenticationMethods) ToServerSftpAuthenticationMethodsOutput() ServerSftpAuthenticationMethodsOutput { + return pulumi.ToOutput(e).(ServerSftpAuthenticationMethodsOutput) +} + +func (e ServerSftpAuthenticationMethods) ToServerSftpAuthenticationMethodsOutputWithContext(ctx context.Context) ServerSftpAuthenticationMethodsOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerSftpAuthenticationMethodsOutput) +} + +func (e ServerSftpAuthenticationMethods) ToServerSftpAuthenticationMethodsPtrOutput() ServerSftpAuthenticationMethodsPtrOutput { + return e.ToServerSftpAuthenticationMethodsPtrOutputWithContext(context.Background()) +} + +func (e ServerSftpAuthenticationMethods) ToServerSftpAuthenticationMethodsPtrOutputWithContext(ctx context.Context) ServerSftpAuthenticationMethodsPtrOutput { + return ServerSftpAuthenticationMethods(e).ToServerSftpAuthenticationMethodsOutputWithContext(ctx).ToServerSftpAuthenticationMethodsPtrOutputWithContext(ctx) +} + +func (e ServerSftpAuthenticationMethods) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerSftpAuthenticationMethods) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerSftpAuthenticationMethods) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerSftpAuthenticationMethods) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerSftpAuthenticationMethodsOutput struct{ *pulumi.OutputState } + +func (ServerSftpAuthenticationMethodsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerSftpAuthenticationMethods)(nil)).Elem() +} + +func (o ServerSftpAuthenticationMethodsOutput) ToServerSftpAuthenticationMethodsOutput() ServerSftpAuthenticationMethodsOutput { + return o +} + +func (o ServerSftpAuthenticationMethodsOutput) ToServerSftpAuthenticationMethodsOutputWithContext(ctx context.Context) ServerSftpAuthenticationMethodsOutput { + return o +} + +func (o ServerSftpAuthenticationMethodsOutput) ToServerSftpAuthenticationMethodsPtrOutput() ServerSftpAuthenticationMethodsPtrOutput { + return o.ToServerSftpAuthenticationMethodsPtrOutputWithContext(context.Background()) +} + +func (o ServerSftpAuthenticationMethodsOutput) ToServerSftpAuthenticationMethodsPtrOutputWithContext(ctx context.Context) ServerSftpAuthenticationMethodsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerSftpAuthenticationMethods) *ServerSftpAuthenticationMethods { + return &v + }).(ServerSftpAuthenticationMethodsPtrOutput) +} + +func (o ServerSftpAuthenticationMethodsOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerSftpAuthenticationMethodsOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerSftpAuthenticationMethods) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerSftpAuthenticationMethodsOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerSftpAuthenticationMethodsOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerSftpAuthenticationMethods) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerSftpAuthenticationMethodsPtrOutput struct{ *pulumi.OutputState } + +func (ServerSftpAuthenticationMethodsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerSftpAuthenticationMethods)(nil)).Elem() +} + +func (o ServerSftpAuthenticationMethodsPtrOutput) ToServerSftpAuthenticationMethodsPtrOutput() ServerSftpAuthenticationMethodsPtrOutput { + return o +} + +func (o ServerSftpAuthenticationMethodsPtrOutput) ToServerSftpAuthenticationMethodsPtrOutputWithContext(ctx context.Context) ServerSftpAuthenticationMethodsPtrOutput { + return o +} + +func (o ServerSftpAuthenticationMethodsPtrOutput) Elem() ServerSftpAuthenticationMethodsOutput { + return o.ApplyT(func(v *ServerSftpAuthenticationMethods) ServerSftpAuthenticationMethods { + if v != nil { + return *v + } + var ret ServerSftpAuthenticationMethods + return ret + }).(ServerSftpAuthenticationMethodsOutput) +} + +func (o ServerSftpAuthenticationMethodsPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerSftpAuthenticationMethodsPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerSftpAuthenticationMethods) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerSftpAuthenticationMethodsInput is an input type that accepts values of the ServerSftpAuthenticationMethods enum +// A concrete instance of `ServerSftpAuthenticationMethodsInput` can be one of the following: +// +// ServerSftpAuthenticationMethodsPassword +// ServerSftpAuthenticationMethodsPublicKey +// ServerSftpAuthenticationMethodsPublicKeyOrPassword +// ServerSftpAuthenticationMethodsPublicKeyAndPassword +type ServerSftpAuthenticationMethodsInput interface { + pulumi.Input + + ToServerSftpAuthenticationMethodsOutput() ServerSftpAuthenticationMethodsOutput + ToServerSftpAuthenticationMethodsOutputWithContext(context.Context) ServerSftpAuthenticationMethodsOutput +} + +var serverSftpAuthenticationMethodsPtrType = reflect.TypeOf((**ServerSftpAuthenticationMethods)(nil)).Elem() + +type ServerSftpAuthenticationMethodsPtrInput interface { + pulumi.Input + + ToServerSftpAuthenticationMethodsPtrOutput() ServerSftpAuthenticationMethodsPtrOutput + ToServerSftpAuthenticationMethodsPtrOutputWithContext(context.Context) ServerSftpAuthenticationMethodsPtrOutput +} + +type serverSftpAuthenticationMethodsPtr string + +func ServerSftpAuthenticationMethodsPtr(v string) ServerSftpAuthenticationMethodsPtrInput { + return (*serverSftpAuthenticationMethodsPtr)(&v) +} + +func (*serverSftpAuthenticationMethodsPtr) ElementType() reflect.Type { + return serverSftpAuthenticationMethodsPtrType +} + +func (in *serverSftpAuthenticationMethodsPtr) ToServerSftpAuthenticationMethodsPtrOutput() ServerSftpAuthenticationMethodsPtrOutput { + return pulumi.ToOutput(in).(ServerSftpAuthenticationMethodsPtrOutput) +} + +func (in *serverSftpAuthenticationMethodsPtr) ToServerSftpAuthenticationMethodsPtrOutputWithContext(ctx context.Context) ServerSftpAuthenticationMethodsPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerSftpAuthenticationMethodsPtrOutput) +} + +type ServerTlsSessionResumptionMode string + +const ( + ServerTlsSessionResumptionModeDisabled = ServerTlsSessionResumptionMode("DISABLED") + ServerTlsSessionResumptionModeEnabled = ServerTlsSessionResumptionMode("ENABLED") + ServerTlsSessionResumptionModeEnforced = ServerTlsSessionResumptionMode("ENFORCED") +) + +func (ServerTlsSessionResumptionMode) ElementType() reflect.Type { + return reflect.TypeOf((*ServerTlsSessionResumptionMode)(nil)).Elem() +} + +func (e ServerTlsSessionResumptionMode) ToServerTlsSessionResumptionModeOutput() ServerTlsSessionResumptionModeOutput { + return pulumi.ToOutput(e).(ServerTlsSessionResumptionModeOutput) +} + +func (e ServerTlsSessionResumptionMode) ToServerTlsSessionResumptionModeOutputWithContext(ctx context.Context) ServerTlsSessionResumptionModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServerTlsSessionResumptionModeOutput) +} + +func (e ServerTlsSessionResumptionMode) ToServerTlsSessionResumptionModePtrOutput() ServerTlsSessionResumptionModePtrOutput { + return e.ToServerTlsSessionResumptionModePtrOutputWithContext(context.Background()) +} + +func (e ServerTlsSessionResumptionMode) ToServerTlsSessionResumptionModePtrOutputWithContext(ctx context.Context) ServerTlsSessionResumptionModePtrOutput { + return ServerTlsSessionResumptionMode(e).ToServerTlsSessionResumptionModeOutputWithContext(ctx).ToServerTlsSessionResumptionModePtrOutputWithContext(ctx) +} + +func (e ServerTlsSessionResumptionMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerTlsSessionResumptionMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServerTlsSessionResumptionMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServerTlsSessionResumptionMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServerTlsSessionResumptionModeOutput struct{ *pulumi.OutputState } + +func (ServerTlsSessionResumptionModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerTlsSessionResumptionMode)(nil)).Elem() +} + +func (o ServerTlsSessionResumptionModeOutput) ToServerTlsSessionResumptionModeOutput() ServerTlsSessionResumptionModeOutput { + return o +} + +func (o ServerTlsSessionResumptionModeOutput) ToServerTlsSessionResumptionModeOutputWithContext(ctx context.Context) ServerTlsSessionResumptionModeOutput { + return o +} + +func (o ServerTlsSessionResumptionModeOutput) ToServerTlsSessionResumptionModePtrOutput() ServerTlsSessionResumptionModePtrOutput { + return o.ToServerTlsSessionResumptionModePtrOutputWithContext(context.Background()) +} + +func (o ServerTlsSessionResumptionModeOutput) ToServerTlsSessionResumptionModePtrOutputWithContext(ctx context.Context) ServerTlsSessionResumptionModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerTlsSessionResumptionMode) *ServerTlsSessionResumptionMode { + return &v + }).(ServerTlsSessionResumptionModePtrOutput) +} + +func (o ServerTlsSessionResumptionModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServerTlsSessionResumptionModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerTlsSessionResumptionMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServerTlsSessionResumptionModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerTlsSessionResumptionModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServerTlsSessionResumptionMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServerTlsSessionResumptionModePtrOutput struct{ *pulumi.OutputState } + +func (ServerTlsSessionResumptionModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerTlsSessionResumptionMode)(nil)).Elem() +} + +func (o ServerTlsSessionResumptionModePtrOutput) ToServerTlsSessionResumptionModePtrOutput() ServerTlsSessionResumptionModePtrOutput { + return o +} + +func (o ServerTlsSessionResumptionModePtrOutput) ToServerTlsSessionResumptionModePtrOutputWithContext(ctx context.Context) ServerTlsSessionResumptionModePtrOutput { + return o +} + +func (o ServerTlsSessionResumptionModePtrOutput) Elem() ServerTlsSessionResumptionModeOutput { + return o.ApplyT(func(v *ServerTlsSessionResumptionMode) ServerTlsSessionResumptionMode { + if v != nil { + return *v + } + var ret ServerTlsSessionResumptionMode + return ret + }).(ServerTlsSessionResumptionModeOutput) +} + +func (o ServerTlsSessionResumptionModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServerTlsSessionResumptionModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServerTlsSessionResumptionMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServerTlsSessionResumptionModeInput is an input type that accepts values of the ServerTlsSessionResumptionMode enum +// A concrete instance of `ServerTlsSessionResumptionModeInput` can be one of the following: +// +// ServerTlsSessionResumptionModeDisabled +// ServerTlsSessionResumptionModeEnabled +// ServerTlsSessionResumptionModeEnforced +type ServerTlsSessionResumptionModeInput interface { + pulumi.Input + + ToServerTlsSessionResumptionModeOutput() ServerTlsSessionResumptionModeOutput + ToServerTlsSessionResumptionModeOutputWithContext(context.Context) ServerTlsSessionResumptionModeOutput +} + +var serverTlsSessionResumptionModePtrType = reflect.TypeOf((**ServerTlsSessionResumptionMode)(nil)).Elem() + +type ServerTlsSessionResumptionModePtrInput interface { + pulumi.Input + + ToServerTlsSessionResumptionModePtrOutput() ServerTlsSessionResumptionModePtrOutput + ToServerTlsSessionResumptionModePtrOutputWithContext(context.Context) ServerTlsSessionResumptionModePtrOutput +} + +type serverTlsSessionResumptionModePtr string + +func ServerTlsSessionResumptionModePtr(v string) ServerTlsSessionResumptionModePtrInput { + return (*serverTlsSessionResumptionModePtr)(&v) +} + +func (*serverTlsSessionResumptionModePtr) ElementType() reflect.Type { + return serverTlsSessionResumptionModePtrType +} + +func (in *serverTlsSessionResumptionModePtr) ToServerTlsSessionResumptionModePtrOutput() ServerTlsSessionResumptionModePtrOutput { + return pulumi.ToOutput(in).(ServerTlsSessionResumptionModePtrOutput) +} + +func (in *serverTlsSessionResumptionModePtr) ToServerTlsSessionResumptionModePtrOutputWithContext(ctx context.Context) ServerTlsSessionResumptionModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServerTlsSessionResumptionModePtrOutput) +} + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is FALSE. type WorkflowStepCopyStepDetailsPropertiesOverwriteExisting string @@ -2227,6 +3817,26 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConnectorAs2ConfigPropertiesSigningAlgorithmPtrInput)(nil)).Elem(), ConnectorAs2ConfigPropertiesSigningAlgorithm("SHA256")) pulumi.RegisterInputType(reflect.TypeOf((*ProfileTypeInput)(nil)).Elem(), ProfileType("LOCAL")) pulumi.RegisterInputType(reflect.TypeOf((*ProfileTypePtrInput)(nil)).Elem(), ProfileType("LOCAL")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerAs2TransportInput)(nil)).Elem(), ServerAs2Transport("HTTP")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerAs2TransportPtrInput)(nil)).Elem(), ServerAs2Transport("HTTP")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerAs2TransportArrayInput)(nil)).Elem(), ServerAs2TransportArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerDirectoryListingOptimizationInput)(nil)).Elem(), ServerDirectoryListingOptimization("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerDirectoryListingOptimizationPtrInput)(nil)).Elem(), ServerDirectoryListingOptimization("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerDomainInput)(nil)).Elem(), ServerDomain("S3")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerDomainPtrInput)(nil)).Elem(), ServerDomain("S3")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerEndpointTypeInput)(nil)).Elem(), ServerEndpointType("PUBLIC")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerEndpointTypePtrInput)(nil)).Elem(), ServerEndpointType("PUBLIC")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerIdentityProviderTypeInput)(nil)).Elem(), ServerIdentityProviderType("SERVICE_MANAGED")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerIdentityProviderTypePtrInput)(nil)).Elem(), ServerIdentityProviderType("SERVICE_MANAGED")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerProtocolInput)(nil)).Elem(), ServerProtocol("SFTP")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerProtocolPtrInput)(nil)).Elem(), ServerProtocol("SFTP")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerProtocolArrayInput)(nil)).Elem(), ServerProtocolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerSetStatOptionInput)(nil)).Elem(), ServerSetStatOption("DEFAULT")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerSetStatOptionPtrInput)(nil)).Elem(), ServerSetStatOption("DEFAULT")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerSftpAuthenticationMethodsInput)(nil)).Elem(), ServerSftpAuthenticationMethods("PASSWORD")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerSftpAuthenticationMethodsPtrInput)(nil)).Elem(), ServerSftpAuthenticationMethods("PASSWORD")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerTlsSessionResumptionModeInput)(nil)).Elem(), ServerTlsSessionResumptionMode("DISABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*ServerTlsSessionResumptionModePtrInput)(nil)).Elem(), ServerTlsSessionResumptionMode("DISABLED")) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepCopyStepDetailsPropertiesOverwriteExistingInput)(nil)).Elem(), WorkflowStepCopyStepDetailsPropertiesOverwriteExisting("TRUE")) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepCopyStepDetailsPropertiesOverwriteExistingPtrInput)(nil)).Elem(), WorkflowStepCopyStepDetailsPropertiesOverwriteExisting("TRUE")) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsPropertiesOverwriteExistingInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsPropertiesOverwriteExisting("TRUE")) @@ -2255,6 +3865,26 @@ func init() { pulumi.RegisterOutputType(ConnectorAs2ConfigPropertiesSigningAlgorithmPtrOutput{}) pulumi.RegisterOutputType(ProfileTypeOutput{}) pulumi.RegisterOutputType(ProfileTypePtrOutput{}) + pulumi.RegisterOutputType(ServerAs2TransportOutput{}) + pulumi.RegisterOutputType(ServerAs2TransportPtrOutput{}) + pulumi.RegisterOutputType(ServerAs2TransportArrayOutput{}) + pulumi.RegisterOutputType(ServerDirectoryListingOptimizationOutput{}) + pulumi.RegisterOutputType(ServerDirectoryListingOptimizationPtrOutput{}) + pulumi.RegisterOutputType(ServerDomainOutput{}) + pulumi.RegisterOutputType(ServerDomainPtrOutput{}) + pulumi.RegisterOutputType(ServerEndpointTypeOutput{}) + pulumi.RegisterOutputType(ServerEndpointTypePtrOutput{}) + pulumi.RegisterOutputType(ServerIdentityProviderTypeOutput{}) + pulumi.RegisterOutputType(ServerIdentityProviderTypePtrOutput{}) + pulumi.RegisterOutputType(ServerProtocolOutput{}) + pulumi.RegisterOutputType(ServerProtocolPtrOutput{}) + pulumi.RegisterOutputType(ServerProtocolArrayOutput{}) + pulumi.RegisterOutputType(ServerSetStatOptionOutput{}) + pulumi.RegisterOutputType(ServerSetStatOptionPtrOutput{}) + pulumi.RegisterOutputType(ServerSftpAuthenticationMethodsOutput{}) + pulumi.RegisterOutputType(ServerSftpAuthenticationMethodsPtrOutput{}) + pulumi.RegisterOutputType(ServerTlsSessionResumptionModeOutput{}) + pulumi.RegisterOutputType(ServerTlsSessionResumptionModePtrOutput{}) pulumi.RegisterOutputType(WorkflowStepCopyStepDetailsPropertiesOverwriteExistingOutput{}) pulumi.RegisterOutputType(WorkflowStepCopyStepDetailsPropertiesOverwriteExistingPtrOutput{}) pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsPropertiesOverwriteExistingOutput{}) diff --git a/sdk/go/aws/transfer/pulumiTypes.go b/sdk/go/aws/transfer/pulumiTypes.go index 3c80379c6c..54e3950386 100644 --- a/sdk/go/aws/transfer/pulumiTypes.go +++ b/sdk/go/aws/transfer/pulumiTypes.go @@ -341,6 +341,1280 @@ type ProfileTag struct { Value string `pulumi:"value"` } +type ServerEndpointDetails struct { + // A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + // + // An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + // + // This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + // + // > This property can only be set as follows: + // > - `EndpointType` must be set to `VPC` + // > - The Transfer Family server must be offline. + // > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + // > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + // > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + // > - Call the `UpdateServer` API to set or change this parameter. + AddressAllocationIds []string `pulumi:"addressAllocationIds"` + // A list of security groups IDs that are available to attach to your server's endpoint. + // + // > This property can only be set when `EndpointType` is set to `VPC` . + // > + // > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // A list of subnet IDs that are required to host your server endpoint in your VPC. + // + // > This property can only be set when `EndpointType` is set to `VPC` . + SubnetIds []string `pulumi:"subnetIds"` + // The ID of the VPC endpoint. + // + // > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + VpcEndpointId *string `pulumi:"vpcEndpointId"` + // The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + // + // > This property can only be set when `EndpointType` is set to `VPC` . + VpcId *string `pulumi:"vpcId"` +} + +// ServerEndpointDetailsInput is an input type that accepts ServerEndpointDetailsArgs and ServerEndpointDetailsOutput values. +// You can construct a concrete instance of `ServerEndpointDetailsInput` via: +// +// ServerEndpointDetailsArgs{...} +type ServerEndpointDetailsInput interface { + pulumi.Input + + ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput + ToServerEndpointDetailsOutputWithContext(context.Context) ServerEndpointDetailsOutput +} + +type ServerEndpointDetailsArgs struct { + // A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + // + // An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + // + // This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + // + // > This property can only be set as follows: + // > - `EndpointType` must be set to `VPC` + // > - The Transfer Family server must be offline. + // > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + // > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + // > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + // > - Call the `UpdateServer` API to set or change this parameter. + AddressAllocationIds pulumi.StringArrayInput `pulumi:"addressAllocationIds"` + // A list of security groups IDs that are available to attach to your server's endpoint. + // + // > This property can only be set when `EndpointType` is set to `VPC` . + // > + // > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // A list of subnet IDs that are required to host your server endpoint in your VPC. + // + // > This property can only be set when `EndpointType` is set to `VPC` . + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` + // The ID of the VPC endpoint. + // + // > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + VpcEndpointId pulumi.StringPtrInput `pulumi:"vpcEndpointId"` + // The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + // + // > This property can only be set when `EndpointType` is set to `VPC` . + VpcId pulumi.StringPtrInput `pulumi:"vpcId"` +} + +func (ServerEndpointDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerEndpointDetails)(nil)).Elem() +} + +func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput { + return i.ToServerEndpointDetailsOutputWithContext(context.Background()) +} + +func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsOutputWithContext(ctx context.Context) ServerEndpointDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerEndpointDetailsOutput) +} + +func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput { + return i.ToServerEndpointDetailsPtrOutputWithContext(context.Background()) +} + +func (i ServerEndpointDetailsArgs) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerEndpointDetailsOutput).ToServerEndpointDetailsPtrOutputWithContext(ctx) +} + +// ServerEndpointDetailsPtrInput is an input type that accepts ServerEndpointDetailsArgs, ServerEndpointDetailsPtr and ServerEndpointDetailsPtrOutput values. +// You can construct a concrete instance of `ServerEndpointDetailsPtrInput` via: +// +// ServerEndpointDetailsArgs{...} +// +// or: +// +// nil +type ServerEndpointDetailsPtrInput interface { + pulumi.Input + + ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput + ToServerEndpointDetailsPtrOutputWithContext(context.Context) ServerEndpointDetailsPtrOutput +} + +type serverEndpointDetailsPtrType ServerEndpointDetailsArgs + +func ServerEndpointDetailsPtr(v *ServerEndpointDetailsArgs) ServerEndpointDetailsPtrInput { + return (*serverEndpointDetailsPtrType)(v) +} + +func (*serverEndpointDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerEndpointDetails)(nil)).Elem() +} + +func (i *serverEndpointDetailsPtrType) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput { + return i.ToServerEndpointDetailsPtrOutputWithContext(context.Background()) +} + +func (i *serverEndpointDetailsPtrType) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerEndpointDetailsPtrOutput) +} + +type ServerEndpointDetailsOutput struct{ *pulumi.OutputState } + +func (ServerEndpointDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerEndpointDetails)(nil)).Elem() +} + +func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsOutput() ServerEndpointDetailsOutput { + return o +} + +func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsOutputWithContext(ctx context.Context) ServerEndpointDetailsOutput { + return o +} + +func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput { + return o.ToServerEndpointDetailsPtrOutputWithContext(context.Background()) +} + +func (o ServerEndpointDetailsOutput) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerEndpointDetails) *ServerEndpointDetails { + return &v + }).(ServerEndpointDetailsPtrOutput) +} + +// A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. +// +// An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. +// +// This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . +// +// > This property can only be set as follows: +// > - `EndpointType` must be set to `VPC` +// > - The Transfer Family server must be offline. +// > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. +// > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). +// > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. +// > - Call the `UpdateServer` API to set or change this parameter. +func (o ServerEndpointDetailsOutput) AddressAllocationIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServerEndpointDetails) []string { return v.AddressAllocationIds }).(pulumi.StringArrayOutput) +} + +// A list of security groups IDs that are available to attach to your server's endpoint. +// +// > This property can only be set when `EndpointType` is set to `VPC` . +// > +// > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. +func (o ServerEndpointDetailsOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServerEndpointDetails) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// A list of subnet IDs that are required to host your server endpoint in your VPC. +// +// > This property can only be set when `EndpointType` is set to `VPC` . +func (o ServerEndpointDetailsOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServerEndpointDetails) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +// The ID of the VPC endpoint. +// +// > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . +func (o ServerEndpointDetailsOutput) VpcEndpointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerEndpointDetails) *string { return v.VpcEndpointId }).(pulumi.StringPtrOutput) +} + +// The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. +// +// > This property can only be set when `EndpointType` is set to `VPC` . +func (o ServerEndpointDetailsOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerEndpointDetails) *string { return v.VpcId }).(pulumi.StringPtrOutput) +} + +type ServerEndpointDetailsPtrOutput struct{ *pulumi.OutputState } + +func (ServerEndpointDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerEndpointDetails)(nil)).Elem() +} + +func (o ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutput() ServerEndpointDetailsPtrOutput { + return o +} + +func (o ServerEndpointDetailsPtrOutput) ToServerEndpointDetailsPtrOutputWithContext(ctx context.Context) ServerEndpointDetailsPtrOutput { + return o +} + +func (o ServerEndpointDetailsPtrOutput) Elem() ServerEndpointDetailsOutput { + return o.ApplyT(func(v *ServerEndpointDetails) ServerEndpointDetails { + if v != nil { + return *v + } + var ret ServerEndpointDetails + return ret + }).(ServerEndpointDetailsOutput) +} + +// A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. +// +// An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. +// +// This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . +// +// > This property can only be set as follows: +// > - `EndpointType` must be set to `VPC` +// > - The Transfer Family server must be offline. +// > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. +// > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). +// > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. +// > - Call the `UpdateServer` API to set or change this parameter. +func (o ServerEndpointDetailsPtrOutput) AddressAllocationIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServerEndpointDetails) []string { + if v == nil { + return nil + } + return v.AddressAllocationIds + }).(pulumi.StringArrayOutput) +} + +// A list of security groups IDs that are available to attach to your server's endpoint. +// +// > This property can only be set when `EndpointType` is set to `VPC` . +// > +// > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. +func (o ServerEndpointDetailsPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServerEndpointDetails) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// A list of subnet IDs that are required to host your server endpoint in your VPC. +// +// > This property can only be set when `EndpointType` is set to `VPC` . +func (o ServerEndpointDetailsPtrOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServerEndpointDetails) []string { + if v == nil { + return nil + } + return v.SubnetIds + }).(pulumi.StringArrayOutput) +} + +// The ID of the VPC endpoint. +// +// > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . +func (o ServerEndpointDetailsPtrOutput) VpcEndpointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerEndpointDetails) *string { + if v == nil { + return nil + } + return v.VpcEndpointId + }).(pulumi.StringPtrOutput) +} + +// The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. +// +// > This property can only be set when `EndpointType` is set to `VPC` . +func (o ServerEndpointDetailsPtrOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerEndpointDetails) *string { + if v == nil { + return nil + } + return v.VpcId + }).(pulumi.StringPtrOutput) +} + +type ServerIdentityProviderDetails struct { + // The identifier of the AWS Directory Service directory that you want to use as your identity provider. + DirectoryId *string `pulumi:"directoryId"` + // The ARN for a Lambda function to use for the Identity provider. + Function *string `pulumi:"function"` + // This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + InvocationRole *string `pulumi:"invocationRole"` + // For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + // + // - `PASSWORD` - users must provide their password to connect. + // - `PUBLIC_KEY` - users must provide their private key to connect. + // - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + // - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + SftpAuthenticationMethods *ServerSftpAuthenticationMethods `pulumi:"sftpAuthenticationMethods"` + // Provides the location of the service endpoint used to authenticate users. + Url *string `pulumi:"url"` +} + +// ServerIdentityProviderDetailsInput is an input type that accepts ServerIdentityProviderDetailsArgs and ServerIdentityProviderDetailsOutput values. +// You can construct a concrete instance of `ServerIdentityProviderDetailsInput` via: +// +// ServerIdentityProviderDetailsArgs{...} +type ServerIdentityProviderDetailsInput interface { + pulumi.Input + + ToServerIdentityProviderDetailsOutput() ServerIdentityProviderDetailsOutput + ToServerIdentityProviderDetailsOutputWithContext(context.Context) ServerIdentityProviderDetailsOutput +} + +type ServerIdentityProviderDetailsArgs struct { + // The identifier of the AWS Directory Service directory that you want to use as your identity provider. + DirectoryId pulumi.StringPtrInput `pulumi:"directoryId"` + // The ARN for a Lambda function to use for the Identity provider. + Function pulumi.StringPtrInput `pulumi:"function"` + // This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + InvocationRole pulumi.StringPtrInput `pulumi:"invocationRole"` + // For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + // + // - `PASSWORD` - users must provide their password to connect. + // - `PUBLIC_KEY` - users must provide their private key to connect. + // - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + // - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + SftpAuthenticationMethods ServerSftpAuthenticationMethodsPtrInput `pulumi:"sftpAuthenticationMethods"` + // Provides the location of the service endpoint used to authenticate users. + Url pulumi.StringPtrInput `pulumi:"url"` +} + +func (ServerIdentityProviderDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerIdentityProviderDetails)(nil)).Elem() +} + +func (i ServerIdentityProviderDetailsArgs) ToServerIdentityProviderDetailsOutput() ServerIdentityProviderDetailsOutput { + return i.ToServerIdentityProviderDetailsOutputWithContext(context.Background()) +} + +func (i ServerIdentityProviderDetailsArgs) ToServerIdentityProviderDetailsOutputWithContext(ctx context.Context) ServerIdentityProviderDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerIdentityProviderDetailsOutput) +} + +func (i ServerIdentityProviderDetailsArgs) ToServerIdentityProviderDetailsPtrOutput() ServerIdentityProviderDetailsPtrOutput { + return i.ToServerIdentityProviderDetailsPtrOutputWithContext(context.Background()) +} + +func (i ServerIdentityProviderDetailsArgs) ToServerIdentityProviderDetailsPtrOutputWithContext(ctx context.Context) ServerIdentityProviderDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerIdentityProviderDetailsOutput).ToServerIdentityProviderDetailsPtrOutputWithContext(ctx) +} + +// ServerIdentityProviderDetailsPtrInput is an input type that accepts ServerIdentityProviderDetailsArgs, ServerIdentityProviderDetailsPtr and ServerIdentityProviderDetailsPtrOutput values. +// You can construct a concrete instance of `ServerIdentityProviderDetailsPtrInput` via: +// +// ServerIdentityProviderDetailsArgs{...} +// +// or: +// +// nil +type ServerIdentityProviderDetailsPtrInput interface { + pulumi.Input + + ToServerIdentityProviderDetailsPtrOutput() ServerIdentityProviderDetailsPtrOutput + ToServerIdentityProviderDetailsPtrOutputWithContext(context.Context) ServerIdentityProviderDetailsPtrOutput +} + +type serverIdentityProviderDetailsPtrType ServerIdentityProviderDetailsArgs + +func ServerIdentityProviderDetailsPtr(v *ServerIdentityProviderDetailsArgs) ServerIdentityProviderDetailsPtrInput { + return (*serverIdentityProviderDetailsPtrType)(v) +} + +func (*serverIdentityProviderDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerIdentityProviderDetails)(nil)).Elem() +} + +func (i *serverIdentityProviderDetailsPtrType) ToServerIdentityProviderDetailsPtrOutput() ServerIdentityProviderDetailsPtrOutput { + return i.ToServerIdentityProviderDetailsPtrOutputWithContext(context.Background()) +} + +func (i *serverIdentityProviderDetailsPtrType) ToServerIdentityProviderDetailsPtrOutputWithContext(ctx context.Context) ServerIdentityProviderDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerIdentityProviderDetailsPtrOutput) +} + +type ServerIdentityProviderDetailsOutput struct{ *pulumi.OutputState } + +func (ServerIdentityProviderDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerIdentityProviderDetails)(nil)).Elem() +} + +func (o ServerIdentityProviderDetailsOutput) ToServerIdentityProviderDetailsOutput() ServerIdentityProviderDetailsOutput { + return o +} + +func (o ServerIdentityProviderDetailsOutput) ToServerIdentityProviderDetailsOutputWithContext(ctx context.Context) ServerIdentityProviderDetailsOutput { + return o +} + +func (o ServerIdentityProviderDetailsOutput) ToServerIdentityProviderDetailsPtrOutput() ServerIdentityProviderDetailsPtrOutput { + return o.ToServerIdentityProviderDetailsPtrOutputWithContext(context.Background()) +} + +func (o ServerIdentityProviderDetailsOutput) ToServerIdentityProviderDetailsPtrOutputWithContext(ctx context.Context) ServerIdentityProviderDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerIdentityProviderDetails) *ServerIdentityProviderDetails { + return &v + }).(ServerIdentityProviderDetailsPtrOutput) +} + +// The identifier of the AWS Directory Service directory that you want to use as your identity provider. +func (o ServerIdentityProviderDetailsOutput) DirectoryId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerIdentityProviderDetails) *string { return v.DirectoryId }).(pulumi.StringPtrOutput) +} + +// The ARN for a Lambda function to use for the Identity provider. +func (o ServerIdentityProviderDetailsOutput) Function() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerIdentityProviderDetails) *string { return v.Function }).(pulumi.StringPtrOutput) +} + +// This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. +func (o ServerIdentityProviderDetailsOutput) InvocationRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerIdentityProviderDetails) *string { return v.InvocationRole }).(pulumi.StringPtrOutput) +} + +// For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. +// +// - `PASSWORD` - users must provide their password to connect. +// - `PUBLIC_KEY` - users must provide their private key to connect. +// - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. +// - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. +func (o ServerIdentityProviderDetailsOutput) SftpAuthenticationMethods() ServerSftpAuthenticationMethodsPtrOutput { + return o.ApplyT(func(v ServerIdentityProviderDetails) *ServerSftpAuthenticationMethods { + return v.SftpAuthenticationMethods + }).(ServerSftpAuthenticationMethodsPtrOutput) +} + +// Provides the location of the service endpoint used to authenticate users. +func (o ServerIdentityProviderDetailsOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerIdentityProviderDetails) *string { return v.Url }).(pulumi.StringPtrOutput) +} + +type ServerIdentityProviderDetailsPtrOutput struct{ *pulumi.OutputState } + +func (ServerIdentityProviderDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerIdentityProviderDetails)(nil)).Elem() +} + +func (o ServerIdentityProviderDetailsPtrOutput) ToServerIdentityProviderDetailsPtrOutput() ServerIdentityProviderDetailsPtrOutput { + return o +} + +func (o ServerIdentityProviderDetailsPtrOutput) ToServerIdentityProviderDetailsPtrOutputWithContext(ctx context.Context) ServerIdentityProviderDetailsPtrOutput { + return o +} + +func (o ServerIdentityProviderDetailsPtrOutput) Elem() ServerIdentityProviderDetailsOutput { + return o.ApplyT(func(v *ServerIdentityProviderDetails) ServerIdentityProviderDetails { + if v != nil { + return *v + } + var ret ServerIdentityProviderDetails + return ret + }).(ServerIdentityProviderDetailsOutput) +} + +// The identifier of the AWS Directory Service directory that you want to use as your identity provider. +func (o ServerIdentityProviderDetailsPtrOutput) DirectoryId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerIdentityProviderDetails) *string { + if v == nil { + return nil + } + return v.DirectoryId + }).(pulumi.StringPtrOutput) +} + +// The ARN for a Lambda function to use for the Identity provider. +func (o ServerIdentityProviderDetailsPtrOutput) Function() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerIdentityProviderDetails) *string { + if v == nil { + return nil + } + return v.Function + }).(pulumi.StringPtrOutput) +} + +// This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. +func (o ServerIdentityProviderDetailsPtrOutput) InvocationRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerIdentityProviderDetails) *string { + if v == nil { + return nil + } + return v.InvocationRole + }).(pulumi.StringPtrOutput) +} + +// For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. +// +// - `PASSWORD` - users must provide their password to connect. +// - `PUBLIC_KEY` - users must provide their private key to connect. +// - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. +// - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. +func (o ServerIdentityProviderDetailsPtrOutput) SftpAuthenticationMethods() ServerSftpAuthenticationMethodsPtrOutput { + return o.ApplyT(func(v *ServerIdentityProviderDetails) *ServerSftpAuthenticationMethods { + if v == nil { + return nil + } + return v.SftpAuthenticationMethods + }).(ServerSftpAuthenticationMethodsPtrOutput) +} + +// Provides the location of the service endpoint used to authenticate users. +func (o ServerIdentityProviderDetailsPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerIdentityProviderDetails) *string { + if v == nil { + return nil + } + return v.Url + }).(pulumi.StringPtrOutput) +} + +type ServerProtocolDetails struct { + // List of `As2Transport` objects. + As2Transports []ServerAs2Transport `pulumi:"as2Transports"` + // Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + // + // `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + // + // Replace `0.0.0.0` in the example above with the actual IP address you want to use. + // + // > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + // + // *Special values* + // + // The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + PassiveIp *string `pulumi:"passiveIp"` + // Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + // + // Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + // + // Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + // + // > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + SetStatOption *ServerSetStatOption `pulumi:"setStatOption"` + // A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + // + // - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + // - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + // - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + // + // > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + TlsSessionResumptionMode *ServerTlsSessionResumptionMode `pulumi:"tlsSessionResumptionMode"` +} + +// ServerProtocolDetailsInput is an input type that accepts ServerProtocolDetailsArgs and ServerProtocolDetailsOutput values. +// You can construct a concrete instance of `ServerProtocolDetailsInput` via: +// +// ServerProtocolDetailsArgs{...} +type ServerProtocolDetailsInput interface { + pulumi.Input + + ToServerProtocolDetailsOutput() ServerProtocolDetailsOutput + ToServerProtocolDetailsOutputWithContext(context.Context) ServerProtocolDetailsOutput +} + +type ServerProtocolDetailsArgs struct { + // List of `As2Transport` objects. + As2Transports ServerAs2TransportArrayInput `pulumi:"as2Transports"` + // Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + // + // `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + // + // Replace `0.0.0.0` in the example above with the actual IP address you want to use. + // + // > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + // + // *Special values* + // + // The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + PassiveIp pulumi.StringPtrInput `pulumi:"passiveIp"` + // Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + // + // Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + // + // Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + // + // > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + SetStatOption ServerSetStatOptionPtrInput `pulumi:"setStatOption"` + // A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + // + // - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + // - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + // - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + // + // > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + TlsSessionResumptionMode ServerTlsSessionResumptionModePtrInput `pulumi:"tlsSessionResumptionMode"` +} + +func (ServerProtocolDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerProtocolDetails)(nil)).Elem() +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsOutput() ServerProtocolDetailsOutput { + return i.ToServerProtocolDetailsOutputWithContext(context.Background()) +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsOutputWithContext(ctx context.Context) ServerProtocolDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerProtocolDetailsOutput) +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return i.ToServerProtocolDetailsPtrOutputWithContext(context.Background()) +} + +func (i ServerProtocolDetailsArgs) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerProtocolDetailsOutput).ToServerProtocolDetailsPtrOutputWithContext(ctx) +} + +// ServerProtocolDetailsPtrInput is an input type that accepts ServerProtocolDetailsArgs, ServerProtocolDetailsPtr and ServerProtocolDetailsPtrOutput values. +// You can construct a concrete instance of `ServerProtocolDetailsPtrInput` via: +// +// ServerProtocolDetailsArgs{...} +// +// or: +// +// nil +type ServerProtocolDetailsPtrInput interface { + pulumi.Input + + ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput + ToServerProtocolDetailsPtrOutputWithContext(context.Context) ServerProtocolDetailsPtrOutput +} + +type serverProtocolDetailsPtrType ServerProtocolDetailsArgs + +func ServerProtocolDetailsPtr(v *ServerProtocolDetailsArgs) ServerProtocolDetailsPtrInput { + return (*serverProtocolDetailsPtrType)(v) +} + +func (*serverProtocolDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerProtocolDetails)(nil)).Elem() +} + +func (i *serverProtocolDetailsPtrType) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return i.ToServerProtocolDetailsPtrOutputWithContext(context.Background()) +} + +func (i *serverProtocolDetailsPtrType) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerProtocolDetailsPtrOutput) +} + +type ServerProtocolDetailsOutput struct{ *pulumi.OutputState } + +func (ServerProtocolDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerProtocolDetails)(nil)).Elem() +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsOutput() ServerProtocolDetailsOutput { + return o +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsOutputWithContext(ctx context.Context) ServerProtocolDetailsOutput { + return o +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return o.ToServerProtocolDetailsPtrOutputWithContext(context.Background()) +} + +func (o ServerProtocolDetailsOutput) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerProtocolDetails) *ServerProtocolDetails { + return &v + }).(ServerProtocolDetailsPtrOutput) +} + +// List of `As2Transport` objects. +func (o ServerProtocolDetailsOutput) As2Transports() ServerAs2TransportArrayOutput { + return o.ApplyT(func(v ServerProtocolDetails) []ServerAs2Transport { return v.As2Transports }).(ServerAs2TransportArrayOutput) +} + +// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: +// +// `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` +// +// Replace `0.0.0.0` in the example above with the actual IP address you want to use. +// +// > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . +// +// *Special values* +// +// The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. +func (o ServerProtocolDetailsOutput) PassiveIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerProtocolDetails) *string { return v.PassiveIp }).(pulumi.StringPtrOutput) +} + +// Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. +// +// Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. +// +// Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. +// +// > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. +func (o ServerProtocolDetailsOutput) SetStatOption() ServerSetStatOptionPtrOutput { + return o.ApplyT(func(v ServerProtocolDetails) *ServerSetStatOption { return v.SetStatOption }).(ServerSetStatOptionPtrOutput) +} + +// A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. +// +// - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. +// - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. +// - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. +// +// > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. +func (o ServerProtocolDetailsOutput) TlsSessionResumptionMode() ServerTlsSessionResumptionModePtrOutput { + return o.ApplyT(func(v ServerProtocolDetails) *ServerTlsSessionResumptionMode { return v.TlsSessionResumptionMode }).(ServerTlsSessionResumptionModePtrOutput) +} + +type ServerProtocolDetailsPtrOutput struct{ *pulumi.OutputState } + +func (ServerProtocolDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerProtocolDetails)(nil)).Elem() +} + +func (o ServerProtocolDetailsPtrOutput) ToServerProtocolDetailsPtrOutput() ServerProtocolDetailsPtrOutput { + return o +} + +func (o ServerProtocolDetailsPtrOutput) ToServerProtocolDetailsPtrOutputWithContext(ctx context.Context) ServerProtocolDetailsPtrOutput { + return o +} + +func (o ServerProtocolDetailsPtrOutput) Elem() ServerProtocolDetailsOutput { + return o.ApplyT(func(v *ServerProtocolDetails) ServerProtocolDetails { + if v != nil { + return *v + } + var ret ServerProtocolDetails + return ret + }).(ServerProtocolDetailsOutput) +} + +// List of `As2Transport` objects. +func (o ServerProtocolDetailsPtrOutput) As2Transports() ServerAs2TransportArrayOutput { + return o.ApplyT(func(v *ServerProtocolDetails) []ServerAs2Transport { + if v == nil { + return nil + } + return v.As2Transports + }).(ServerAs2TransportArrayOutput) +} + +// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: +// +// `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` +// +// Replace `0.0.0.0` in the example above with the actual IP address you want to use. +// +// > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . +// +// *Special values* +// +// The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. +func (o ServerProtocolDetailsPtrOutput) PassiveIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerProtocolDetails) *string { + if v == nil { + return nil + } + return v.PassiveIp + }).(pulumi.StringPtrOutput) +} + +// Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. +// +// Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. +// +// Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. +// +// > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. +func (o ServerProtocolDetailsPtrOutput) SetStatOption() ServerSetStatOptionPtrOutput { + return o.ApplyT(func(v *ServerProtocolDetails) *ServerSetStatOption { + if v == nil { + return nil + } + return v.SetStatOption + }).(ServerSetStatOptionPtrOutput) +} + +// A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. +// +// - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. +// - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. +// - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. +// +// > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. +func (o ServerProtocolDetailsPtrOutput) TlsSessionResumptionMode() ServerTlsSessionResumptionModePtrOutput { + return o.ApplyT(func(v *ServerProtocolDetails) *ServerTlsSessionResumptionMode { + if v == nil { + return nil + } + return v.TlsSessionResumptionMode + }).(ServerTlsSessionResumptionModePtrOutput) +} + +type ServerS3StorageOptions struct { + // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + // + // By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + DirectoryListingOptimization *ServerDirectoryListingOptimization `pulumi:"directoryListingOptimization"` +} + +// ServerS3StorageOptionsInput is an input type that accepts ServerS3StorageOptionsArgs and ServerS3StorageOptionsOutput values. +// You can construct a concrete instance of `ServerS3StorageOptionsInput` via: +// +// ServerS3StorageOptionsArgs{...} +type ServerS3StorageOptionsInput interface { + pulumi.Input + + ToServerS3StorageOptionsOutput() ServerS3StorageOptionsOutput + ToServerS3StorageOptionsOutputWithContext(context.Context) ServerS3StorageOptionsOutput +} + +type ServerS3StorageOptionsArgs struct { + // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + // + // By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + DirectoryListingOptimization ServerDirectoryListingOptimizationPtrInput `pulumi:"directoryListingOptimization"` +} + +func (ServerS3StorageOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerS3StorageOptions)(nil)).Elem() +} + +func (i ServerS3StorageOptionsArgs) ToServerS3StorageOptionsOutput() ServerS3StorageOptionsOutput { + return i.ToServerS3StorageOptionsOutputWithContext(context.Background()) +} + +func (i ServerS3StorageOptionsArgs) ToServerS3StorageOptionsOutputWithContext(ctx context.Context) ServerS3StorageOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerS3StorageOptionsOutput) +} + +func (i ServerS3StorageOptionsArgs) ToServerS3StorageOptionsPtrOutput() ServerS3StorageOptionsPtrOutput { + return i.ToServerS3StorageOptionsPtrOutputWithContext(context.Background()) +} + +func (i ServerS3StorageOptionsArgs) ToServerS3StorageOptionsPtrOutputWithContext(ctx context.Context) ServerS3StorageOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerS3StorageOptionsOutput).ToServerS3StorageOptionsPtrOutputWithContext(ctx) +} + +// ServerS3StorageOptionsPtrInput is an input type that accepts ServerS3StorageOptionsArgs, ServerS3StorageOptionsPtr and ServerS3StorageOptionsPtrOutput values. +// You can construct a concrete instance of `ServerS3StorageOptionsPtrInput` via: +// +// ServerS3StorageOptionsArgs{...} +// +// or: +// +// nil +type ServerS3StorageOptionsPtrInput interface { + pulumi.Input + + ToServerS3StorageOptionsPtrOutput() ServerS3StorageOptionsPtrOutput + ToServerS3StorageOptionsPtrOutputWithContext(context.Context) ServerS3StorageOptionsPtrOutput +} + +type serverS3StorageOptionsPtrType ServerS3StorageOptionsArgs + +func ServerS3StorageOptionsPtr(v *ServerS3StorageOptionsArgs) ServerS3StorageOptionsPtrInput { + return (*serverS3StorageOptionsPtrType)(v) +} + +func (*serverS3StorageOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerS3StorageOptions)(nil)).Elem() +} + +func (i *serverS3StorageOptionsPtrType) ToServerS3StorageOptionsPtrOutput() ServerS3StorageOptionsPtrOutput { + return i.ToServerS3StorageOptionsPtrOutputWithContext(context.Background()) +} + +func (i *serverS3StorageOptionsPtrType) ToServerS3StorageOptionsPtrOutputWithContext(ctx context.Context) ServerS3StorageOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerS3StorageOptionsPtrOutput) +} + +type ServerS3StorageOptionsOutput struct{ *pulumi.OutputState } + +func (ServerS3StorageOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerS3StorageOptions)(nil)).Elem() +} + +func (o ServerS3StorageOptionsOutput) ToServerS3StorageOptionsOutput() ServerS3StorageOptionsOutput { + return o +} + +func (o ServerS3StorageOptionsOutput) ToServerS3StorageOptionsOutputWithContext(ctx context.Context) ServerS3StorageOptionsOutput { + return o +} + +func (o ServerS3StorageOptionsOutput) ToServerS3StorageOptionsPtrOutput() ServerS3StorageOptionsPtrOutput { + return o.ToServerS3StorageOptionsPtrOutputWithContext(context.Background()) +} + +func (o ServerS3StorageOptionsOutput) ToServerS3StorageOptionsPtrOutputWithContext(ctx context.Context) ServerS3StorageOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerS3StorageOptions) *ServerS3StorageOptions { + return &v + }).(ServerS3StorageOptionsPtrOutput) +} + +// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. +// +// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. +func (o ServerS3StorageOptionsOutput) DirectoryListingOptimization() ServerDirectoryListingOptimizationPtrOutput { + return o.ApplyT(func(v ServerS3StorageOptions) *ServerDirectoryListingOptimization { + return v.DirectoryListingOptimization + }).(ServerDirectoryListingOptimizationPtrOutput) +} + +type ServerS3StorageOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ServerS3StorageOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerS3StorageOptions)(nil)).Elem() +} + +func (o ServerS3StorageOptionsPtrOutput) ToServerS3StorageOptionsPtrOutput() ServerS3StorageOptionsPtrOutput { + return o +} + +func (o ServerS3StorageOptionsPtrOutput) ToServerS3StorageOptionsPtrOutputWithContext(ctx context.Context) ServerS3StorageOptionsPtrOutput { + return o +} + +func (o ServerS3StorageOptionsPtrOutput) Elem() ServerS3StorageOptionsOutput { + return o.ApplyT(func(v *ServerS3StorageOptions) ServerS3StorageOptions { + if v != nil { + return *v + } + var ret ServerS3StorageOptions + return ret + }).(ServerS3StorageOptionsOutput) +} + +// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. +// +// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. +func (o ServerS3StorageOptionsPtrOutput) DirectoryListingOptimization() ServerDirectoryListingOptimizationPtrOutput { + return o.ApplyT(func(v *ServerS3StorageOptions) *ServerDirectoryListingOptimization { + if v == nil { + return nil + } + return v.DirectoryListingOptimization + }).(ServerDirectoryListingOptimizationPtrOutput) +} + +type ServerTag struct { + // The name assigned to the tag that you create. + Key string `pulumi:"key"` + // Contains one or more values that you assigned to the key name you create. + Value string `pulumi:"value"` +} + +type ServerWorkflowDetail struct { + // Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + ExecutionRole string `pulumi:"executionRole"` + // A unique identifier for the workflow. + WorkflowId string `pulumi:"workflowId"` +} + +// ServerWorkflowDetailInput is an input type that accepts ServerWorkflowDetailArgs and ServerWorkflowDetailOutput values. +// You can construct a concrete instance of `ServerWorkflowDetailInput` via: +// +// ServerWorkflowDetailArgs{...} +type ServerWorkflowDetailInput interface { + pulumi.Input + + ToServerWorkflowDetailOutput() ServerWorkflowDetailOutput + ToServerWorkflowDetailOutputWithContext(context.Context) ServerWorkflowDetailOutput +} + +type ServerWorkflowDetailArgs struct { + // Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + ExecutionRole pulumi.StringInput `pulumi:"executionRole"` + // A unique identifier for the workflow. + WorkflowId pulumi.StringInput `pulumi:"workflowId"` +} + +func (ServerWorkflowDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerWorkflowDetail)(nil)).Elem() +} + +func (i ServerWorkflowDetailArgs) ToServerWorkflowDetailOutput() ServerWorkflowDetailOutput { + return i.ToServerWorkflowDetailOutputWithContext(context.Background()) +} + +func (i ServerWorkflowDetailArgs) ToServerWorkflowDetailOutputWithContext(ctx context.Context) ServerWorkflowDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerWorkflowDetailOutput) +} + +// ServerWorkflowDetailArrayInput is an input type that accepts ServerWorkflowDetailArray and ServerWorkflowDetailArrayOutput values. +// You can construct a concrete instance of `ServerWorkflowDetailArrayInput` via: +// +// ServerWorkflowDetailArray{ ServerWorkflowDetailArgs{...} } +type ServerWorkflowDetailArrayInput interface { + pulumi.Input + + ToServerWorkflowDetailArrayOutput() ServerWorkflowDetailArrayOutput + ToServerWorkflowDetailArrayOutputWithContext(context.Context) ServerWorkflowDetailArrayOutput +} + +type ServerWorkflowDetailArray []ServerWorkflowDetailInput + +func (ServerWorkflowDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerWorkflowDetail)(nil)).Elem() +} + +func (i ServerWorkflowDetailArray) ToServerWorkflowDetailArrayOutput() ServerWorkflowDetailArrayOutput { + return i.ToServerWorkflowDetailArrayOutputWithContext(context.Background()) +} + +func (i ServerWorkflowDetailArray) ToServerWorkflowDetailArrayOutputWithContext(ctx context.Context) ServerWorkflowDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerWorkflowDetailArrayOutput) +} + +type ServerWorkflowDetailOutput struct{ *pulumi.OutputState } + +func (ServerWorkflowDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerWorkflowDetail)(nil)).Elem() +} + +func (o ServerWorkflowDetailOutput) ToServerWorkflowDetailOutput() ServerWorkflowDetailOutput { + return o +} + +func (o ServerWorkflowDetailOutput) ToServerWorkflowDetailOutputWithContext(ctx context.Context) ServerWorkflowDetailOutput { + return o +} + +// Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources +func (o ServerWorkflowDetailOutput) ExecutionRole() pulumi.StringOutput { + return o.ApplyT(func(v ServerWorkflowDetail) string { return v.ExecutionRole }).(pulumi.StringOutput) +} + +// A unique identifier for the workflow. +func (o ServerWorkflowDetailOutput) WorkflowId() pulumi.StringOutput { + return o.ApplyT(func(v ServerWorkflowDetail) string { return v.WorkflowId }).(pulumi.StringOutput) +} + +type ServerWorkflowDetailArrayOutput struct{ *pulumi.OutputState } + +func (ServerWorkflowDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerWorkflowDetail)(nil)).Elem() +} + +func (o ServerWorkflowDetailArrayOutput) ToServerWorkflowDetailArrayOutput() ServerWorkflowDetailArrayOutput { + return o +} + +func (o ServerWorkflowDetailArrayOutput) ToServerWorkflowDetailArrayOutputWithContext(ctx context.Context) ServerWorkflowDetailArrayOutput { + return o +} + +func (o ServerWorkflowDetailArrayOutput) Index(i pulumi.IntInput) ServerWorkflowDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServerWorkflowDetail { + return vs[0].([]ServerWorkflowDetail)[vs[1].(int)] + }).(ServerWorkflowDetailOutput) +} + +type ServerWorkflowDetails struct { + // A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + // + // A *partial upload* occurs when a file is open when the session disconnects. + // + // > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + OnPartialUpload []ServerWorkflowDetail `pulumi:"onPartialUpload"` + // A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + // + // To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + // + // `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + // + // > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + OnUpload []ServerWorkflowDetail `pulumi:"onUpload"` +} + +// ServerWorkflowDetailsInput is an input type that accepts ServerWorkflowDetailsArgs and ServerWorkflowDetailsOutput values. +// You can construct a concrete instance of `ServerWorkflowDetailsInput` via: +// +// ServerWorkflowDetailsArgs{...} +type ServerWorkflowDetailsInput interface { + pulumi.Input + + ToServerWorkflowDetailsOutput() ServerWorkflowDetailsOutput + ToServerWorkflowDetailsOutputWithContext(context.Context) ServerWorkflowDetailsOutput +} + +type ServerWorkflowDetailsArgs struct { + // A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + // + // A *partial upload* occurs when a file is open when the session disconnects. + // + // > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + OnPartialUpload ServerWorkflowDetailArrayInput `pulumi:"onPartialUpload"` + // A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + // + // To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + // + // `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + // + // > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + OnUpload ServerWorkflowDetailArrayInput `pulumi:"onUpload"` +} + +func (ServerWorkflowDetailsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerWorkflowDetails)(nil)).Elem() +} + +func (i ServerWorkflowDetailsArgs) ToServerWorkflowDetailsOutput() ServerWorkflowDetailsOutput { + return i.ToServerWorkflowDetailsOutputWithContext(context.Background()) +} + +func (i ServerWorkflowDetailsArgs) ToServerWorkflowDetailsOutputWithContext(ctx context.Context) ServerWorkflowDetailsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerWorkflowDetailsOutput) +} + +func (i ServerWorkflowDetailsArgs) ToServerWorkflowDetailsPtrOutput() ServerWorkflowDetailsPtrOutput { + return i.ToServerWorkflowDetailsPtrOutputWithContext(context.Background()) +} + +func (i ServerWorkflowDetailsArgs) ToServerWorkflowDetailsPtrOutputWithContext(ctx context.Context) ServerWorkflowDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerWorkflowDetailsOutput).ToServerWorkflowDetailsPtrOutputWithContext(ctx) +} + +// ServerWorkflowDetailsPtrInput is an input type that accepts ServerWorkflowDetailsArgs, ServerWorkflowDetailsPtr and ServerWorkflowDetailsPtrOutput values. +// You can construct a concrete instance of `ServerWorkflowDetailsPtrInput` via: +// +// ServerWorkflowDetailsArgs{...} +// +// or: +// +// nil +type ServerWorkflowDetailsPtrInput interface { + pulumi.Input + + ToServerWorkflowDetailsPtrOutput() ServerWorkflowDetailsPtrOutput + ToServerWorkflowDetailsPtrOutputWithContext(context.Context) ServerWorkflowDetailsPtrOutput +} + +type serverWorkflowDetailsPtrType ServerWorkflowDetailsArgs + +func ServerWorkflowDetailsPtr(v *ServerWorkflowDetailsArgs) ServerWorkflowDetailsPtrInput { + return (*serverWorkflowDetailsPtrType)(v) +} + +func (*serverWorkflowDetailsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerWorkflowDetails)(nil)).Elem() +} + +func (i *serverWorkflowDetailsPtrType) ToServerWorkflowDetailsPtrOutput() ServerWorkflowDetailsPtrOutput { + return i.ToServerWorkflowDetailsPtrOutputWithContext(context.Background()) +} + +func (i *serverWorkflowDetailsPtrType) ToServerWorkflowDetailsPtrOutputWithContext(ctx context.Context) ServerWorkflowDetailsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerWorkflowDetailsPtrOutput) +} + +type ServerWorkflowDetailsOutput struct{ *pulumi.OutputState } + +func (ServerWorkflowDetailsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerWorkflowDetails)(nil)).Elem() +} + +func (o ServerWorkflowDetailsOutput) ToServerWorkflowDetailsOutput() ServerWorkflowDetailsOutput { + return o +} + +func (o ServerWorkflowDetailsOutput) ToServerWorkflowDetailsOutputWithContext(ctx context.Context) ServerWorkflowDetailsOutput { + return o +} + +func (o ServerWorkflowDetailsOutput) ToServerWorkflowDetailsPtrOutput() ServerWorkflowDetailsPtrOutput { + return o.ToServerWorkflowDetailsPtrOutputWithContext(context.Background()) +} + +func (o ServerWorkflowDetailsOutput) ToServerWorkflowDetailsPtrOutputWithContext(ctx context.Context) ServerWorkflowDetailsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerWorkflowDetails) *ServerWorkflowDetails { + return &v + }).(ServerWorkflowDetailsPtrOutput) +} + +// A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. +// +// A *partial upload* occurs when a file is open when the session disconnects. +// +// > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. +func (o ServerWorkflowDetailsOutput) OnPartialUpload() ServerWorkflowDetailArrayOutput { + return o.ApplyT(func(v ServerWorkflowDetails) []ServerWorkflowDetail { return v.OnPartialUpload }).(ServerWorkflowDetailArrayOutput) +} + +// A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. +// +// To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. +// +// `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` +// +// > `OnUpload` can contain a maximum of one `WorkflowDetail` object. +func (o ServerWorkflowDetailsOutput) OnUpload() ServerWorkflowDetailArrayOutput { + return o.ApplyT(func(v ServerWorkflowDetails) []ServerWorkflowDetail { return v.OnUpload }).(ServerWorkflowDetailArrayOutput) +} + +type ServerWorkflowDetailsPtrOutput struct{ *pulumi.OutputState } + +func (ServerWorkflowDetailsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerWorkflowDetails)(nil)).Elem() +} + +func (o ServerWorkflowDetailsPtrOutput) ToServerWorkflowDetailsPtrOutput() ServerWorkflowDetailsPtrOutput { + return o +} + +func (o ServerWorkflowDetailsPtrOutput) ToServerWorkflowDetailsPtrOutputWithContext(ctx context.Context) ServerWorkflowDetailsPtrOutput { + return o +} + +func (o ServerWorkflowDetailsPtrOutput) Elem() ServerWorkflowDetailsOutput { + return o.ApplyT(func(v *ServerWorkflowDetails) ServerWorkflowDetails { + if v != nil { + return *v + } + var ret ServerWorkflowDetails + return ret + }).(ServerWorkflowDetailsOutput) +} + +// A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. +// +// A *partial upload* occurs when a file is open when the session disconnects. +// +// > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. +func (o ServerWorkflowDetailsPtrOutput) OnPartialUpload() ServerWorkflowDetailArrayOutput { + return o.ApplyT(func(v *ServerWorkflowDetails) []ServerWorkflowDetail { + if v == nil { + return nil + } + return v.OnPartialUpload + }).(ServerWorkflowDetailArrayOutput) +} + +// A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. +// +// To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. +// +// `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` +// +// > `OnUpload` can contain a maximum of one `WorkflowDetail` object. +func (o ServerWorkflowDetailsPtrOutput) OnUpload() ServerWorkflowDetailArrayOutput { + return o.ApplyT(func(v *ServerWorkflowDetails) []ServerWorkflowDetail { + if v == nil { + return nil + } + return v.OnUpload + }).(ServerWorkflowDetailArrayOutput) +} + // Configuration for an SFTP connector. type SftpConfigProperties struct { // List of public host keys, for the external server to which you are connecting. @@ -2320,6 +3594,18 @@ type WorkflowTag struct { func init() { pulumi.RegisterInputType(reflect.TypeOf((*As2ConfigPropertiesInput)(nil)).Elem(), As2ConfigPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*As2ConfigPropertiesPtrInput)(nil)).Elem(), As2ConfigPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerEndpointDetailsInput)(nil)).Elem(), ServerEndpointDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerEndpointDetailsPtrInput)(nil)).Elem(), ServerEndpointDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerIdentityProviderDetailsInput)(nil)).Elem(), ServerIdentityProviderDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerIdentityProviderDetailsPtrInput)(nil)).Elem(), ServerIdentityProviderDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerProtocolDetailsInput)(nil)).Elem(), ServerProtocolDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerProtocolDetailsPtrInput)(nil)).Elem(), ServerProtocolDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerS3StorageOptionsInput)(nil)).Elem(), ServerS3StorageOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerS3StorageOptionsPtrInput)(nil)).Elem(), ServerS3StorageOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailInput)(nil)).Elem(), ServerWorkflowDetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailArrayInput)(nil)).Elem(), ServerWorkflowDetailArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailsInput)(nil)).Elem(), ServerWorkflowDetailsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailsPtrInput)(nil)).Elem(), ServerWorkflowDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SftpConfigPropertiesInput)(nil)).Elem(), SftpConfigPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SftpConfigPropertiesPtrInput)(nil)).Elem(), SftpConfigPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowEfsInputFileLocationInput)(nil)).Elem(), WorkflowEfsInputFileLocationArgs{}) @@ -2346,6 +3632,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepTagStepDetailsPropertiesPtrInput)(nil)).Elem(), WorkflowStepTagStepDetailsPropertiesArgs{}) pulumi.RegisterOutputType(As2ConfigPropertiesOutput{}) pulumi.RegisterOutputType(As2ConfigPropertiesPtrOutput{}) + pulumi.RegisterOutputType(ServerEndpointDetailsOutput{}) + pulumi.RegisterOutputType(ServerEndpointDetailsPtrOutput{}) + pulumi.RegisterOutputType(ServerIdentityProviderDetailsOutput{}) + pulumi.RegisterOutputType(ServerIdentityProviderDetailsPtrOutput{}) + pulumi.RegisterOutputType(ServerProtocolDetailsOutput{}) + pulumi.RegisterOutputType(ServerProtocolDetailsPtrOutput{}) + pulumi.RegisterOutputType(ServerS3StorageOptionsOutput{}) + pulumi.RegisterOutputType(ServerS3StorageOptionsPtrOutput{}) + pulumi.RegisterOutputType(ServerWorkflowDetailOutput{}) + pulumi.RegisterOutputType(ServerWorkflowDetailArrayOutput{}) + pulumi.RegisterOutputType(ServerWorkflowDetailsOutput{}) + pulumi.RegisterOutputType(ServerWorkflowDetailsPtrOutput{}) pulumi.RegisterOutputType(SftpConfigPropertiesOutput{}) pulumi.RegisterOutputType(SftpConfigPropertiesPtrOutput{}) pulumi.RegisterOutputType(WorkflowEfsInputFileLocationOutput{}) diff --git a/sdk/go/aws/transfer/server.go b/sdk/go/aws/transfer/server.go new file mode 100644 index 0000000000..d2f857a37c --- /dev/null +++ b/sdk/go/aws/transfer/server.go @@ -0,0 +1,879 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package transfer + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Transfer::Server Resource Type +// +// ## Example Usage +// ### Example +// +// ```go +// package main +// +// import ( +// +// awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws" +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := transfer.NewServer(ctx, "myTransferServer", &transfer.ServerArgs{ +// EndpointDetails: &transfer.ServerEndpointDetailsArgs{ +// AddressAllocationIds: pulumi.StringArray{ +// pulumi.String("AddressAllocationId-1"), +// pulumi.String("AddressAllocationId-2"), +// }, +// SubnetIds: pulumi.StringArray{ +// pulumi.String("SubnetId-1"), +// pulumi.String("SubnetId-2"), +// }, +// VpcId: pulumi.String("VpcId"), +// }, +// EndpointType: transfer.ServerEndpointTypeVpc, +// LoggingRole: pulumi.String("Logging-Role-ARN"), +// Protocols: transfer.ServerProtocolArray{ +// transfer.ServerProtocolSftp, +// }, +// SecurityPolicyName: pulumi.String("Security-Policy-Name"), +// IdentityProviderDetails: &transfer.ServerIdentityProviderDetailsArgs{ +// InvocationRole: pulumi.String("Invocation-Role-ARN"), +// Url: pulumi.String("API_GATEWAY-Invocation-URL"), +// }, +// IdentityProviderType: transfer.ServerIdentityProviderTypeApiGateway, +// Tags: aws.TagArray{ +// &aws.TagArgs{ +// Key: pulumi.String("KeyName"), +// Value: pulumi.String("ValueName"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Example +// +// ```go +// package main +// +// import ( +// +// awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws" +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := transfer.NewServer(ctx, "myTransferServer", &transfer.ServerArgs{ +// EndpointDetails: &transfer.ServerEndpointDetailsArgs{ +// AddressAllocationIds: pulumi.StringArray{ +// pulumi.String("AddressAllocationId-1"), +// pulumi.String("AddressAllocationId-2"), +// }, +// SubnetIds: pulumi.StringArray{ +// pulumi.String("SubnetId-1"), +// pulumi.String("SubnetId-2"), +// }, +// VpcId: pulumi.String("VpcId"), +// }, +// EndpointType: transfer.ServerEndpointTypeVpc, +// LoggingRole: pulumi.String("Logging-Role-ARN"), +// Protocols: transfer.ServerProtocolArray{ +// transfer.ServerProtocolSftp, +// }, +// SecurityPolicyName: pulumi.String("Security-Policy-Name"), +// IdentityProviderDetails: &transfer.ServerIdentityProviderDetailsArgs{ +// InvocationRole: pulumi.String("Invocation-Role-ARN"), +// Url: pulumi.String("API_GATEWAY-Invocation-URL"), +// }, +// IdentityProviderType: transfer.ServerIdentityProviderTypeApiGateway, +// Tags: aws.TagArray{ +// &aws.TagArgs{ +// Key: pulumi.String("KeyName"), +// Value: pulumi.String("ValueName"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Example +// +// ```go +// package main +// +// import ( +// +// awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws" +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// transferWorkflow, err := transfer.NewWorkflow(ctx, "transferWorkflow", &transfer.WorkflowArgs{ +// Description: pulumi.String("Transfer Family Workflows Blog"), +// Steps: transfer.WorkflowStepArray{ +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeCopy, +// CopyStepDetails: &transfer.WorkflowStepCopyStepDetailsPropertiesArgs{ +// Name: pulumi.String("copyToUserKey"), +// DestinationFileLocation: &transfer.WorkflowS3FileLocationArgs{ +// S3FileLocation: &transfer.WorkflowS3InputFileLocationArgs{ +// Bucket: pulumi.String("archived-records"), +// Key: pulumi.String("${transfer:UserName}/"), +// }, +// }, +// OverwriteExisting: transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExistingTrue, +// }, +// }, +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeTag, +// TagStepDetails: &transfer.WorkflowStepTagStepDetailsPropertiesArgs{ +// Name: pulumi.String("tagFileForArchive"), +// Tags: transfer.WorkflowS3TagArray{ +// &transfer.WorkflowS3TagArgs{ +// Key: pulumi.String("Archive"), +// Value: pulumi.String("yes"), +// }, +// }, +// }, +// }, +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeCustom, +// CustomStepDetails: &transfer.WorkflowStepCustomStepDetailsPropertiesArgs{ +// Name: pulumi.String("transferExtract"), +// Target: pulumi.String("arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name"), +// TimeoutSeconds: pulumi.Int(60), +// }, +// }, +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeDelete, +// DeleteStepDetails: &transfer.WorkflowStepDeleteStepDetailsPropertiesArgs{ +// Name: pulumi.String("DeleteInputFile"), +// SourceFileLocation: pulumi.String("${original.file}"), +// }, +// }, +// }, +// Tags: aws.TagArray{ +// &aws.TagArgs{ +// Key: pulumi.String("Name"), +// Value: pulumi.String("TransferFamilyWorkflows"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = transfer.NewServer(ctx, "sftpServer", &transfer.ServerArgs{ +// WorkflowDetails: &transfer.ServerWorkflowDetailsArgs{ +// OnUpload: transfer.ServerWorkflowDetailArray{ +// &transfer.ServerWorkflowDetailArgs{ +// ExecutionRole: pulumi.String("your-workflow-execution-role-arn"), +// WorkflowId: transferWorkflow.WorkflowId, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Example +// +// ```go +// package main +// +// import ( +// +// awsnative "github.com/pulumi/pulumi-aws-native/sdk/go/aws" +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/transfer" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// transferWorkflow, err := transfer.NewWorkflow(ctx, "transferWorkflow", &transfer.WorkflowArgs{ +// Description: pulumi.String("Transfer Family Workflows Blog"), +// Steps: transfer.WorkflowStepArray{ +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeCopy, +// CopyStepDetails: &transfer.WorkflowStepCopyStepDetailsPropertiesArgs{ +// Name: pulumi.String("copyToUserKey"), +// DestinationFileLocation: &transfer.WorkflowS3FileLocationArgs{ +// S3FileLocation: &transfer.WorkflowS3InputFileLocationArgs{ +// Bucket: pulumi.String("archived-records"), +// Key: pulumi.String("${transfer:UserName}/"), +// }, +// }, +// OverwriteExisting: transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExistingTrue, +// }, +// }, +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeTag, +// TagStepDetails: &transfer.WorkflowStepTagStepDetailsPropertiesArgs{ +// Name: pulumi.String("tagFileForArchive"), +// Tags: transfer.WorkflowS3TagArray{ +// &transfer.WorkflowS3TagArgs{ +// Key: pulumi.String("Archive"), +// Value: pulumi.String("yes"), +// }, +// }, +// }, +// }, +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeCustom, +// CustomStepDetails: &transfer.WorkflowStepCustomStepDetailsPropertiesArgs{ +// Name: pulumi.String("transferExtract"), +// Target: pulumi.String("arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name"), +// TimeoutSeconds: pulumi.Int(60), +// }, +// }, +// &transfer.WorkflowStepArgs{ +// Type: transfer.WorkflowStepTypeDelete, +// DeleteStepDetails: &transfer.WorkflowStepDeleteStepDetailsPropertiesArgs{ +// Name: pulumi.String("DeleteInputFile"), +// SourceFileLocation: pulumi.String("${original.file}"), +// }, +// }, +// }, +// Tags: aws.TagArray{ +// &aws.TagArgs{ +// Key: pulumi.String("Name"), +// Value: pulumi.String("TransferFamilyWorkflows"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// _, err = transfer.NewServer(ctx, "sftpServer", &transfer.ServerArgs{ +// WorkflowDetails: &transfer.ServerWorkflowDetailsArgs{ +// OnUpload: transfer.ServerWorkflowDetailArray{ +// &transfer.ServerWorkflowDetailArgs{ +// ExecutionRole: pulumi.String("your-workflow-execution-role-arn"), +// WorkflowId: transferWorkflow.WorkflowId, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type Server struct { + pulumi.CustomResourceState + + // The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + // + // An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + Arn pulumi.StringOutput `pulumi:"arn"` + // The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + As2ServiceManagedEgressIpAddresses pulumi.StringArrayOutput `pulumi:"as2ServiceManagedEgressIpAddresses"` + // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + // + // To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + // + // To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + // + // To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + // + // Certificates with the following cryptographic algorithms and key sizes are supported: + // + // - 2048-bit RSA (RSA_2048) + // - 4096-bit RSA (RSA_4096) + // - Elliptic Prime Curve 256 bit (EC_prime256v1) + // - Elliptic Prime Curve 384 bit (EC_secp384r1) + // - Elliptic Prime Curve 521 bit (EC_secp521r1) + // + // > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + Certificate pulumi.StringPtrOutput `pulumi:"certificate"` + // Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + Domain ServerDomainPtrOutput `pulumi:"domain"` + // The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + EndpointDetails ServerEndpointDetailsPtrOutput `pulumi:"endpointDetails"` + // The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + // + // > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + // > + // > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + // > + // > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + EndpointType ServerEndpointTypePtrOutput `pulumi:"endpointType"` + // Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + IdentityProviderDetails ServerIdentityProviderDetailsPtrOutput `pulumi:"identityProviderDetails"` + // The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + // + // Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + // + // Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + // + // Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + IdentityProviderType ServerIdentityProviderTypePtrOutput `pulumi:"identityProviderType"` + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + LoggingRole pulumi.StringPtrOutput `pulumi:"loggingRole"` + // Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + // + // > The SFTP protocol does not support post-authentication display banners. + PostAuthenticationLoginBanner pulumi.StringPtrOutput `pulumi:"postAuthenticationLoginBanner"` + // Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + // + // `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + PreAuthenticationLoginBanner pulumi.StringPtrOutput `pulumi:"preAuthenticationLoginBanner"` + // The protocol settings that are configured for your server. + // + // - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + // - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + // - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + // - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + ProtocolDetails ServerProtocolDetailsPtrOutput `pulumi:"protocolDetails"` + // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + // + // - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + // - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + // - `FTP` (File Transfer Protocol): Unencrypted file transfer + // - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + // + // > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + // > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + // > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + Protocols ServerProtocolArrayOutput `pulumi:"protocols"` + // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + // + // By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + S3StorageOptions ServerS3StorageOptionsPtrOutput `pulumi:"s3StorageOptions"` + // Specifies the name of the security policy for the server. + SecurityPolicyName pulumi.StringPtrOutput `pulumi:"securityPolicyName"` + // The service-assigned ID of the server that is created. + // + // An example `ServerId` is `s-01234567890abcdef` . + ServerId pulumi.StringOutput `pulumi:"serverId"` + // Specifies the log groups to which your server logs are sent. + // + // To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + // + // `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + // + // For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + // + // If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + // + // `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + StructuredLogDestinations pulumi.StringArrayOutput `pulumi:"structuredLogDestinations"` + // Key-value pairs that can be used to group and search for servers. + Tags aws.TagArrayOutput `pulumi:"tags"` + // Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + // + // In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + WorkflowDetails ServerWorkflowDetailsPtrOutput `pulumi:"workflowDetails"` +} + +// NewServer registers a new resource with the given unique name, arguments, and options. +func NewServer(ctx *pulumi.Context, + name string, args *ServerArgs, opts ...pulumi.ResourceOption) (*Server, error) { + if args == nil { + args = &ServerArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "domain", + "identityProviderType", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Server + err := ctx.RegisterResource("aws-native:transfer:Server", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetServer gets an existing Server 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 GetServer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ServerState, opts ...pulumi.ResourceOption) (*Server, error) { + var resource Server + err := ctx.ReadResource("aws-native:transfer:Server", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Server resources. +type serverState struct { +} + +type ServerState struct { +} + +func (ServerState) ElementType() reflect.Type { + return reflect.TypeOf((*serverState)(nil)).Elem() +} + +type serverArgs struct { + // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + // + // To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + // + // To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + // + // To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + // + // Certificates with the following cryptographic algorithms and key sizes are supported: + // + // - 2048-bit RSA (RSA_2048) + // - 4096-bit RSA (RSA_4096) + // - Elliptic Prime Curve 256 bit (EC_prime256v1) + // - Elliptic Prime Curve 384 bit (EC_secp384r1) + // - Elliptic Prime Curve 521 bit (EC_secp521r1) + // + // > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + Certificate *string `pulumi:"certificate"` + // Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + Domain *ServerDomain `pulumi:"domain"` + // The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + EndpointDetails *ServerEndpointDetails `pulumi:"endpointDetails"` + // The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + // + // > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + // > + // > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + // > + // > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + EndpointType *ServerEndpointType `pulumi:"endpointType"` + // Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + IdentityProviderDetails *ServerIdentityProviderDetails `pulumi:"identityProviderDetails"` + // The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + // + // Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + // + // Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + // + // Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + IdentityProviderType *ServerIdentityProviderType `pulumi:"identityProviderType"` + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + LoggingRole *string `pulumi:"loggingRole"` + // Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + // + // > The SFTP protocol does not support post-authentication display banners. + PostAuthenticationLoginBanner *string `pulumi:"postAuthenticationLoginBanner"` + // Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + // + // `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + PreAuthenticationLoginBanner *string `pulumi:"preAuthenticationLoginBanner"` + // The protocol settings that are configured for your server. + // + // - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + // - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + // - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + // - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + ProtocolDetails *ServerProtocolDetails `pulumi:"protocolDetails"` + // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + // + // - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + // - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + // - `FTP` (File Transfer Protocol): Unencrypted file transfer + // - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + // + // > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + // > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + // > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + Protocols []ServerProtocol `pulumi:"protocols"` + // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + // + // By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + S3StorageOptions *ServerS3StorageOptions `pulumi:"s3StorageOptions"` + // Specifies the name of the security policy for the server. + SecurityPolicyName *string `pulumi:"securityPolicyName"` + // Specifies the log groups to which your server logs are sent. + // + // To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + // + // `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + // + // For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + // + // If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + // + // `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + StructuredLogDestinations []string `pulumi:"structuredLogDestinations"` + // Key-value pairs that can be used to group and search for servers. + Tags []aws.Tag `pulumi:"tags"` + // Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + // + // In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + WorkflowDetails *ServerWorkflowDetails `pulumi:"workflowDetails"` +} + +// The set of arguments for constructing a Server resource. +type ServerArgs struct { + // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + // + // To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + // + // To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + // + // To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + // + // Certificates with the following cryptographic algorithms and key sizes are supported: + // + // - 2048-bit RSA (RSA_2048) + // - 4096-bit RSA (RSA_4096) + // - Elliptic Prime Curve 256 bit (EC_prime256v1) + // - Elliptic Prime Curve 384 bit (EC_secp384r1) + // - Elliptic Prime Curve 521 bit (EC_secp521r1) + // + // > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + Certificate pulumi.StringPtrInput + // Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + Domain ServerDomainPtrInput + // The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + EndpointDetails ServerEndpointDetailsPtrInput + // The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + // + // > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + // > + // > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + // > + // > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + EndpointType ServerEndpointTypePtrInput + // Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + IdentityProviderDetails ServerIdentityProviderDetailsPtrInput + // The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + // + // Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + // + // Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + // + // Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + IdentityProviderType ServerIdentityProviderTypePtrInput + // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + LoggingRole pulumi.StringPtrInput + // Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + // + // > The SFTP protocol does not support post-authentication display banners. + PostAuthenticationLoginBanner pulumi.StringPtrInput + // Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + // + // `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + PreAuthenticationLoginBanner pulumi.StringPtrInput + // The protocol settings that are configured for your server. + // + // - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + // - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + // - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + // - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + ProtocolDetails ServerProtocolDetailsPtrInput + // Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + // + // - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + // - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + // - `FTP` (File Transfer Protocol): Unencrypted file transfer + // - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + // + // > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + // > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + // > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + // > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + // + // The `Protocols` parameter is an array of strings. + // + // *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + Protocols ServerProtocolArrayInput + // Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + // + // By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + S3StorageOptions ServerS3StorageOptionsPtrInput + // Specifies the name of the security policy for the server. + SecurityPolicyName pulumi.StringPtrInput + // Specifies the log groups to which your server logs are sent. + // + // To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + // + // `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + // + // For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + // + // If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + // + // `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + StructuredLogDestinations pulumi.StringArrayInput + // Key-value pairs that can be used to group and search for servers. + Tags aws.TagArrayInput + // Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + // + // In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + WorkflowDetails ServerWorkflowDetailsPtrInput +} + +func (ServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*serverArgs)(nil)).Elem() +} + +type ServerInput interface { + pulumi.Input + + ToServerOutput() ServerOutput + ToServerOutputWithContext(ctx context.Context) ServerOutput +} + +func (*Server) ElementType() reflect.Type { + return reflect.TypeOf((**Server)(nil)).Elem() +} + +func (i *Server) ToServerOutput() ServerOutput { + return i.ToServerOutputWithContext(context.Background()) +} + +func (i *Server) ToServerOutputWithContext(ctx context.Context) ServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerOutput) +} + +type ServerOutput struct{ *pulumi.OutputState } + +func (ServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Server)(nil)).Elem() +} + +func (o ServerOutput) ToServerOutput() ServerOutput { + return o +} + +func (o ServerOutput) ToServerOutputWithContext(ctx context.Context) ServerOutput { + return o +} + +// The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . +// +// An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . +func (o ServerOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. +func (o ServerOutput) As2ServiceManagedEgressIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Server) pulumi.StringArrayOutput { return v.As2ServiceManagedEgressIpAddresses }).(pulumi.StringArrayOutput) +} + +// The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . +// +// To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . +// +// To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . +// +// To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . +// +// Certificates with the following cryptographic algorithms and key sizes are supported: +// +// - 2048-bit RSA (RSA_2048) +// - 4096-bit RSA (RSA_4096) +// - Elliptic Prime Curve 256 bit (EC_prime256v1) +// - Elliptic Prime Curve 384 bit (EC_secp384r1) +// - Elliptic Prime Curve 521 bit (EC_secp521r1) +// +// > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. +func (o ServerOutput) Certificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.Certificate }).(pulumi.StringPtrOutput) +} + +// Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. +func (o ServerOutput) Domain() ServerDomainPtrOutput { + return o.ApplyT(func(v *Server) ServerDomainPtrOutput { return v.Domain }).(ServerDomainPtrOutput) +} + +// The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. +func (o ServerOutput) EndpointDetails() ServerEndpointDetailsPtrOutput { + return o.ApplyT(func(v *Server) ServerEndpointDetailsPtrOutput { return v.EndpointDetails }).(ServerEndpointDetailsPtrOutput) +} + +// The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. +// +// > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . +// > +// > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . +// > +// > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . +func (o ServerOutput) EndpointType() ServerEndpointTypePtrOutput { + return o.ApplyT(func(v *Server) ServerEndpointTypePtrOutput { return v.EndpointType }).(ServerEndpointTypePtrOutput) +} + +// Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . +func (o ServerOutput) IdentityProviderDetails() ServerIdentityProviderDetailsPtrOutput { + return o.ApplyT(func(v *Server) ServerIdentityProviderDetailsPtrOutput { return v.IdentityProviderDetails }).(ServerIdentityProviderDetailsPtrOutput) +} + +// The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. +// +// Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. +// +// Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. +// +// Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. +func (o ServerOutput) IdentityProviderType() ServerIdentityProviderTypePtrOutput { + return o.ApplyT(func(v *Server) ServerIdentityProviderTypePtrOutput { return v.IdentityProviderType }).(ServerIdentityProviderTypePtrOutput) +} + +// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. +func (o ServerOutput) LoggingRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.LoggingRole }).(pulumi.StringPtrOutput) +} + +// Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. +// +// > The SFTP protocol does not support post-authentication display banners. +func (o ServerOutput) PostAuthenticationLoginBanner() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.PostAuthenticationLoginBanner }).(pulumi.StringPtrOutput) +} + +// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: +// +// `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` +func (o ServerOutput) PreAuthenticationLoginBanner() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.PreAuthenticationLoginBanner }).(pulumi.StringPtrOutput) +} + +// The protocol settings that are configured for your server. +// +// - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. +// - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. +// - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. +// - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. +// +// The `Protocols` parameter is an array of strings. +// +// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` +func (o ServerOutput) ProtocolDetails() ServerProtocolDetailsPtrOutput { + return o.ApplyT(func(v *Server) ServerProtocolDetailsPtrOutput { return v.ProtocolDetails }).(ServerProtocolDetailsPtrOutput) +} + +// Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: +// +// - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH +// - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption +// - `FTP` (File Transfer Protocol): Unencrypted file transfer +// - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data +// +// > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. +// > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . +// > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. +// > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . +// > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. +// +// The `Protocols` parameter is an array of strings. +// +// *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` +func (o ServerOutput) Protocols() ServerProtocolArrayOutput { + return o.ApplyT(func(v *Server) ServerProtocolArrayOutput { return v.Protocols }).(ServerProtocolArrayOutput) +} + +// Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. +// +// By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. +func (o ServerOutput) S3StorageOptions() ServerS3StorageOptionsPtrOutput { + return o.ApplyT(func(v *Server) ServerS3StorageOptionsPtrOutput { return v.S3StorageOptions }).(ServerS3StorageOptionsPtrOutput) +} + +// Specifies the name of the security policy for the server. +func (o ServerOutput) SecurityPolicyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.SecurityPolicyName }).(pulumi.StringPtrOutput) +} + +// The service-assigned ID of the server that is created. +// +// An example `ServerId` is `s-01234567890abcdef` . +func (o ServerOutput) ServerId() pulumi.StringOutput { + return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.ServerId }).(pulumi.StringOutput) +} + +// Specifies the log groups to which your server logs are sent. +// +// To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: +// +// `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` +// +// For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` +// +// If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: +// +// `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` +func (o ServerOutput) StructuredLogDestinations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Server) pulumi.StringArrayOutput { return v.StructuredLogDestinations }).(pulumi.StringArrayOutput) +} + +// Key-value pairs that can be used to group and search for servers. +func (o ServerOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *Server) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +// Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. +// +// In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. +func (o ServerOutput) WorkflowDetails() ServerWorkflowDetailsPtrOutput { + return o.ApplyT(func(v *Server) ServerWorkflowDetailsPtrOutput { return v.WorkflowDetails }).(ServerWorkflowDetailsPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ServerInput)(nil)).Elem(), &Server{}) + pulumi.RegisterOutputType(ServerOutput{}) +} diff --git a/sdk/go/aws/wisdom/aiPrompt.go b/sdk/go/aws/wisdom/aiPrompt.go new file mode 100644 index 0000000000..06ca036cc1 --- /dev/null +++ b/sdk/go/aws/wisdom/aiPrompt.go @@ -0,0 +1,252 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package wisdom + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Wisdom::AIPrompt Resource Type +type AiPrompt struct { + pulumi.CustomResourceState + + // The Amazon Resource Name (ARN) of the AI Prompt. + AiPromptArn pulumi.StringOutput `pulumi:"aiPromptArn"` + // The identifier of the Amazon Q in Connect AI prompt. + AiPromptId pulumi.StringOutput `pulumi:"aiPromptId"` + // The API format used for this AI Prompt. + ApiFormat AiPromptAiPromptApiFormatOutput `pulumi:"apiFormat"` + // The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + AssistantArn pulumi.StringOutput `pulumi:"assistantArn"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId pulumi.StringPtrOutput `pulumi:"assistantId"` + // The description of the AI Prompt. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + ModelId pulumi.StringOutput `pulumi:"modelId"` + // The name of the AI Prompt + Name pulumi.StringPtrOutput `pulumi:"name"` + // The tags used to organize, track, or control access for this resource. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // The configuration of the prompt template for this AI Prompt. + TemplateConfiguration AiPromptAiPromptTemplateConfigurationOutput `pulumi:"templateConfiguration"` + // The type of the prompt template for this AI Prompt. + TemplateType AiPromptAiPromptTemplateTypeOutput `pulumi:"templateType"` + // The type of this AI Prompt. + Type AiPromptAiPromptTypeOutput `pulumi:"type"` +} + +// NewAiPrompt registers a new resource with the given unique name, arguments, and options. +func NewAiPrompt(ctx *pulumi.Context, + name string, args *AiPromptArgs, opts ...pulumi.ResourceOption) (*AiPrompt, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ApiFormat == nil { + return nil, errors.New("invalid value for required argument 'ApiFormat'") + } + if args.ModelId == nil { + return nil, errors.New("invalid value for required argument 'ModelId'") + } + if args.TemplateConfiguration == nil { + return nil, errors.New("invalid value for required argument 'TemplateConfiguration'") + } + if args.TemplateType == nil { + return nil, errors.New("invalid value for required argument 'TemplateType'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "apiFormat", + "assistantId", + "modelId", + "name", + "tags.*", + "templateType", + "type", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource AiPrompt + err := ctx.RegisterResource("aws-native:wisdom:AiPrompt", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAiPrompt gets an existing AiPrompt 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 GetAiPrompt(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AiPromptState, opts ...pulumi.ResourceOption) (*AiPrompt, error) { + var resource AiPrompt + err := ctx.ReadResource("aws-native:wisdom:AiPrompt", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AiPrompt resources. +type aiPromptState struct { +} + +type AiPromptState struct { +} + +func (AiPromptState) ElementType() reflect.Type { + return reflect.TypeOf((*aiPromptState)(nil)).Elem() +} + +type aiPromptArgs struct { + // The API format used for this AI Prompt. + ApiFormat AiPromptAiPromptApiFormat `pulumi:"apiFormat"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId *string `pulumi:"assistantId"` + // The description of the AI Prompt. + Description *string `pulumi:"description"` + // The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + ModelId string `pulumi:"modelId"` + // The name of the AI Prompt + Name *string `pulumi:"name"` + // The tags used to organize, track, or control access for this resource. + Tags map[string]string `pulumi:"tags"` + // The configuration of the prompt template for this AI Prompt. + TemplateConfiguration AiPromptAiPromptTemplateConfiguration `pulumi:"templateConfiguration"` + // The type of the prompt template for this AI Prompt. + TemplateType AiPromptAiPromptTemplateType `pulumi:"templateType"` + // The type of this AI Prompt. + Type AiPromptAiPromptType `pulumi:"type"` +} + +// The set of arguments for constructing a AiPrompt resource. +type AiPromptArgs struct { + // The API format used for this AI Prompt. + ApiFormat AiPromptAiPromptApiFormatInput + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId pulumi.StringPtrInput + // The description of the AI Prompt. + Description pulumi.StringPtrInput + // The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + ModelId pulumi.StringInput + // The name of the AI Prompt + Name pulumi.StringPtrInput + // The tags used to organize, track, or control access for this resource. + Tags pulumi.StringMapInput + // The configuration of the prompt template for this AI Prompt. + TemplateConfiguration AiPromptAiPromptTemplateConfigurationInput + // The type of the prompt template for this AI Prompt. + TemplateType AiPromptAiPromptTemplateTypeInput + // The type of this AI Prompt. + Type AiPromptAiPromptTypeInput +} + +func (AiPromptArgs) ElementType() reflect.Type { + return reflect.TypeOf((*aiPromptArgs)(nil)).Elem() +} + +type AiPromptInput interface { + pulumi.Input + + ToAiPromptOutput() AiPromptOutput + ToAiPromptOutputWithContext(ctx context.Context) AiPromptOutput +} + +func (*AiPrompt) ElementType() reflect.Type { + return reflect.TypeOf((**AiPrompt)(nil)).Elem() +} + +func (i *AiPrompt) ToAiPromptOutput() AiPromptOutput { + return i.ToAiPromptOutputWithContext(context.Background()) +} + +func (i *AiPrompt) ToAiPromptOutputWithContext(ctx context.Context) AiPromptOutput { + return pulumi.ToOutputWithContext(ctx, i).(AiPromptOutput) +} + +type AiPromptOutput struct{ *pulumi.OutputState } + +func (AiPromptOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AiPrompt)(nil)).Elem() +} + +func (o AiPromptOutput) ToAiPromptOutput() AiPromptOutput { + return o +} + +func (o AiPromptOutput) ToAiPromptOutputWithContext(ctx context.Context) AiPromptOutput { + return o +} + +// The Amazon Resource Name (ARN) of the AI Prompt. +func (o AiPromptOutput) AiPromptArn() pulumi.StringOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringOutput { return v.AiPromptArn }).(pulumi.StringOutput) +} + +// The identifier of the Amazon Q in Connect AI prompt. +func (o AiPromptOutput) AiPromptId() pulumi.StringOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringOutput { return v.AiPromptId }).(pulumi.StringOutput) +} + +// The API format used for this AI Prompt. +func (o AiPromptOutput) ApiFormat() AiPromptAiPromptApiFormatOutput { + return o.ApplyT(func(v *AiPrompt) AiPromptAiPromptApiFormatOutput { return v.ApiFormat }).(AiPromptAiPromptApiFormatOutput) +} + +// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. +func (o AiPromptOutput) AssistantArn() pulumi.StringOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringOutput { return v.AssistantArn }).(pulumi.StringOutput) +} + +// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. +func (o AiPromptOutput) AssistantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringPtrOutput { return v.AssistantId }).(pulumi.StringPtrOutput) +} + +// The description of the AI Prompt. +func (o AiPromptOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . +func (o AiPromptOutput) ModelId() pulumi.StringOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringOutput { return v.ModelId }).(pulumi.StringOutput) +} + +// The name of the AI Prompt +func (o AiPromptOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) +} + +// The tags used to organize, track, or control access for this resource. +func (o AiPromptOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AiPrompt) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// The configuration of the prompt template for this AI Prompt. +func (o AiPromptOutput) TemplateConfiguration() AiPromptAiPromptTemplateConfigurationOutput { + return o.ApplyT(func(v *AiPrompt) AiPromptAiPromptTemplateConfigurationOutput { return v.TemplateConfiguration }).(AiPromptAiPromptTemplateConfigurationOutput) +} + +// The type of the prompt template for this AI Prompt. +func (o AiPromptOutput) TemplateType() AiPromptAiPromptTemplateTypeOutput { + return o.ApplyT(func(v *AiPrompt) AiPromptAiPromptTemplateTypeOutput { return v.TemplateType }).(AiPromptAiPromptTemplateTypeOutput) +} + +// The type of this AI Prompt. +func (o AiPromptOutput) Type() AiPromptAiPromptTypeOutput { + return o.ApplyT(func(v *AiPrompt) AiPromptAiPromptTypeOutput { return v.Type }).(AiPromptAiPromptTypeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptInput)(nil)).Elem(), &AiPrompt{}) + pulumi.RegisterOutputType(AiPromptOutput{}) +} diff --git a/sdk/go/aws/wisdom/getAiPrompt.go b/sdk/go/aws/wisdom/getAiPrompt.go new file mode 100644 index 0000000000..56876532c2 --- /dev/null +++ b/sdk/go/aws/wisdom/getAiPrompt.go @@ -0,0 +1,116 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package wisdom + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Wisdom::AIPrompt Resource Type +func LookupAiPrompt(ctx *pulumi.Context, args *LookupAiPromptArgs, opts ...pulumi.InvokeOption) (*LookupAiPromptResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAiPromptResult + err := ctx.Invoke("aws-native:wisdom:getAiPrompt", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupAiPromptArgs struct { + // The identifier of the Amazon Q in Connect AI prompt. + AiPromptId string `pulumi:"aiPromptId"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId string `pulumi:"assistantId"` +} + +type LookupAiPromptResult struct { + // The Amazon Resource Name (ARN) of the AI Prompt. + AiPromptArn *string `pulumi:"aiPromptArn"` + // The identifier of the Amazon Q in Connect AI prompt. + AiPromptId *string `pulumi:"aiPromptId"` + // The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + AssistantArn *string `pulumi:"assistantArn"` + // The description of the AI Prompt. + Description *string `pulumi:"description"` + // The configuration of the prompt template for this AI Prompt. + TemplateConfiguration *AiPromptAiPromptTemplateConfiguration `pulumi:"templateConfiguration"` +} + +func LookupAiPromptOutput(ctx *pulumi.Context, args LookupAiPromptOutputArgs, opts ...pulumi.InvokeOption) LookupAiPromptResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupAiPromptResultOutput, error) { + args := v.(LookupAiPromptArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAiPromptResult + secret, err := ctx.InvokePackageRaw("aws-native:wisdom:getAiPrompt", args, &rv, "", opts...) + if err != nil { + return LookupAiPromptResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupAiPromptResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupAiPromptResultOutput), nil + } + return output, nil + }).(LookupAiPromptResultOutput) +} + +type LookupAiPromptOutputArgs struct { + // The identifier of the Amazon Q in Connect AI prompt. + AiPromptId pulumi.StringInput `pulumi:"aiPromptId"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId pulumi.StringInput `pulumi:"assistantId"` +} + +func (LookupAiPromptOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAiPromptArgs)(nil)).Elem() +} + +type LookupAiPromptResultOutput struct{ *pulumi.OutputState } + +func (LookupAiPromptResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAiPromptResult)(nil)).Elem() +} + +func (o LookupAiPromptResultOutput) ToLookupAiPromptResultOutput() LookupAiPromptResultOutput { + return o +} + +func (o LookupAiPromptResultOutput) ToLookupAiPromptResultOutputWithContext(ctx context.Context) LookupAiPromptResultOutput { + return o +} + +// The Amazon Resource Name (ARN) of the AI Prompt. +func (o LookupAiPromptResultOutput) AiPromptArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAiPromptResult) *string { return v.AiPromptArn }).(pulumi.StringPtrOutput) +} + +// The identifier of the Amazon Q in Connect AI prompt. +func (o LookupAiPromptResultOutput) AiPromptId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAiPromptResult) *string { return v.AiPromptId }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. +func (o LookupAiPromptResultOutput) AssistantArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAiPromptResult) *string { return v.AssistantArn }).(pulumi.StringPtrOutput) +} + +// The description of the AI Prompt. +func (o LookupAiPromptResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAiPromptResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The configuration of the prompt template for this AI Prompt. +func (o LookupAiPromptResultOutput) TemplateConfiguration() AiPromptAiPromptTemplateConfigurationPtrOutput { + return o.ApplyT(func(v LookupAiPromptResult) *AiPromptAiPromptTemplateConfiguration { return v.TemplateConfiguration }).(AiPromptAiPromptTemplateConfigurationPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupAiPromptResultOutput{}) +} diff --git a/sdk/go/aws/wisdom/init.go b/sdk/go/aws/wisdom/init.go index 139e95726a..2ff48e87ab 100644 --- a/sdk/go/aws/wisdom/init.go +++ b/sdk/go/aws/wisdom/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws-native:wisdom:AiPrompt": + r = &AiPrompt{} case "aws-native:wisdom:Assistant": r = &Assistant{} case "aws-native:wisdom:AssistantAssociation": diff --git a/sdk/go/aws/wisdom/pulumiEnums.go b/sdk/go/aws/wisdom/pulumiEnums.go index 9f41a83cbb..2ee8e1c2ba 100644 --- a/sdk/go/aws/wisdom/pulumiEnums.go +++ b/sdk/go/aws/wisdom/pulumiEnums.go @@ -10,6 +10,501 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +type AiPromptAiPromptApiFormat string + +const ( + AiPromptAiPromptApiFormatAnthropicClaudeMessages = AiPromptAiPromptApiFormat("ANTHROPIC_CLAUDE_MESSAGES") + AiPromptAiPromptApiFormatAnthropicClaudeTextCompletions = AiPromptAiPromptApiFormat("ANTHROPIC_CLAUDE_TEXT_COMPLETIONS") +) + +func (AiPromptAiPromptApiFormat) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptApiFormat)(nil)).Elem() +} + +func (e AiPromptAiPromptApiFormat) ToAiPromptAiPromptApiFormatOutput() AiPromptAiPromptApiFormatOutput { + return pulumi.ToOutput(e).(AiPromptAiPromptApiFormatOutput) +} + +func (e AiPromptAiPromptApiFormat) ToAiPromptAiPromptApiFormatOutputWithContext(ctx context.Context) AiPromptAiPromptApiFormatOutput { + return pulumi.ToOutputWithContext(ctx, e).(AiPromptAiPromptApiFormatOutput) +} + +func (e AiPromptAiPromptApiFormat) ToAiPromptAiPromptApiFormatPtrOutput() AiPromptAiPromptApiFormatPtrOutput { + return e.ToAiPromptAiPromptApiFormatPtrOutputWithContext(context.Background()) +} + +func (e AiPromptAiPromptApiFormat) ToAiPromptAiPromptApiFormatPtrOutputWithContext(ctx context.Context) AiPromptAiPromptApiFormatPtrOutput { + return AiPromptAiPromptApiFormat(e).ToAiPromptAiPromptApiFormatOutputWithContext(ctx).ToAiPromptAiPromptApiFormatPtrOutputWithContext(ctx) +} + +func (e AiPromptAiPromptApiFormat) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AiPromptAiPromptApiFormat) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AiPromptAiPromptApiFormat) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e AiPromptAiPromptApiFormat) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type AiPromptAiPromptApiFormatOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptApiFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptApiFormat)(nil)).Elem() +} + +func (o AiPromptAiPromptApiFormatOutput) ToAiPromptAiPromptApiFormatOutput() AiPromptAiPromptApiFormatOutput { + return o +} + +func (o AiPromptAiPromptApiFormatOutput) ToAiPromptAiPromptApiFormatOutputWithContext(ctx context.Context) AiPromptAiPromptApiFormatOutput { + return o +} + +func (o AiPromptAiPromptApiFormatOutput) ToAiPromptAiPromptApiFormatPtrOutput() AiPromptAiPromptApiFormatPtrOutput { + return o.ToAiPromptAiPromptApiFormatPtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptApiFormatOutput) ToAiPromptAiPromptApiFormatPtrOutputWithContext(ctx context.Context) AiPromptAiPromptApiFormatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AiPromptAiPromptApiFormat) *AiPromptAiPromptApiFormat { + return &v + }).(AiPromptAiPromptApiFormatPtrOutput) +} + +func (o AiPromptAiPromptApiFormatOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptApiFormatOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AiPromptAiPromptApiFormat) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o AiPromptAiPromptApiFormatOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptApiFormatOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AiPromptAiPromptApiFormat) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type AiPromptAiPromptApiFormatPtrOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptApiFormatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AiPromptAiPromptApiFormat)(nil)).Elem() +} + +func (o AiPromptAiPromptApiFormatPtrOutput) ToAiPromptAiPromptApiFormatPtrOutput() AiPromptAiPromptApiFormatPtrOutput { + return o +} + +func (o AiPromptAiPromptApiFormatPtrOutput) ToAiPromptAiPromptApiFormatPtrOutputWithContext(ctx context.Context) AiPromptAiPromptApiFormatPtrOutput { + return o +} + +func (o AiPromptAiPromptApiFormatPtrOutput) Elem() AiPromptAiPromptApiFormatOutput { + return o.ApplyT(func(v *AiPromptAiPromptApiFormat) AiPromptAiPromptApiFormat { + if v != nil { + return *v + } + var ret AiPromptAiPromptApiFormat + return ret + }).(AiPromptAiPromptApiFormatOutput) +} + +func (o AiPromptAiPromptApiFormatPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptApiFormatPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *AiPromptAiPromptApiFormat) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// AiPromptAiPromptApiFormatInput is an input type that accepts values of the AiPromptAiPromptApiFormat enum +// A concrete instance of `AiPromptAiPromptApiFormatInput` can be one of the following: +// +// AiPromptAiPromptApiFormatAnthropicClaudeMessages +// AiPromptAiPromptApiFormatAnthropicClaudeTextCompletions +type AiPromptAiPromptApiFormatInput interface { + pulumi.Input + + ToAiPromptAiPromptApiFormatOutput() AiPromptAiPromptApiFormatOutput + ToAiPromptAiPromptApiFormatOutputWithContext(context.Context) AiPromptAiPromptApiFormatOutput +} + +var aiPromptAiPromptApiFormatPtrType = reflect.TypeOf((**AiPromptAiPromptApiFormat)(nil)).Elem() + +type AiPromptAiPromptApiFormatPtrInput interface { + pulumi.Input + + ToAiPromptAiPromptApiFormatPtrOutput() AiPromptAiPromptApiFormatPtrOutput + ToAiPromptAiPromptApiFormatPtrOutputWithContext(context.Context) AiPromptAiPromptApiFormatPtrOutput +} + +type aiPromptAiPromptApiFormatPtr string + +func AiPromptAiPromptApiFormatPtr(v string) AiPromptAiPromptApiFormatPtrInput { + return (*aiPromptAiPromptApiFormatPtr)(&v) +} + +func (*aiPromptAiPromptApiFormatPtr) ElementType() reflect.Type { + return aiPromptAiPromptApiFormatPtrType +} + +func (in *aiPromptAiPromptApiFormatPtr) ToAiPromptAiPromptApiFormatPtrOutput() AiPromptAiPromptApiFormatPtrOutput { + return pulumi.ToOutput(in).(AiPromptAiPromptApiFormatPtrOutput) +} + +func (in *aiPromptAiPromptApiFormatPtr) ToAiPromptAiPromptApiFormatPtrOutputWithContext(ctx context.Context) AiPromptAiPromptApiFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(AiPromptAiPromptApiFormatPtrOutput) +} + +type AiPromptAiPromptTemplateType string + +const ( + AiPromptAiPromptTemplateTypeText = AiPromptAiPromptTemplateType("TEXT") +) + +func (AiPromptAiPromptTemplateType) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptTemplateType)(nil)).Elem() +} + +func (e AiPromptAiPromptTemplateType) ToAiPromptAiPromptTemplateTypeOutput() AiPromptAiPromptTemplateTypeOutput { + return pulumi.ToOutput(e).(AiPromptAiPromptTemplateTypeOutput) +} + +func (e AiPromptAiPromptTemplateType) ToAiPromptAiPromptTemplateTypeOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(AiPromptAiPromptTemplateTypeOutput) +} + +func (e AiPromptAiPromptTemplateType) ToAiPromptAiPromptTemplateTypePtrOutput() AiPromptAiPromptTemplateTypePtrOutput { + return e.ToAiPromptAiPromptTemplateTypePtrOutputWithContext(context.Background()) +} + +func (e AiPromptAiPromptTemplateType) ToAiPromptAiPromptTemplateTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateTypePtrOutput { + return AiPromptAiPromptTemplateType(e).ToAiPromptAiPromptTemplateTypeOutputWithContext(ctx).ToAiPromptAiPromptTemplateTypePtrOutputWithContext(ctx) +} + +func (e AiPromptAiPromptTemplateType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AiPromptAiPromptTemplateType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AiPromptAiPromptTemplateType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e AiPromptAiPromptTemplateType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type AiPromptAiPromptTemplateTypeOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptTemplateTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptTemplateType)(nil)).Elem() +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToAiPromptAiPromptTemplateTypeOutput() AiPromptAiPromptTemplateTypeOutput { + return o +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToAiPromptAiPromptTemplateTypeOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateTypeOutput { + return o +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToAiPromptAiPromptTemplateTypePtrOutput() AiPromptAiPromptTemplateTypePtrOutput { + return o.ToAiPromptAiPromptTemplateTypePtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToAiPromptAiPromptTemplateTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AiPromptAiPromptTemplateType) *AiPromptAiPromptTemplateType { + return &v + }).(AiPromptAiPromptTemplateTypePtrOutput) +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AiPromptAiPromptTemplateType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTemplateTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AiPromptAiPromptTemplateType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type AiPromptAiPromptTemplateTypePtrOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptTemplateTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AiPromptAiPromptTemplateType)(nil)).Elem() +} + +func (o AiPromptAiPromptTemplateTypePtrOutput) ToAiPromptAiPromptTemplateTypePtrOutput() AiPromptAiPromptTemplateTypePtrOutput { + return o +} + +func (o AiPromptAiPromptTemplateTypePtrOutput) ToAiPromptAiPromptTemplateTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateTypePtrOutput { + return o +} + +func (o AiPromptAiPromptTemplateTypePtrOutput) Elem() AiPromptAiPromptTemplateTypeOutput { + return o.ApplyT(func(v *AiPromptAiPromptTemplateType) AiPromptAiPromptTemplateType { + if v != nil { + return *v + } + var ret AiPromptAiPromptTemplateType + return ret + }).(AiPromptAiPromptTemplateTypeOutput) +} + +func (o AiPromptAiPromptTemplateTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTemplateTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *AiPromptAiPromptTemplateType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// AiPromptAiPromptTemplateTypeInput is an input type that accepts values of the AiPromptAiPromptTemplateType enum +// A concrete instance of `AiPromptAiPromptTemplateTypeInput` can be one of the following: +// +// AiPromptAiPromptTemplateTypeText +type AiPromptAiPromptTemplateTypeInput interface { + pulumi.Input + + ToAiPromptAiPromptTemplateTypeOutput() AiPromptAiPromptTemplateTypeOutput + ToAiPromptAiPromptTemplateTypeOutputWithContext(context.Context) AiPromptAiPromptTemplateTypeOutput +} + +var aiPromptAiPromptTemplateTypePtrType = reflect.TypeOf((**AiPromptAiPromptTemplateType)(nil)).Elem() + +type AiPromptAiPromptTemplateTypePtrInput interface { + pulumi.Input + + ToAiPromptAiPromptTemplateTypePtrOutput() AiPromptAiPromptTemplateTypePtrOutput + ToAiPromptAiPromptTemplateTypePtrOutputWithContext(context.Context) AiPromptAiPromptTemplateTypePtrOutput +} + +type aiPromptAiPromptTemplateTypePtr string + +func AiPromptAiPromptTemplateTypePtr(v string) AiPromptAiPromptTemplateTypePtrInput { + return (*aiPromptAiPromptTemplateTypePtr)(&v) +} + +func (*aiPromptAiPromptTemplateTypePtr) ElementType() reflect.Type { + return aiPromptAiPromptTemplateTypePtrType +} + +func (in *aiPromptAiPromptTemplateTypePtr) ToAiPromptAiPromptTemplateTypePtrOutput() AiPromptAiPromptTemplateTypePtrOutput { + return pulumi.ToOutput(in).(AiPromptAiPromptTemplateTypePtrOutput) +} + +func (in *aiPromptAiPromptTemplateTypePtr) ToAiPromptAiPromptTemplateTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(AiPromptAiPromptTemplateTypePtrOutput) +} + +type AiPromptAiPromptType string + +const ( + AiPromptAiPromptTypeAnswerGeneration = AiPromptAiPromptType("ANSWER_GENERATION") + AiPromptAiPromptTypeIntentLabelingGeneration = AiPromptAiPromptType("INTENT_LABELING_GENERATION") + AiPromptAiPromptTypeQueryReformulation = AiPromptAiPromptType("QUERY_REFORMULATION") +) + +func (AiPromptAiPromptType) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptType)(nil)).Elem() +} + +func (e AiPromptAiPromptType) ToAiPromptAiPromptTypeOutput() AiPromptAiPromptTypeOutput { + return pulumi.ToOutput(e).(AiPromptAiPromptTypeOutput) +} + +func (e AiPromptAiPromptType) ToAiPromptAiPromptTypeOutputWithContext(ctx context.Context) AiPromptAiPromptTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(AiPromptAiPromptTypeOutput) +} + +func (e AiPromptAiPromptType) ToAiPromptAiPromptTypePtrOutput() AiPromptAiPromptTypePtrOutput { + return e.ToAiPromptAiPromptTypePtrOutputWithContext(context.Background()) +} + +func (e AiPromptAiPromptType) ToAiPromptAiPromptTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTypePtrOutput { + return AiPromptAiPromptType(e).ToAiPromptAiPromptTypeOutputWithContext(ctx).ToAiPromptAiPromptTypePtrOutputWithContext(ctx) +} + +func (e AiPromptAiPromptType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AiPromptAiPromptType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AiPromptAiPromptType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e AiPromptAiPromptType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type AiPromptAiPromptTypeOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptType)(nil)).Elem() +} + +func (o AiPromptAiPromptTypeOutput) ToAiPromptAiPromptTypeOutput() AiPromptAiPromptTypeOutput { + return o +} + +func (o AiPromptAiPromptTypeOutput) ToAiPromptAiPromptTypeOutputWithContext(ctx context.Context) AiPromptAiPromptTypeOutput { + return o +} + +func (o AiPromptAiPromptTypeOutput) ToAiPromptAiPromptTypePtrOutput() AiPromptAiPromptTypePtrOutput { + return o.ToAiPromptAiPromptTypePtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTypeOutput) ToAiPromptAiPromptTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AiPromptAiPromptType) *AiPromptAiPromptType { + return &v + }).(AiPromptAiPromptTypePtrOutput) +} + +func (o AiPromptAiPromptTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AiPromptAiPromptType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o AiPromptAiPromptTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AiPromptAiPromptType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type AiPromptAiPromptTypePtrOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AiPromptAiPromptType)(nil)).Elem() +} + +func (o AiPromptAiPromptTypePtrOutput) ToAiPromptAiPromptTypePtrOutput() AiPromptAiPromptTypePtrOutput { + return o +} + +func (o AiPromptAiPromptTypePtrOutput) ToAiPromptAiPromptTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTypePtrOutput { + return o +} + +func (o AiPromptAiPromptTypePtrOutput) Elem() AiPromptAiPromptTypeOutput { + return o.ApplyT(func(v *AiPromptAiPromptType) AiPromptAiPromptType { + if v != nil { + return *v + } + var ret AiPromptAiPromptType + return ret + }).(AiPromptAiPromptTypeOutput) +} + +func (o AiPromptAiPromptTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AiPromptAiPromptTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *AiPromptAiPromptType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// AiPromptAiPromptTypeInput is an input type that accepts values of the AiPromptAiPromptType enum +// A concrete instance of `AiPromptAiPromptTypeInput` can be one of the following: +// +// AiPromptAiPromptTypeAnswerGeneration +// AiPromptAiPromptTypeIntentLabelingGeneration +// AiPromptAiPromptTypeQueryReformulation +type AiPromptAiPromptTypeInput interface { + pulumi.Input + + ToAiPromptAiPromptTypeOutput() AiPromptAiPromptTypeOutput + ToAiPromptAiPromptTypeOutputWithContext(context.Context) AiPromptAiPromptTypeOutput +} + +var aiPromptAiPromptTypePtrType = reflect.TypeOf((**AiPromptAiPromptType)(nil)).Elem() + +type AiPromptAiPromptTypePtrInput interface { + pulumi.Input + + ToAiPromptAiPromptTypePtrOutput() AiPromptAiPromptTypePtrOutput + ToAiPromptAiPromptTypePtrOutputWithContext(context.Context) AiPromptAiPromptTypePtrOutput +} + +type aiPromptAiPromptTypePtr string + +func AiPromptAiPromptTypePtr(v string) AiPromptAiPromptTypePtrInput { + return (*aiPromptAiPromptTypePtr)(&v) +} + +func (*aiPromptAiPromptTypePtr) ElementType() reflect.Type { + return aiPromptAiPromptTypePtrType +} + +func (in *aiPromptAiPromptTypePtr) ToAiPromptAiPromptTypePtrOutput() AiPromptAiPromptTypePtrOutput { + return pulumi.ToOutput(in).(AiPromptAiPromptTypePtrOutput) +} + +func (in *aiPromptAiPromptTypePtr) ToAiPromptAiPromptTypePtrOutputWithContext(ctx context.Context) AiPromptAiPromptTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(AiPromptAiPromptTypePtrOutput) +} + type AssistantAssociationAssociationType string const ( @@ -504,12 +999,24 @@ func (in *knowledgeBaseTypePtr) ToKnowledgeBaseTypePtrOutputWithContext(ctx cont } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptAiPromptApiFormatInput)(nil)).Elem(), AiPromptAiPromptApiFormat("ANTHROPIC_CLAUDE_MESSAGES")) + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptAiPromptApiFormatPtrInput)(nil)).Elem(), AiPromptAiPromptApiFormat("ANTHROPIC_CLAUDE_MESSAGES")) + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptAiPromptTemplateTypeInput)(nil)).Elem(), AiPromptAiPromptTemplateType("TEXT")) + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptAiPromptTemplateTypePtrInput)(nil)).Elem(), AiPromptAiPromptTemplateType("TEXT")) + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptAiPromptTypeInput)(nil)).Elem(), AiPromptAiPromptType("ANSWER_GENERATION")) + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptAiPromptTypePtrInput)(nil)).Elem(), AiPromptAiPromptType("ANSWER_GENERATION")) pulumi.RegisterInputType(reflect.TypeOf((*AssistantAssociationAssociationTypeInput)(nil)).Elem(), AssistantAssociationAssociationType("KNOWLEDGE_BASE")) pulumi.RegisterInputType(reflect.TypeOf((*AssistantAssociationAssociationTypePtrInput)(nil)).Elem(), AssistantAssociationAssociationType("KNOWLEDGE_BASE")) pulumi.RegisterInputType(reflect.TypeOf((*AssistantTypeInput)(nil)).Elem(), AssistantType("AGENT")) pulumi.RegisterInputType(reflect.TypeOf((*AssistantTypePtrInput)(nil)).Elem(), AssistantType("AGENT")) pulumi.RegisterInputType(reflect.TypeOf((*KnowledgeBaseTypeInput)(nil)).Elem(), KnowledgeBaseType("EXTERNAL")) pulumi.RegisterInputType(reflect.TypeOf((*KnowledgeBaseTypePtrInput)(nil)).Elem(), KnowledgeBaseType("EXTERNAL")) + pulumi.RegisterOutputType(AiPromptAiPromptApiFormatOutput{}) + pulumi.RegisterOutputType(AiPromptAiPromptApiFormatPtrOutput{}) + pulumi.RegisterOutputType(AiPromptAiPromptTemplateTypeOutput{}) + pulumi.RegisterOutputType(AiPromptAiPromptTemplateTypePtrOutput{}) + pulumi.RegisterOutputType(AiPromptAiPromptTypeOutput{}) + pulumi.RegisterOutputType(AiPromptAiPromptTypePtrOutput{}) pulumi.RegisterOutputType(AssistantAssociationAssociationTypeOutput{}) pulumi.RegisterOutputType(AssistantAssociationAssociationTypePtrOutput{}) pulumi.RegisterOutputType(AssistantTypeOutput{}) diff --git a/sdk/go/aws/wisdom/pulumiTypes.go b/sdk/go/aws/wisdom/pulumiTypes.go index 565a7b1d93..242ec5e059 100644 --- a/sdk/go/aws/wisdom/pulumiTypes.go +++ b/sdk/go/aws/wisdom/pulumiTypes.go @@ -13,6 +13,73 @@ import ( var _ = internal.GetEnvOrDefault +type AiPromptAiPromptTemplateConfiguration struct { +} + +// AiPromptAiPromptTemplateConfigurationInput is an input type that accepts AiPromptAiPromptTemplateConfigurationArgs and AiPromptAiPromptTemplateConfigurationOutput values. +// You can construct a concrete instance of `AiPromptAiPromptTemplateConfigurationInput` via: +// +// AiPromptAiPromptTemplateConfigurationArgs{...} +type AiPromptAiPromptTemplateConfigurationInput interface { + pulumi.Input + + ToAiPromptAiPromptTemplateConfigurationOutput() AiPromptAiPromptTemplateConfigurationOutput + ToAiPromptAiPromptTemplateConfigurationOutputWithContext(context.Context) AiPromptAiPromptTemplateConfigurationOutput +} + +type AiPromptAiPromptTemplateConfigurationArgs struct { +} + +func (AiPromptAiPromptTemplateConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptTemplateConfiguration)(nil)).Elem() +} + +func (i AiPromptAiPromptTemplateConfigurationArgs) ToAiPromptAiPromptTemplateConfigurationOutput() AiPromptAiPromptTemplateConfigurationOutput { + return i.ToAiPromptAiPromptTemplateConfigurationOutputWithContext(context.Background()) +} + +func (i AiPromptAiPromptTemplateConfigurationArgs) ToAiPromptAiPromptTemplateConfigurationOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AiPromptAiPromptTemplateConfigurationOutput) +} + +type AiPromptAiPromptTemplateConfigurationOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptTemplateConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AiPromptAiPromptTemplateConfiguration)(nil)).Elem() +} + +func (o AiPromptAiPromptTemplateConfigurationOutput) ToAiPromptAiPromptTemplateConfigurationOutput() AiPromptAiPromptTemplateConfigurationOutput { + return o +} + +func (o AiPromptAiPromptTemplateConfigurationOutput) ToAiPromptAiPromptTemplateConfigurationOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateConfigurationOutput { + return o +} + +type AiPromptAiPromptTemplateConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AiPromptAiPromptTemplateConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AiPromptAiPromptTemplateConfiguration)(nil)).Elem() +} + +func (o AiPromptAiPromptTemplateConfigurationPtrOutput) ToAiPromptAiPromptTemplateConfigurationPtrOutput() AiPromptAiPromptTemplateConfigurationPtrOutput { + return o +} + +func (o AiPromptAiPromptTemplateConfigurationPtrOutput) ToAiPromptAiPromptTemplateConfigurationPtrOutputWithContext(ctx context.Context) AiPromptAiPromptTemplateConfigurationPtrOutput { + return o +} + +func (o AiPromptAiPromptTemplateConfigurationPtrOutput) Elem() AiPromptAiPromptTemplateConfigurationOutput { + return o.ApplyT(func(v *AiPromptAiPromptTemplateConfiguration) AiPromptAiPromptTemplateConfiguration { + if v != nil { + return *v + } + var ret AiPromptAiPromptTemplateConfiguration + return ret + }).(AiPromptAiPromptTemplateConfigurationOutput) +} + type AssistantAssociationAssociationData struct { // The identifier of the knowledge base. KnowledgeBaseId string `pulumi:"knowledgeBaseId"` @@ -889,6 +956,7 @@ type KnowledgeBaseTag struct { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AiPromptAiPromptTemplateConfigurationInput)(nil)).Elem(), AiPromptAiPromptTemplateConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AssistantAssociationAssociationDataInput)(nil)).Elem(), AssistantAssociationAssociationDataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AssistantServerSideEncryptionConfigurationInput)(nil)).Elem(), AssistantServerSideEncryptionConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AssistantServerSideEncryptionConfigurationPtrInput)(nil)).Elem(), AssistantServerSideEncryptionConfigurationArgs{}) @@ -900,6 +968,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*KnowledgeBaseServerSideEncryptionConfigurationPtrInput)(nil)).Elem(), KnowledgeBaseServerSideEncryptionConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KnowledgeBaseSourceConfigurationInput)(nil)).Elem(), KnowledgeBaseSourceConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KnowledgeBaseSourceConfigurationPtrInput)(nil)).Elem(), KnowledgeBaseSourceConfigurationArgs{}) + pulumi.RegisterOutputType(AiPromptAiPromptTemplateConfigurationOutput{}) + pulumi.RegisterOutputType(AiPromptAiPromptTemplateConfigurationPtrOutput{}) pulumi.RegisterOutputType(AssistantAssociationAssociationDataOutput{}) pulumi.RegisterOutputType(AssistantServerSideEncryptionConfigurationOutput{}) pulumi.RegisterOutputType(AssistantServerSideEncryptionConfigurationPtrOutput{}) diff --git a/sdk/nodejs/appsync/dataSource.ts b/sdk/nodejs/appsync/dataSource.ts new file mode 100644 index 0000000000..a387e83b40 --- /dev/null +++ b/sdk/nodejs/appsync/dataSource.ts @@ -0,0 +1,263 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource Type definition for AWS::AppSync::DataSource + * + * ## Example Usage + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const config = new pulumi.Config(); + * const graphQlApiId = config.require("graphQlApiId"); + * const dataSourceName = config.require("dataSourceName"); + * const dataSourceDescription = config.require("dataSourceDescription"); + * const serviceRoleArn = config.require("serviceRoleArn"); + * const lambdaFunctionArn = config.require("lambdaFunctionArn"); + * const dataSource = new aws_native.appsync.DataSource("dataSource", { + * apiId: graphQlApiId, + * name: dataSourceName, + * description: dataSourceDescription, + * type: "AWS_LAMBDA", + * serviceRoleArn: serviceRoleArn, + * lambdaConfig: { + * lambdaFunctionArn: lambdaFunctionArn, + * }, + * }); + * + * ``` + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const config = new pulumi.Config(); + * const graphQlApiId = config.require("graphQlApiId"); + * const dataSourceName = config.require("dataSourceName"); + * const dataSourceDescription = config.require("dataSourceDescription"); + * const serviceRoleArn = config.require("serviceRoleArn"); + * const lambdaFunctionArn = config.require("lambdaFunctionArn"); + * const dataSource = new aws_native.appsync.DataSource("dataSource", { + * apiId: graphQlApiId, + * name: dataSourceName, + * description: dataSourceDescription, + * type: "AWS_LAMBDA", + * serviceRoleArn: serviceRoleArn, + * lambdaConfig: { + * lambdaFunctionArn: lambdaFunctionArn, + * }, + * }); + * + * ``` + */ +export class DataSource extends pulumi.CustomResource { + /** + * Get an existing DataSource 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DataSource { + return new DataSource(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:appsync:DataSource'; + + /** + * Returns true if the given object is an instance of DataSource. 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 DataSource { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DataSource.__pulumiType; + } + + /** + * Unique AWS AppSync GraphQL API identifier where this data source will be created. + */ + public readonly apiId!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + */ + public /*out*/ readonly dataSourceArn!: pulumi.Output; + /** + * The description of the data source. + */ + public readonly description!: pulumi.Output; + /** + * AWS Region and TableName for an Amazon DynamoDB table in your account. + */ + public readonly dynamoDbConfig!: pulumi.Output; + /** + * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + * As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + */ + public readonly elasticsearchConfig!: pulumi.Output; + /** + * ARN for the EventBridge bus. + */ + public readonly eventBridgeConfig!: pulumi.Output; + /** + * Endpoints for an HTTP data source. + */ + public readonly httpConfig!: pulumi.Output; + /** + * An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + */ + public readonly lambdaConfig!: pulumi.Output; + /** + * Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + * + * `MetricsConfig` can be `ENABLED` or `DISABLED` . + */ + public readonly metricsConfig!: pulumi.Output; + /** + * Friendly name for you to identify your AppSync data source after creation. + */ + public readonly name!: pulumi.Output; + /** + * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + */ + public readonly openSearchServiceConfig!: pulumi.Output; + /** + * Relational Database configuration of the relational database data source. + */ + public readonly relationalDatabaseConfig!: pulumi.Output; + /** + * The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + */ + public readonly serviceRoleArn!: pulumi.Output; + /** + * The type of the data source. + */ + public readonly type!: pulumi.Output; + + /** + * Create a DataSource 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: DataSourceArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.apiId === undefined) && !opts.urn) { + throw new Error("Missing required property 'apiId'"); + } + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + resourceInputs["apiId"] = args ? args.apiId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["dynamoDbConfig"] = args ? args.dynamoDbConfig : undefined; + resourceInputs["elasticsearchConfig"] = args ? args.elasticsearchConfig : undefined; + resourceInputs["eventBridgeConfig"] = args ? args.eventBridgeConfig : undefined; + resourceInputs["httpConfig"] = args ? args.httpConfig : undefined; + resourceInputs["lambdaConfig"] = args ? args.lambdaConfig : undefined; + resourceInputs["metricsConfig"] = args ? args.metricsConfig : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["openSearchServiceConfig"] = args ? args.openSearchServiceConfig : undefined; + resourceInputs["relationalDatabaseConfig"] = args ? args.relationalDatabaseConfig : undefined; + resourceInputs["serviceRoleArn"] = args ? args.serviceRoleArn : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["dataSourceArn"] = undefined /*out*/; + } else { + resourceInputs["apiId"] = undefined /*out*/; + resourceInputs["dataSourceArn"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["dynamoDbConfig"] = undefined /*out*/; + resourceInputs["elasticsearchConfig"] = undefined /*out*/; + resourceInputs["eventBridgeConfig"] = undefined /*out*/; + resourceInputs["httpConfig"] = undefined /*out*/; + resourceInputs["lambdaConfig"] = undefined /*out*/; + resourceInputs["metricsConfig"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["openSearchServiceConfig"] = undefined /*out*/; + resourceInputs["relationalDatabaseConfig"] = undefined /*out*/; + resourceInputs["serviceRoleArn"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["apiId", "name"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(DataSource.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DataSource resource. + */ +export interface DataSourceArgs { + /** + * Unique AWS AppSync GraphQL API identifier where this data source will be created. + */ + apiId: pulumi.Input; + /** + * The description of the data source. + */ + description?: pulumi.Input; + /** + * AWS Region and TableName for an Amazon DynamoDB table in your account. + */ + dynamoDbConfig?: pulumi.Input; + /** + * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + * As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + */ + elasticsearchConfig?: pulumi.Input; + /** + * ARN for the EventBridge bus. + */ + eventBridgeConfig?: pulumi.Input; + /** + * Endpoints for an HTTP data source. + */ + httpConfig?: pulumi.Input; + /** + * An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + */ + lambdaConfig?: pulumi.Input; + /** + * Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + * + * `MetricsConfig` can be `ENABLED` or `DISABLED` . + */ + metricsConfig?: pulumi.Input; + /** + * Friendly name for you to identify your AppSync data source after creation. + */ + name?: pulumi.Input; + /** + * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + */ + openSearchServiceConfig?: pulumi.Input; + /** + * Relational Database configuration of the relational database data source. + */ + relationalDatabaseConfig?: pulumi.Input; + /** + * The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + */ + serviceRoleArn?: pulumi.Input; + /** + * The type of the data source. + */ + type: pulumi.Input; +} diff --git a/sdk/nodejs/appsync/getDataSource.ts b/sdk/nodejs/appsync/getDataSource.ts new file mode 100644 index 0000000000..3cbfcefe97 --- /dev/null +++ b/sdk/nodejs/appsync/getDataSource.ts @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource Type definition for AWS::AppSync::DataSource + */ +export function getDataSource(args: GetDataSourceArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:appsync:getDataSource", { + "dataSourceArn": args.dataSourceArn, + }, opts); +} + +export interface GetDataSourceArgs { + /** + * The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + */ + dataSourceArn: string; +} + +export interface GetDataSourceResult { + /** + * The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + */ + readonly dataSourceArn?: string; + /** + * The description of the data source. + */ + readonly description?: string; + /** + * AWS Region and TableName for an Amazon DynamoDB table in your account. + */ + readonly dynamoDbConfig?: outputs.appsync.DataSourceDynamoDbConfig; + /** + * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + * As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + */ + readonly elasticsearchConfig?: outputs.appsync.DataSourceElasticsearchConfig; + /** + * ARN for the EventBridge bus. + */ + readonly eventBridgeConfig?: outputs.appsync.DataSourceEventBridgeConfig; + /** + * Endpoints for an HTTP data source. + */ + readonly httpConfig?: outputs.appsync.DataSourceHttpConfig; + /** + * An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + */ + readonly lambdaConfig?: outputs.appsync.DataSourceLambdaConfig; + /** + * Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + * + * `MetricsConfig` can be `ENABLED` or `DISABLED` . + */ + readonly metricsConfig?: enums.appsync.DataSourceMetricsConfig; + /** + * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + */ + readonly openSearchServiceConfig?: outputs.appsync.DataSourceOpenSearchServiceConfig; + /** + * Relational Database configuration of the relational database data source. + */ + readonly relationalDatabaseConfig?: outputs.appsync.DataSourceRelationalDatabaseConfig; + /** + * The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + */ + readonly serviceRoleArn?: string; + /** + * The type of the data source. + */ + readonly type?: string; +} +/** + * Resource Type definition for AWS::AppSync::DataSource + */ +export function getDataSourceOutput(args: GetDataSourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:appsync:getDataSource", { + "dataSourceArn": args.dataSourceArn, + }, opts); +} + +export interface GetDataSourceOutputArgs { + /** + * The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + */ + dataSourceArn: pulumi.Input; +} diff --git a/sdk/nodejs/appsync/index.ts b/sdk/nodejs/appsync/index.ts index a5b6616c47..549f9c9e5a 100644 --- a/sdk/nodejs/appsync/index.ts +++ b/sdk/nodejs/appsync/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { DataSourceArgs } from "./dataSource"; +export type DataSource = import("./dataSource").DataSource; +export const DataSource: typeof import("./dataSource").DataSource = null as any; +utilities.lazyLoad(exports, ["DataSource"], () => require("./dataSource")); + export { DomainNameArgs } from "./domainName"; export type DomainName = import("./domainName").DomainName; export const DomainName: typeof import("./domainName").DomainName = null as any; @@ -20,6 +25,11 @@ export type FunctionConfiguration = import("./functionConfiguration").FunctionCo export const FunctionConfiguration: typeof import("./functionConfiguration").FunctionConfiguration = null as any; utilities.lazyLoad(exports, ["FunctionConfiguration"], () => require("./functionConfiguration")); +export { GetDataSourceArgs, GetDataSourceResult, GetDataSourceOutputArgs } from "./getDataSource"; +export const getDataSource: typeof import("./getDataSource").getDataSource = null as any; +export const getDataSourceOutput: typeof import("./getDataSource").getDataSourceOutput = null as any; +utilities.lazyLoad(exports, ["getDataSource","getDataSourceOutput"], () => require("./getDataSource")); + export { GetDomainNameArgs, GetDomainNameResult, GetDomainNameOutputArgs } from "./getDomainName"; export const getDomainName: typeof import("./getDomainName").getDomainName = null as any; export const getDomainNameOutput: typeof import("./getDomainName").getDomainNameOutput = null as any; @@ -63,6 +73,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws-native:appsync:DataSource": + return new DataSource(name, undefined, { urn }) case "aws-native:appsync:DomainName": return new DomainName(name, undefined, { urn }) case "aws-native:appsync:DomainNameApiAssociation": diff --git a/sdk/nodejs/codebuild/fleet.ts b/sdk/nodejs/codebuild/fleet.ts index 20776d7986..07a637c950 100644 --- a/sdk/nodejs/codebuild/fleet.ts +++ b/sdk/nodejs/codebuild/fleet.ts @@ -46,8 +46,6 @@ export class Fleet extends pulumi.CustomResource { */ public readonly baseCapacity!: pulumi.Output; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -72,8 +70,6 @@ export class Fleet extends pulumi.CustomResource { */ public readonly computeType!: pulumi.Output; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -90,14 +86,10 @@ export class Fleet extends pulumi.CustomResource { */ public readonly fleetServiceRole!: pulumi.Output; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * Information about the VPC configuration that AWS CodeBuild accesses. */ public readonly fleetVpcConfig!: pulumi.Output; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * The Amazon Machine Image (AMI) of the compute fleet. */ public readonly imageId!: pulumi.Output; @@ -168,8 +160,6 @@ export interface FleetArgs { */ baseCapacity?: pulumi.Input; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -194,8 +184,6 @@ export interface FleetArgs { */ computeType?: pulumi.Input; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -212,14 +200,10 @@ export interface FleetArgs { */ fleetServiceRole?: pulumi.Input; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * Information about the VPC configuration that AWS CodeBuild accesses. */ fleetVpcConfig?: pulumi.Input; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * The Amazon Machine Image (AMI) of the compute fleet. */ imageId?: pulumi.Input; diff --git a/sdk/nodejs/codebuild/getFleet.ts b/sdk/nodejs/codebuild/getFleet.ts index 8271da32a0..11598e8493 100644 --- a/sdk/nodejs/codebuild/getFleet.ts +++ b/sdk/nodejs/codebuild/getFleet.ts @@ -34,8 +34,6 @@ export interface GetFleetResult { */ readonly baseCapacity?: number; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -60,8 +58,6 @@ export interface GetFleetResult { */ readonly computeType?: enums.codebuild.FleetComputeType; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -78,14 +74,10 @@ export interface GetFleetResult { */ readonly fleetServiceRole?: string; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * Information about the VPC configuration that AWS CodeBuild accesses. */ readonly fleetVpcConfig?: outputs.codebuild.FleetVpcConfig; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * The Amazon Machine Image (AMI) of the compute fleet. */ readonly imageId?: string; diff --git a/sdk/nodejs/cognito/getUserPool.ts b/sdk/nodejs/cognito/getUserPool.ts index d41ffa42d6..e387bb6c82 100644 --- a/sdk/nodejs/cognito/getUserPool.ts +++ b/sdk/nodejs/cognito/getUserPool.ts @@ -26,7 +26,7 @@ export interface GetUserPoolArgs { export interface GetUserPoolResult { /** - * Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + * The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. */ readonly accountRecoverySetting?: outputs.cognito.UserPoolAccountRecoverySetting; /** @@ -37,8 +37,6 @@ export interface GetUserPoolResult { readonly adminCreateUserConfig?: outputs.cognito.UserPoolAdminCreateUserConfig; /** * Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - * - * > This user pool property cannot be updated. */ readonly aliasAttributes?: string[]; /** @@ -70,11 +68,11 @@ export interface GetUserPoolResult { */ readonly emailConfiguration?: outputs.cognito.UserPoolEmailConfiguration; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ readonly emailVerificationMessage?: string; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ readonly emailVerificationSubject?: string; /** @@ -96,7 +94,7 @@ export interface GetUserPoolResult { */ readonly policies?: outputs.cognito.UserPoolPolicies; /** - * The provider name of the Amazon Cognito user pool, specified as a `String` . + * A friendly name for the IdP. */ readonly providerName?: string; /** @@ -104,13 +102,11 @@ export interface GetUserPoolResult { */ readonly providerUrl?: string; /** - * The schema attributes for the new user pool. These attributes can be standard or custom attributes. - * - * > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + * An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. */ readonly schema?: outputs.cognito.UserPoolSchemaAttribute[]; /** - * A string representing the SMS authentication message. + * The contents of the SMS authentication message. */ readonly smsAuthenticationMessage?: string; /** @@ -118,7 +114,7 @@ export interface GetUserPoolResult { */ readonly smsConfiguration?: outputs.cognito.UserPoolSmsConfiguration; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ readonly smsVerificationMessage?: string; /** @@ -146,13 +142,13 @@ export interface GetUserPoolResult { */ readonly userPoolTags?: {[key: string]: string}; /** - * Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - * - * This user pool property cannot be updated. + * Specifies whether a user can use an email address or phone number as a username when they sign up. */ readonly usernameAttributes?: string[]; /** - * You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + * Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + * + * This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . */ readonly usernameConfiguration?: outputs.cognito.UserPoolUsernameConfiguration; /** diff --git a/sdk/nodejs/cognito/getUserPoolClient.ts b/sdk/nodejs/cognito/getUserPoolClient.ts index 561c518f69..be344964b2 100644 --- a/sdk/nodejs/cognito/getUserPoolClient.ts +++ b/sdk/nodejs/cognito/getUserPoolClient.ts @@ -33,9 +33,13 @@ export interface GetUserPoolClientResult { /** * The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. * - * For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + * For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + * their access token for 10 hours. * - * The default time unit for `AccessTokenValidity` in an API request is hours. + * The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + * + * If you don't specify otherwise in the configuration of your app client, your access + * tokens are valid for one hour. */ readonly accessTokenValidity?: number; /** @@ -146,7 +150,10 @@ export interface GetUserPoolClientResult { * * For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. * - * The default time unit for `IdTokenValidity` in an API request is hours. + * The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + * + * If you don't specify otherwise in the configuration of your app client, your ID + * tokens are valid for one hour. */ readonly idTokenValidity?: number; /** @@ -155,7 +162,14 @@ export interface GetUserPoolClientResult { readonly logoutUrls?: string[]; readonly name?: string; /** - * Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + * Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + * + * Valid values include: + * + * - `ENABLED` - This prevents user existence-related errors. + * - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + * + * Defaults to `LEGACY` when you don't provide a value. */ readonly preventUserExistenceErrors?: string; /** @@ -167,9 +181,13 @@ export interface GetUserPoolClientResult { /** * The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. * - * For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + * For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + * and retrieve new access and ID tokens for 10 days. + * + * The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. * - * The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + * If you don't specify otherwise in the configuration of your app client, your refresh + * tokens are valid for 30 days. */ readonly refreshTokenValidity?: number; /** diff --git a/sdk/nodejs/cognito/getUserPoolResourceServer.ts b/sdk/nodejs/cognito/getUserPoolResourceServer.ts index 70d52984c8..c77b3b1e8c 100644 --- a/sdk/nodejs/cognito/getUserPoolResourceServer.ts +++ b/sdk/nodejs/cognito/getUserPoolResourceServer.ts @@ -20,7 +20,9 @@ export function getUserPoolResourceServer(args: GetUserPoolResourceServerArgs, o export interface GetUserPoolResourceServerArgs { /** - * A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + * A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + * + * Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. */ identifier: string; /** @@ -52,7 +54,9 @@ export function getUserPoolResourceServerOutput(args: GetUserPoolResourceServerO export interface GetUserPoolResourceServerOutputArgs { /** - * A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + * A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + * + * Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. */ identifier: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts b/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts index c51514b07e..e595826fb5 100644 --- a/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts +++ b/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts @@ -20,7 +20,7 @@ export function getUserPoolRiskConfigurationAttachment(args: GetUserPoolRiskConf export interface GetUserPoolRiskConfigurationAttachmentArgs { /** - * The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + * The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. */ clientId: string; /** @@ -56,7 +56,7 @@ export function getUserPoolRiskConfigurationAttachmentOutput(args: GetUserPoolRi export interface GetUserPoolRiskConfigurationAttachmentOutputArgs { /** - * The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + * The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. */ clientId: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/getUserPoolUiCustomizationAttachment.ts b/sdk/nodejs/cognito/getUserPoolUiCustomizationAttachment.ts index e57af2b0b6..e03270e8d5 100644 --- a/sdk/nodejs/cognito/getUserPoolUiCustomizationAttachment.ts +++ b/sdk/nodejs/cognito/getUserPoolUiCustomizationAttachment.ts @@ -17,7 +17,7 @@ export function getUserPoolUiCustomizationAttachment(args: GetUserPoolUiCustomiz export interface GetUserPoolUiCustomizationAttachmentArgs { /** - * The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + * The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. */ clientId: string; /** @@ -45,7 +45,7 @@ export function getUserPoolUiCustomizationAttachmentOutput(args: GetUserPoolUiCu export interface GetUserPoolUiCustomizationAttachmentOutputArgs { /** - * The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + * The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. */ clientId: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/userPool.ts b/sdk/nodejs/cognito/userPool.ts index 0808d51c8d..db0c517483 100644 --- a/sdk/nodejs/cognito/userPool.ts +++ b/sdk/nodejs/cognito/userPool.ts @@ -38,7 +38,7 @@ export class UserPool extends pulumi.CustomResource { } /** - * Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + * The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. */ public readonly accountRecoverySetting!: pulumi.Output; /** @@ -49,8 +49,6 @@ export class UserPool extends pulumi.CustomResource { public readonly adminCreateUserConfig!: pulumi.Output; /** * Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - * - * > This user pool property cannot be updated. */ public readonly aliasAttributes!: pulumi.Output; /** @@ -82,20 +80,21 @@ export class UserPool extends pulumi.CustomResource { */ public readonly emailConfiguration!: pulumi.Output; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ public readonly emailVerificationMessage!: pulumi.Output; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ public readonly emailVerificationSubject!: pulumi.Output; /** - * Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + * Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: * - * - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + * - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . * - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + * - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . * - * Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + * Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` */ public readonly enabledMfas!: pulumi.Output; /** @@ -117,7 +116,7 @@ export class UserPool extends pulumi.CustomResource { */ public readonly policies!: pulumi.Output; /** - * The provider name of the Amazon Cognito user pool, specified as a `String` . + * A friendly name for the IdP. */ public /*out*/ readonly providerName!: pulumi.Output; /** @@ -125,13 +124,11 @@ export class UserPool extends pulumi.CustomResource { */ public /*out*/ readonly providerUrl!: pulumi.Output; /** - * The schema attributes for the new user pool. These attributes can be standard or custom attributes. - * - * > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + * An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. */ public readonly schema!: pulumi.Output; /** - * A string representing the SMS authentication message. + * The contents of the SMS authentication message. */ public readonly smsAuthenticationMessage!: pulumi.Output; /** @@ -139,7 +136,7 @@ export class UserPool extends pulumi.CustomResource { */ public readonly smsConfiguration!: pulumi.Output; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ public readonly smsVerificationMessage!: pulumi.Output; /** @@ -167,13 +164,13 @@ export class UserPool extends pulumi.CustomResource { */ public readonly userPoolTags!: pulumi.Output<{[key: string]: string} | undefined>; /** - * Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - * - * This user pool property cannot be updated. + * Specifies whether a user can use an email address or phone number as a username when they sign up. */ public readonly usernameAttributes!: pulumi.Output; /** - * You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + * Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + * + * This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . */ public readonly usernameConfiguration!: pulumi.Output; /** @@ -266,7 +263,7 @@ export class UserPool extends pulumi.CustomResource { */ export interface UserPoolArgs { /** - * Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + * The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. */ accountRecoverySetting?: pulumi.Input; /** @@ -277,8 +274,6 @@ export interface UserPoolArgs { adminCreateUserConfig?: pulumi.Input; /** * Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - * - * > This user pool property cannot be updated. */ aliasAttributes?: pulumi.Input[]>; /** @@ -306,20 +301,21 @@ export interface UserPoolArgs { */ emailConfiguration?: pulumi.Input; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ emailVerificationMessage?: pulumi.Input; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ emailVerificationSubject?: pulumi.Input; /** - * Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + * Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: * - * - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + * - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . * - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + * - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . * - * Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + * Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` */ enabledMfas?: pulumi.Input[]>; /** @@ -341,13 +337,11 @@ export interface UserPoolArgs { */ policies?: pulumi.Input; /** - * The schema attributes for the new user pool. These attributes can be standard or custom attributes. - * - * > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + * An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. */ schema?: pulumi.Input[]>; /** - * A string representing the SMS authentication message. + * The contents of the SMS authentication message. */ smsAuthenticationMessage?: pulumi.Input; /** @@ -355,7 +349,7 @@ export interface UserPoolArgs { */ smsConfiguration?: pulumi.Input; /** - * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + * This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . */ smsVerificationMessage?: pulumi.Input; /** @@ -379,13 +373,13 @@ export interface UserPoolArgs { */ userPoolTags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - * - * This user pool property cannot be updated. + * Specifies whether a user can use an email address or phone number as a username when they sign up. */ usernameAttributes?: pulumi.Input[]>; /** - * You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + * Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + * + * This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . */ usernameConfiguration?: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/userPoolClient.ts b/sdk/nodejs/cognito/userPoolClient.ts index 8fa185b63f..6f1cd7a71b 100644 --- a/sdk/nodejs/cognito/userPoolClient.ts +++ b/sdk/nodejs/cognito/userPoolClient.ts @@ -40,9 +40,13 @@ export class UserPoolClient extends pulumi.CustomResource { /** * The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. * - * For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + * For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + * their access token for 10 hours. * - * The default time unit for `AccessTokenValidity` in an API request is hours. + * The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + * + * If you don't specify otherwise in the configuration of your app client, your access + * tokens are valid for one hour. */ public readonly accessTokenValidity!: pulumi.Output; /** @@ -157,7 +161,10 @@ export class UserPoolClient extends pulumi.CustomResource { * * For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. * - * The default time unit for `IdTokenValidity` in an API request is hours. + * The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + * + * If you don't specify otherwise in the configuration of your app client, your ID + * tokens are valid for one hour. */ public readonly idTokenValidity!: pulumi.Output; /** @@ -166,7 +173,14 @@ export class UserPoolClient extends pulumi.CustomResource { public readonly logoutUrls!: pulumi.Output; public /*out*/ readonly name!: pulumi.Output; /** - * Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + * Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + * + * Valid values include: + * + * - `ENABLED` - This prevents user existence-related errors. + * - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + * + * Defaults to `LEGACY` when you don't provide a value. */ public readonly preventUserExistenceErrors!: pulumi.Output; /** @@ -178,9 +192,13 @@ export class UserPoolClient extends pulumi.CustomResource { /** * The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. * - * For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + * For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + * and retrieve new access and ID tokens for 10 days. + * + * The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. * - * The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + * If you don't specify otherwise in the configuration of your app client, your refresh + * tokens are valid for 30 days. */ public readonly refreshTokenValidity!: pulumi.Output; /** @@ -284,9 +302,13 @@ export interface UserPoolClientArgs { /** * The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. * - * For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + * For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + * their access token for 10 hours. * - * The default time unit for `AccessTokenValidity` in an API request is hours. + * The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + * + * If you don't specify otherwise in the configuration of your app client, your access + * tokens are valid for one hour. */ accessTokenValidity?: pulumi.Input; /** @@ -396,7 +418,10 @@ export interface UserPoolClientArgs { * * For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. * - * The default time unit for `IdTokenValidity` in an API request is hours. + * The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + * + * If you don't specify otherwise in the configuration of your app client, your ID + * tokens are valid for one hour. */ idTokenValidity?: pulumi.Input; /** @@ -404,7 +429,14 @@ export interface UserPoolClientArgs { */ logoutUrls?: pulumi.Input[]>; /** - * Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + * Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + * + * Valid values include: + * + * - `ENABLED` - This prevents user existence-related errors. + * - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + * + * Defaults to `LEGACY` when you don't provide a value. */ preventUserExistenceErrors?: pulumi.Input; /** @@ -416,9 +448,13 @@ export interface UserPoolClientArgs { /** * The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. * - * For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + * For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + * and retrieve new access and ID tokens for 10 days. + * + * The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. * - * The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + * If you don't specify otherwise in the configuration of your app client, your refresh + * tokens are valid for 30 days. */ refreshTokenValidity?: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/userPoolDomain.ts b/sdk/nodejs/cognito/userPoolDomain.ts index 3797ac3560..d6fba96b84 100644 --- a/sdk/nodejs/cognito/userPoolDomain.ts +++ b/sdk/nodejs/cognito/userPoolDomain.ts @@ -50,13 +50,13 @@ export class UserPoolDomain extends pulumi.CustomResource { */ public readonly customDomainConfig!: pulumi.Output; /** - * The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + * The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . * * This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. */ public readonly domain!: pulumi.Output; /** - * The user pool ID for the user pool where you want to associate a user pool domain. + * The ID of the user pool that is associated with the custom domain whose certificate you're updating. */ public readonly userPoolId!: pulumi.Output; @@ -105,13 +105,13 @@ export interface UserPoolDomainArgs { */ customDomainConfig?: pulumi.Input; /** - * The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + * The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . * * This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. */ domain: pulumi.Input; /** - * The user pool ID for the user pool where you want to associate a user pool domain. + * The ID of the user pool that is associated with the custom domain whose certificate you're updating. */ userPoolId: pulumi.Input; } diff --git a/sdk/nodejs/cognito/userPoolResourceServer.ts b/sdk/nodejs/cognito/userPoolResourceServer.ts index b0106d836e..66b74c37da 100644 --- a/sdk/nodejs/cognito/userPoolResourceServer.ts +++ b/sdk/nodejs/cognito/userPoolResourceServer.ts @@ -38,7 +38,9 @@ export class UserPoolResourceServer extends pulumi.CustomResource { } /** - * A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + * A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + * + * Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. */ public readonly identifier!: pulumi.Output; /** @@ -93,7 +95,9 @@ export class UserPoolResourceServer extends pulumi.CustomResource { */ export interface UserPoolResourceServerArgs { /** - * A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + * A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + * + * Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. */ identifier: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts b/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts index 5119233b99..20b059f732 100644 --- a/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts +++ b/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts @@ -42,7 +42,7 @@ export class UserPoolRiskConfigurationAttachment extends pulumi.CustomResource { */ public readonly accountTakeoverRiskConfiguration!: pulumi.Output; /** - * The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + * The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. */ public readonly clientId!: pulumi.Output; /** @@ -103,7 +103,7 @@ export interface UserPoolRiskConfigurationAttachmentArgs { */ accountTakeoverRiskConfiguration?: pulumi.Input; /** - * The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + * The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. */ clientId: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/userPoolUiCustomizationAttachment.ts b/sdk/nodejs/cognito/userPoolUiCustomizationAttachment.ts index 8d676ffe19..55a8516ce5 100644 --- a/sdk/nodejs/cognito/userPoolUiCustomizationAttachment.ts +++ b/sdk/nodejs/cognito/userPoolUiCustomizationAttachment.ts @@ -35,7 +35,7 @@ export class UserPoolUiCustomizationAttachment extends pulumi.CustomResource { } /** - * The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + * The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. */ public readonly clientId!: pulumi.Output; /** @@ -84,7 +84,7 @@ export class UserPoolUiCustomizationAttachment extends pulumi.CustomResource { */ export interface UserPoolUiCustomizationAttachmentArgs { /** - * The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + * The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. */ clientId: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/userPoolUser.ts b/sdk/nodejs/cognito/userPoolUser.ts index 259d090b72..4199b707ec 100644 --- a/sdk/nodejs/cognito/userPoolUser.ts +++ b/sdk/nodejs/cognito/userPoolUser.ts @@ -68,7 +68,16 @@ export class UserPoolUser extends pulumi.CustomResource { */ public readonly messageAction!: pulumi.Output; /** - * An array of name-value pairs that contain user attributes and attribute values. + * An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + * + * For custom attributes, you must prepend the `custom:` prefix to the attribute name. + * + * To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + * + * In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + * + * - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + * - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. */ public readonly userAttributes!: pulumi.Output; /** @@ -166,7 +175,16 @@ export interface UserPoolUserArgs { */ messageAction?: pulumi.Input; /** - * An array of name-value pairs that contain user attributes and attribute values. + * An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + * + * For custom attributes, you must prepend the `custom:` prefix to the attribute name. + * + * To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + * + * In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + * + * - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + * - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. */ userAttributes?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/cognito/userPoolUserToGroupAttachment.ts b/sdk/nodejs/cognito/userPoolUserToGroupAttachment.ts index 8b4d685ce3..3ccd5130b1 100644 --- a/sdk/nodejs/cognito/userPoolUserToGroupAttachment.ts +++ b/sdk/nodejs/cognito/userPoolUserToGroupAttachment.ts @@ -42,6 +42,9 @@ export class UserPoolUserToGroupAttachment extends pulumi.CustomResource { * The user pool ID for the user pool. */ public readonly userPoolId!: pulumi.Output; + /** + * The user's username. + */ public readonly username!: pulumi.Output; /** @@ -91,5 +94,8 @@ export interface UserPoolUserToGroupAttachmentArgs { * The user pool ID for the user pool. */ userPoolId: pulumi.Input; + /** + * The user's username. + */ username: pulumi.Input; } diff --git a/sdk/nodejs/ecs/taskSet.ts b/sdk/nodejs/ecs/taskSet.ts index b811024dc7..b44b2079ce 100644 --- a/sdk/nodejs/ecs/taskSet.ts +++ b/sdk/nodejs/ecs/taskSet.ts @@ -41,6 +41,9 @@ export class TaskSet extends pulumi.CustomResource { * The ID of the task set. */ public /*out*/ readonly awsId!: pulumi.Output; + /** + * The capacity provider strategy that are associated with the task set. + */ public readonly capacityProviderStrategy!: pulumi.Output; /** * The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. @@ -156,6 +159,9 @@ export class TaskSet extends pulumi.CustomResource { * The set of arguments for constructing a TaskSet resource. */ export interface TaskSetArgs { + /** + * The capacity provider strategy that are associated with the task set. + */ capacityProviderStrategy?: pulumi.Input[]>; /** * The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. diff --git a/sdk/nodejs/gamelift/containerGroupDefinition.ts b/sdk/nodejs/gamelift/containerGroupDefinition.ts index cb997af178..ece01a5a6b 100644 --- a/sdk/nodejs/gamelift/containerGroupDefinition.ts +++ b/sdk/nodejs/gamelift/containerGroupDefinition.ts @@ -61,6 +61,22 @@ export class ContainerGroupDefinition extends pulumi.CustomResource { * Specifies whether the container group includes replica or daemon containers. */ public readonly schedulingStrategy!: pulumi.Output; + /** + * A specific ContainerGroupDefinition version to be updated + */ + public readonly sourceVersionNumber!: pulumi.Output; + /** + * A string indicating ContainerGroupDefinition status. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * A string indicating the reason for ContainerGroupDefinition status. + */ + public /*out*/ readonly statusReason!: pulumi.Output; + /** + * A collection of support container definitions that define the containers in this group. + */ + public readonly supportContainerDefinitions!: pulumi.Output; /** * An array of key-value pairs to apply to this resource. */ @@ -101,11 +117,15 @@ export class ContainerGroupDefinition extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["operatingSystem"] = args ? args.operatingSystem : undefined; resourceInputs["schedulingStrategy"] = args ? args.schedulingStrategy : undefined; + resourceInputs["sourceVersionNumber"] = args ? args.sourceVersionNumber : undefined; + resourceInputs["supportContainerDefinitions"] = args ? args.supportContainerDefinitions : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["totalCpuLimit"] = args ? args.totalCpuLimit : undefined; resourceInputs["totalMemoryLimit"] = args ? args.totalMemoryLimit : undefined; resourceInputs["containerGroupDefinitionArn"] = undefined /*out*/; resourceInputs["creationTime"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["statusReason"] = undefined /*out*/; } else { resourceInputs["containerDefinitions"] = undefined /*out*/; resourceInputs["containerGroupDefinitionArn"] = undefined /*out*/; @@ -113,6 +133,10 @@ export class ContainerGroupDefinition extends pulumi.CustomResource { resourceInputs["name"] = undefined /*out*/; resourceInputs["operatingSystem"] = undefined /*out*/; resourceInputs["schedulingStrategy"] = undefined /*out*/; + resourceInputs["sourceVersionNumber"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["statusReason"] = undefined /*out*/; + resourceInputs["supportContainerDefinitions"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["totalCpuLimit"] = undefined /*out*/; resourceInputs["totalMemoryLimit"] = undefined /*out*/; @@ -144,6 +168,14 @@ export interface ContainerGroupDefinitionArgs { * Specifies whether the container group includes replica or daemon containers. */ schedulingStrategy?: pulumi.Input; + /** + * A specific ContainerGroupDefinition version to be updated + */ + sourceVersionNumber?: pulumi.Input; + /** + * A collection of support container definitions that define the containers in this group. + */ + supportContainerDefinitions?: pulumi.Input; /** * An array of key-value pairs to apply to this resource. */ diff --git a/sdk/nodejs/gamelift/getContainerGroupDefinition.ts b/sdk/nodejs/gamelift/getContainerGroupDefinition.ts index b37e3a1dc6..3587989c71 100644 --- a/sdk/nodejs/gamelift/getContainerGroupDefinition.ts +++ b/sdk/nodejs/gamelift/getContainerGroupDefinition.ts @@ -33,6 +33,22 @@ export interface GetContainerGroupDefinitionResult { * A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). */ readonly creationTime?: string; + /** + * A specific ContainerGroupDefinition version to be updated + */ + readonly sourceVersionNumber?: number; + /** + * A string indicating ContainerGroupDefinition status. + */ + readonly status?: enums.gamelift.ContainerGroupDefinitionStatus; + /** + * A string indicating the reason for ContainerGroupDefinition status. + */ + readonly statusReason?: string; + /** + * A collection of support container definitions that define the containers in this group. + */ + readonly supportContainerDefinitions?: any[]; /** * An array of key-value pairs to apply to this resource. */ diff --git a/sdk/nodejs/glue/schema.ts b/sdk/nodejs/glue/schema.ts index fceb643201..fdaabf4029 100644 --- a/sdk/nodejs/glue/schema.ts +++ b/sdk/nodejs/glue/schema.ts @@ -72,7 +72,7 @@ export class Schema extends pulumi.CustomResource { /** * Definition for the initial schema version in plain-text. */ - public readonly schemaDefinition!: pulumi.Output; + public readonly schemaDefinition!: pulumi.Output; /** * List of tags to tag the schema */ @@ -95,9 +95,6 @@ export class Schema extends pulumi.CustomResource { if ((!args || args.dataFormat === undefined) && !opts.urn) { throw new Error("Missing required property 'dataFormat'"); } - if ((!args || args.schemaDefinition === undefined) && !opts.urn) { - throw new Error("Missing required property 'schemaDefinition'"); - } resourceInputs["checkpointVersion"] = args ? args.checkpointVersion : undefined; resourceInputs["compatibility"] = args ? args.compatibility : undefined; resourceInputs["dataFormat"] = args ? args.dataFormat : undefined; @@ -158,7 +155,7 @@ export interface SchemaArgs { /** * Definition for the initial schema version in plain-text. */ - schemaDefinition: pulumi.Input; + schemaDefinition?: pulumi.Input; /** * List of tags to tag the schema */ diff --git a/sdk/nodejs/lambda/eventSourceMapping.ts b/sdk/nodejs/lambda/eventSourceMapping.ts index 8bcc8d070a..b24904540b 100644 --- a/sdk/nodejs/lambda/eventSourceMapping.ts +++ b/sdk/nodejs/lambda/eventSourceMapping.ts @@ -172,8 +172,7 @@ export class EventSourceMapping extends pulumi.CustomResource { public readonly startingPositionTimestamp!: pulumi.Output; /** * A list of tags to add to the event source mapping. - * - * > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + * You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. */ public readonly tags!: pulumi.Output; /** @@ -385,8 +384,7 @@ export interface EventSourceMappingArgs { startingPositionTimestamp?: pulumi.Input; /** * A list of tags to add to the event source mapping. - * - * > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + * You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. */ tags?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/lambda/getEventSourceMapping.ts b/sdk/nodejs/lambda/getEventSourceMapping.ts index 995d39c6df..0c3823db4c 100644 --- a/sdk/nodejs/lambda/getEventSourceMapping.ts +++ b/sdk/nodejs/lambda/getEventSourceMapping.ts @@ -127,8 +127,7 @@ export interface GetEventSourceMappingResult { readonly sourceAccessConfigurations?: outputs.lambda.EventSourceMappingSourceAccessConfiguration[]; /** * A list of tags to add to the event source mapping. - * - * > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + * You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. */ readonly tags?: outputs.Tag[]; /** diff --git a/sdk/nodejs/lambda/getVersion.ts b/sdk/nodejs/lambda/getVersion.ts index 86fbdaed89..b4460c9c6d 100644 --- a/sdk/nodejs/lambda/getVersion.ts +++ b/sdk/nodejs/lambda/getVersion.ts @@ -26,12 +26,6 @@ export interface GetVersionResult { * The ARN of the version. */ readonly functionArn?: string; - /** - * The resource policy of your function - * - * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - */ - readonly policy?: any; /** * The version number. */ diff --git a/sdk/nodejs/lambda/version.ts b/sdk/nodejs/lambda/version.ts index 49c4b746d3..3113e06fa7 100644 --- a/sdk/nodejs/lambda/version.ts +++ b/sdk/nodejs/lambda/version.ts @@ -53,12 +53,6 @@ export class Version extends pulumi.CustomResource { * The name of the Lambda function. */ public readonly functionName!: pulumi.Output; - /** - * The resource policy of your function - * - * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - */ - public readonly policy!: pulumi.Output; /** * Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. */ @@ -89,7 +83,6 @@ export class Version extends pulumi.CustomResource { resourceInputs["codeSha256"] = args ? args.codeSha256 : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["functionName"] = args ? args.functionName : undefined; - resourceInputs["policy"] = args ? args.policy : undefined; resourceInputs["provisionedConcurrencyConfig"] = args ? args.provisionedConcurrencyConfig : undefined; resourceInputs["runtimePolicy"] = args ? args.runtimePolicy : undefined; resourceInputs["functionArn"] = undefined /*out*/; @@ -99,7 +92,6 @@ export class Version extends pulumi.CustomResource { resourceInputs["description"] = undefined /*out*/; resourceInputs["functionArn"] = undefined /*out*/; resourceInputs["functionName"] = undefined /*out*/; - resourceInputs["policy"] = undefined /*out*/; resourceInputs["provisionedConcurrencyConfig"] = undefined /*out*/; resourceInputs["runtimePolicy"] = undefined /*out*/; resourceInputs["version"] = undefined /*out*/; @@ -127,12 +119,6 @@ export interface VersionArgs { * The name of the Lambda function. */ functionName: pulumi.Input; - /** - * The resource policy of your function - * - * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - */ - policy?: any; /** * Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. */ diff --git a/sdk/nodejs/organizations/policy.ts b/sdk/nodejs/organizations/policy.ts index f4cb679fc5..8a8c914573 100644 --- a/sdk/nodejs/organizations/policy.ts +++ b/sdk/nodejs/organizations/policy.ts @@ -72,7 +72,7 @@ export class Policy extends pulumi.CustomResource { */ public readonly targetIds!: pulumi.Output; /** - * The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + * The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY */ public readonly type!: pulumi.Output; @@ -147,7 +147,7 @@ export interface PolicyArgs { */ targetIds?: pulumi.Input[]>; /** - * The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + * The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY */ type: pulumi.Input; } diff --git a/sdk/nodejs/qbusiness/dataSource.ts b/sdk/nodejs/qbusiness/dataSource.ts index 72b16a1aee..563af6aabb 100644 --- a/sdk/nodejs/qbusiness/dataSource.ts +++ b/sdk/nodejs/qbusiness/dataSource.ts @@ -42,12 +42,17 @@ export class DataSource extends pulumi.CustomResource { */ public readonly applicationId!: pulumi.Output; /** - * Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + * Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + * + * Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + * + * - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + * - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) * * You can find configuration templates for your specific data source using the following steps: * - * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - * - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + * - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. */ @@ -186,12 +191,17 @@ export interface DataSourceArgs { */ applicationId: pulumi.Input; /** - * Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + * Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + * + * Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + * + * - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + * - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) * * You can find configuration templates for your specific data source using the following steps: * - * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - * - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + * - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. */ diff --git a/sdk/nodejs/qbusiness/getDataSource.ts b/sdk/nodejs/qbusiness/getDataSource.ts index 71fb5711a9..49dfd35535 100644 --- a/sdk/nodejs/qbusiness/getDataSource.ts +++ b/sdk/nodejs/qbusiness/getDataSource.ts @@ -36,12 +36,17 @@ export interface GetDataSourceArgs { export interface GetDataSourceResult { /** - * Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + * Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + * + * Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + * + * - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + * - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) * * You can find configuration templates for your specific data source using the following steps: * - * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - * - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + * - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + * - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. */ diff --git a/sdk/nodejs/qbusiness/getWebExperience.ts b/sdk/nodejs/qbusiness/getWebExperience.ts index 76bac98517..4e31788aef 100644 --- a/sdk/nodejs/qbusiness/getWebExperience.ts +++ b/sdk/nodejs/qbusiness/getWebExperience.ts @@ -42,6 +42,7 @@ export interface GetWebExperienceResult { * Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. */ readonly identityProviderConfiguration?: outputs.qbusiness.WebExperienceIdentityProviderConfiguration0Properties | outputs.qbusiness.WebExperienceIdentityProviderConfiguration1Properties; + readonly origins?: string[]; /** * The Amazon Resource Name (ARN) of the service role attached to your web experience. * diff --git a/sdk/nodejs/qbusiness/webExperience.ts b/sdk/nodejs/qbusiness/webExperience.ts index c666f05bf7..150f011e92 100644 --- a/sdk/nodejs/qbusiness/webExperience.ts +++ b/sdk/nodejs/qbusiness/webExperience.ts @@ -53,6 +53,7 @@ export class WebExperience extends pulumi.CustomResource { * Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. */ public readonly identityProviderConfiguration!: pulumi.Output; + public readonly origins!: pulumi.Output; /** * The Amazon Resource Name (ARN) of the service role attached to your web experience. * @@ -112,6 +113,7 @@ export class WebExperience extends pulumi.CustomResource { } resourceInputs["applicationId"] = args ? args.applicationId : undefined; resourceInputs["identityProviderConfiguration"] = args ? args.identityProviderConfiguration : undefined; + resourceInputs["origins"] = args ? args.origins : undefined; resourceInputs["roleArn"] = args ? args.roleArn : undefined; resourceInputs["samplePromptsControlMode"] = args ? args.samplePromptsControlMode : undefined; resourceInputs["subtitle"] = args ? args.subtitle : undefined; @@ -129,6 +131,7 @@ export class WebExperience extends pulumi.CustomResource { resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["defaultEndpoint"] = undefined /*out*/; resourceInputs["identityProviderConfiguration"] = undefined /*out*/; + resourceInputs["origins"] = undefined /*out*/; resourceInputs["roleArn"] = undefined /*out*/; resourceInputs["samplePromptsControlMode"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; @@ -159,6 +162,7 @@ export interface WebExperienceArgs { * Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience. */ identityProviderConfiguration?: pulumi.Input; + origins?: pulumi.Input[]>; /** * The Amazon Resource Name (ARN) of the service role attached to your web experience. * diff --git a/sdk/nodejs/quicksight/analysis.ts b/sdk/nodejs/quicksight/analysis.ts index 00f85971b8..a4337db638 100644 --- a/sdk/nodejs/quicksight/analysis.ts +++ b/sdk/nodejs/quicksight/analysis.ts @@ -62,6 +62,7 @@ export class Analysis extends pulumi.CustomResource { *

Errors associated with the analysis.

*/ public readonly errors!: pulumi.Output; + public readonly folderArns!: pulumi.Output; /** *

The time that the analysis was last updated.

*/ @@ -128,6 +129,7 @@ export class Analysis extends pulumi.CustomResource { resourceInputs["awsAccountId"] = args ? args.awsAccountId : undefined; resourceInputs["definition"] = args ? args.definition : undefined; resourceInputs["errors"] = args ? args.errors : undefined; + resourceInputs["folderArns"] = args ? args.folderArns : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["parameters"] = args ? args.parameters : undefined; resourceInputs["permissions"] = args ? args.permissions : undefined; @@ -149,6 +151,7 @@ export class Analysis extends pulumi.CustomResource { resourceInputs["dataSetArns"] = undefined /*out*/; resourceInputs["definition"] = undefined /*out*/; resourceInputs["errors"] = undefined /*out*/; + resourceInputs["folderArns"] = undefined /*out*/; resourceInputs["lastUpdatedTime"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["parameters"] = undefined /*out*/; @@ -184,6 +187,7 @@ export interface AnalysisArgs { *

Errors associated with the analysis.

*/ errors?: pulumi.Input[]>; + folderArns?: pulumi.Input[]>; /** *

The descriptive name of the analysis.

*/ diff --git a/sdk/nodejs/quicksight/dashboard.ts b/sdk/nodejs/quicksight/dashboard.ts index 03d49306b5..5d69a53d0f 100644 --- a/sdk/nodejs/quicksight/dashboard.ts +++ b/sdk/nodejs/quicksight/dashboard.ts @@ -62,6 +62,7 @@ export class Dashboard extends pulumi.CustomResource { */ public readonly dashboardPublishOptions!: pulumi.Output; public readonly definition!: pulumi.Output; + public readonly folderArns!: pulumi.Output; /** *

The last time that this dashboard was published.

*/ @@ -137,6 +138,7 @@ export class Dashboard extends pulumi.CustomResource { resourceInputs["dashboardId"] = args ? args.dashboardId : undefined; resourceInputs["dashboardPublishOptions"] = args ? args.dashboardPublishOptions : undefined; resourceInputs["definition"] = args ? args.definition : undefined; + resourceInputs["folderArns"] = args ? args.folderArns : undefined; resourceInputs["linkEntities"] = args ? args.linkEntities : undefined; resourceInputs["linkSharingConfiguration"] = args ? args.linkSharingConfiguration : undefined; resourceInputs["name"] = args ? args.name : undefined; @@ -159,6 +161,7 @@ export class Dashboard extends pulumi.CustomResource { resourceInputs["dashboardId"] = undefined /*out*/; resourceInputs["dashboardPublishOptions"] = undefined /*out*/; resourceInputs["definition"] = undefined /*out*/; + resourceInputs["folderArns"] = undefined /*out*/; resourceInputs["lastPublishedTime"] = undefined /*out*/; resourceInputs["lastUpdatedTime"] = undefined /*out*/; resourceInputs["linkEntities"] = undefined /*out*/; @@ -201,6 +204,7 @@ export interface DashboardArgs { */ dashboardPublishOptions?: pulumi.Input; definition?: pulumi.Input; + folderArns?: pulumi.Input[]>; /** * A list of analysis Amazon Resource Names (ARNs) to be linked to the dashboard. */ diff --git a/sdk/nodejs/quicksight/dataSource.ts b/sdk/nodejs/quicksight/dataSource.ts index 14bd2b42ce..1ca87db131 100644 --- a/sdk/nodejs/quicksight/dataSource.ts +++ b/sdk/nodejs/quicksight/dataSource.ts @@ -77,6 +77,7 @@ export class DataSource extends pulumi.CustomResource { * Error information from the last update or the creation of the data source. */ public readonly errorInfo!: pulumi.Output; + public readonly folderArns!: pulumi.Output; /** *

The last time that this data source was updated.

*/ @@ -132,6 +133,7 @@ export class DataSource extends pulumi.CustomResource { resourceInputs["dataSourceId"] = args ? args.dataSourceId : undefined; resourceInputs["dataSourceParameters"] = args ? args.dataSourceParameters : undefined; resourceInputs["errorInfo"] = args ? args.errorInfo : undefined; + resourceInputs["folderArns"] = args ? args.folderArns : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["permissions"] = args ? args.permissions : undefined; resourceInputs["sslProperties"] = args ? args.sslProperties : undefined; @@ -151,6 +153,7 @@ export class DataSource extends pulumi.CustomResource { resourceInputs["dataSourceId"] = undefined /*out*/; resourceInputs["dataSourceParameters"] = undefined /*out*/; resourceInputs["errorInfo"] = undefined /*out*/; + resourceInputs["folderArns"] = undefined /*out*/; resourceInputs["lastUpdatedTime"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["permissions"] = undefined /*out*/; @@ -203,6 +206,7 @@ export interface DataSourceArgs { * Error information from the last update or the creation of the data source. */ errorInfo?: pulumi.Input; + folderArns?: pulumi.Input[]>; /** * A display name for the data source. */ diff --git a/sdk/nodejs/quicksight/folder.ts b/sdk/nodejs/quicksight/folder.ts index b6d0595c08..3fc501f650 100644 --- a/sdk/nodejs/quicksight/folder.ts +++ b/sdk/nodejs/quicksight/folder.ts @@ -41,6 +41,9 @@ export class Folder extends pulumi.CustomResource { *

The Amazon Resource Name (ARN) for the folder.

*/ public /*out*/ readonly arn!: pulumi.Output; + /** + * The ID for the AWS account where you want to create the folder. + */ public readonly awsAccountId!: pulumi.Output; /** *

The time that the folder was created.

@@ -63,9 +66,14 @@ export class Folder extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + * The Amazon Resource Name (ARN) for the folder. */ public readonly parentFolderArn!: pulumi.Output; + /** + * A structure that describes the principals and the resource-level permissions of a folder. + * + * To specify no permissions, omit `Permissions` . + */ public readonly permissions!: pulumi.Output; /** * The sharing scope of the folder. @@ -122,6 +130,9 @@ export class Folder extends pulumi.CustomResource { * The set of arguments for constructing a Folder resource. */ export interface FolderArgs { + /** + * The ID for the AWS account where you want to create the folder. + */ awsAccountId?: pulumi.Input; /** * The ID of the folder. @@ -136,9 +147,14 @@ export interface FolderArgs { */ name?: pulumi.Input; /** - * A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + * The Amazon Resource Name (ARN) for the folder. */ parentFolderArn?: pulumi.Input; + /** + * A structure that describes the principals and the resource-level permissions of a folder. + * + * To specify no permissions, omit `Permissions` . + */ permissions?: pulumi.Input[]>; /** * The sharing scope of the folder. diff --git a/sdk/nodejs/quicksight/getFolder.ts b/sdk/nodejs/quicksight/getFolder.ts index bbdb56982c..1ebc2a8ee0 100644 --- a/sdk/nodejs/quicksight/getFolder.ts +++ b/sdk/nodejs/quicksight/getFolder.ts @@ -19,6 +19,9 @@ export function getFolder(args: GetFolderArgs, opts?: pulumi.InvokeOptions): Pro } export interface GetFolderArgs { + /** + * The ID for the AWS account where you want to create the folder. + */ awsAccountId: string; /** * The ID of the folder. @@ -43,6 +46,11 @@ export interface GetFolderResult { * A display name for the folder. */ readonly name?: string; + /** + * A structure that describes the principals and the resource-level permissions of a folder. + * + * To specify no permissions, omit `Permissions` . + */ readonly permissions?: outputs.quicksight.FolderResourcePermission[]; /** * A list of tags for the folders that you want to apply overrides to. @@ -61,6 +69,9 @@ export function getFolderOutput(args: GetFolderOutputArgs, opts?: pulumi.InvokeO } export interface GetFolderOutputArgs { + /** + * The ID for the AWS account where you want to create the folder. + */ awsAccountId: pulumi.Input; /** * The ID of the folder. diff --git a/sdk/nodejs/rds/dbInstance.ts b/sdk/nodejs/rds/dbInstance.ts index cb8bded796..7156f08430 100644 --- a/sdk/nodejs/rds/dbInstance.ts +++ b/sdk/nodejs/rds/dbInstance.ts @@ -308,16 +308,13 @@ export class DbInstance extends pulumi.CustomResource { * + ``CharacterSetName`` * + ``DBClusterIdentifier`` * + ``DBName`` - * + ``DeleteAutomatedBackups`` * + ``KmsKeyId`` * + ``MasterUsername`` * + ``MasterUserPassword`` - * + ``PerformanceInsightsKMSKeyId`` - * + ``PerformanceInsightsRetentionPeriod`` * + ``PromotionTier`` * + ``SourceDBInstanceIdentifier`` * + ``SourceRegion`` - * + ``StorageEncrypted`` (for an encrypted snapshot) + * + ``StorageEncrypted`` (for an unencrypted snapshot) * + ``Timezone`` * * *Amazon Aurora* @@ -1259,16 +1256,13 @@ export interface DbInstanceArgs { * + ``CharacterSetName`` * + ``DBClusterIdentifier`` * + ``DBName`` - * + ``DeleteAutomatedBackups`` * + ``KmsKeyId`` * + ``MasterUsername`` * + ``MasterUserPassword`` - * + ``PerformanceInsightsKMSKeyId`` - * + ``PerformanceInsightsRetentionPeriod`` * + ``PromotionTier`` * + ``SourceDBInstanceIdentifier`` * + ``SourceRegion`` - * + ``StorageEncrypted`` (for an encrypted snapshot) + * + ``StorageEncrypted`` (for an unencrypted snapshot) * + ``Timezone`` * * *Amazon Aurora* diff --git a/sdk/nodejs/rds/getDbSubnetGroup.ts b/sdk/nodejs/rds/getDbSubnetGroup.ts index 1f0ca26576..933cae1c2d 100644 --- a/sdk/nodejs/rds/getDbSubnetGroup.ts +++ b/sdk/nodejs/rds/getDbSubnetGroup.ts @@ -36,6 +36,10 @@ export interface GetDbSubnetGroupResult { * The description for the DB subnet group. */ readonly dbSubnetGroupDescription?: string; + /** + * The EC2 Subnet IDs for the DB subnet group. + */ + readonly subnetIds?: string[]; /** * Tags to assign to the DB subnet group. */ diff --git a/sdk/nodejs/sagemaker/getImageVersion.ts b/sdk/nodejs/sagemaker/getImageVersion.ts index cd29aa792e..acddb3b440 100644 --- a/sdk/nodejs/sagemaker/getImageVersion.ts +++ b/sdk/nodejs/sagemaker/getImageVersion.ts @@ -57,7 +57,7 @@ export interface GetImageVersionResult { readonly releaseNotes?: string; readonly vendorGuidance?: enums.sagemaker.ImageVersionVendorGuidance; /** - * The version number. + * The version of the image. */ readonly version?: number; } diff --git a/sdk/nodejs/sagemaker/imageVersion.ts b/sdk/nodejs/sagemaker/imageVersion.ts index 626f3ed4d7..f472c19ded 100644 --- a/sdk/nodejs/sagemaker/imageVersion.ts +++ b/sdk/nodejs/sagemaker/imageVersion.ts @@ -77,7 +77,7 @@ export class ImageVersion extends pulumi.CustomResource { public readonly releaseNotes!: pulumi.Output; public readonly vendorGuidance!: pulumi.Output; /** - * The version number. + * The version of the image. */ public /*out*/ readonly version!: pulumi.Output; diff --git a/sdk/nodejs/sqs/getQueue.ts b/sdk/nodejs/sqs/getQueue.ts index cb7f192ac6..8c5ae9b2bf 100644 --- a/sdk/nodejs/sqs/getQueue.ts +++ b/sdk/nodejs/sqs/getQueue.ts @@ -16,7 +16,7 @@ import * as utilities from "../utilities"; * + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. * + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. * - * For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + * For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. */ export function getQueue(args: GetQueueArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -61,11 +61,11 @@ export interface GetQueueResult { */ readonly kmsDataKeyReusePeriodSeconds?: number; /** - * The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + * The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: * + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* * + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* * + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - * + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + * + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* */ readonly kmsMasterKeyId?: string; /** @@ -86,20 +86,20 @@ export interface GetQueueResult { readonly receiveMessageWaitTimeSeconds?: number; /** * The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - * + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - * + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - * + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - * + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + * + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + * + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + * + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + * + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. * - * + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + * + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. */ readonly redriveAllowPolicy?: any; /** * The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - * + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - * + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + * + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + * + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. * * The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. * *JSON* @@ -135,7 +135,7 @@ export interface GetQueueResult { * + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. * + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. * - * For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + * For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. */ export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/sqs/queue.ts b/sdk/nodejs/sqs/queue.ts index 4dd29b2dee..8721ded4ec 100644 --- a/sdk/nodejs/sqs/queue.ts +++ b/sdk/nodejs/sqs/queue.ts @@ -16,7 +16,7 @@ import * as utilities from "../utilities"; * + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. * + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. * - * For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + * For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. * * ## Example Usage * ### Example @@ -167,7 +167,7 @@ export class Queue extends pulumi.CustomResource { */ public readonly delaySeconds!: pulumi.Output; /** - * If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + * If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. */ public readonly fifoQueue!: pulumi.Output; /** @@ -181,11 +181,11 @@ export class Queue extends pulumi.CustomResource { */ public readonly kmsDataKeyReusePeriodSeconds!: pulumi.Output; /** - * The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + * The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: * + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* * + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* * + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - * + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + * + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* */ public readonly kmsMasterKeyId!: pulumi.Output; /** @@ -197,7 +197,7 @@ export class Queue extends pulumi.CustomResource { */ public readonly messageRetentionPeriod!: pulumi.Output; /** - * A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + * A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. * If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. * If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. */ @@ -212,20 +212,20 @@ export class Queue extends pulumi.CustomResource { public readonly receiveMessageWaitTimeSeconds!: pulumi.Output; /** * The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - * + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - * + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - * + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - * + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + * + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + * + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + * + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + * + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. * - * + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + * + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. */ public readonly redriveAllowPolicy!: pulumi.Output; /** * The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - * + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - * + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + * + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + * + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. * * The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. * *JSON* @@ -326,7 +326,7 @@ export interface QueueArgs { */ delaySeconds?: pulumi.Input; /** - * If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + * If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. */ fifoQueue?: pulumi.Input; /** @@ -340,11 +340,11 @@ export interface QueueArgs { */ kmsDataKeyReusePeriodSeconds?: pulumi.Input; /** - * The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + * The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: * + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* * + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* * + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - * + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + * + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* */ kmsMasterKeyId?: pulumi.Input; /** @@ -356,7 +356,7 @@ export interface QueueArgs { */ messageRetentionPeriod?: pulumi.Input; /** - * A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + * A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. * If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. * If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. */ @@ -367,20 +367,20 @@ export interface QueueArgs { receiveMessageWaitTimeSeconds?: pulumi.Input; /** * The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - * + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - * + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - * + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - * + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + * + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + * + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + * + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + * + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. * - * + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + * + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. */ redriveAllowPolicy?: any; /** * The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - * + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - * + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + * + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + * + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. * * The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. * *JSON* diff --git a/sdk/nodejs/transfer/getServer.ts b/sdk/nodejs/transfer/getServer.ts new file mode 100644 index 0000000000..7ba953054b --- /dev/null +++ b/sdk/nodejs/transfer/getServer.ts @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Transfer::Server Resource Type + */ +export function getServer(args: GetServerArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:transfer:getServer", { + "arn": args.arn, + }, opts); +} + +export interface GetServerArgs { + /** + * The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + * + * An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + */ + arn: string; +} + +export interface GetServerResult { + /** + * The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + * + * An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + */ + readonly arn?: string; + /** + * The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + */ + readonly as2ServiceManagedEgressIpAddresses?: string[]; + /** + * The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + * + * To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + * + * To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + * + * To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + * + * Certificates with the following cryptographic algorithms and key sizes are supported: + * + * - 2048-bit RSA (RSA_2048) + * - 4096-bit RSA (RSA_4096) + * - Elliptic Prime Curve 256 bit (EC_prime256v1) + * - Elliptic Prime Curve 384 bit (EC_secp384r1) + * - Elliptic Prime Curve 521 bit (EC_secp521r1) + * + * > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + */ + readonly certificate?: string; + /** + * The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + */ + readonly endpointDetails?: outputs.transfer.ServerEndpointDetails; + /** + * The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + * + * > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + * > + * > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + * > + * > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + */ + readonly endpointType?: enums.transfer.ServerEndpointType; + /** + * Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + */ + readonly identityProviderDetails?: outputs.transfer.ServerIdentityProviderDetails; + /** + * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + */ + readonly loggingRole?: string; + /** + * Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + * + * > The SFTP protocol does not support post-authentication display banners. + */ + readonly postAuthenticationLoginBanner?: string; + /** + * Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + * + * `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + */ + readonly preAuthenticationLoginBanner?: string; + /** + * The protocol settings that are configured for your server. + * + * - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + * - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + * - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + * - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + * + * The `Protocols` parameter is an array of strings. + * + * *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + */ + readonly protocolDetails?: outputs.transfer.ServerProtocolDetails; + /** + * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + * + * - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + * - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + * - `FTP` (File Transfer Protocol): Unencrypted file transfer + * - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + * + * > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + * > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + * > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + * > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + * > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + * + * The `Protocols` parameter is an array of strings. + * + * *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + */ + readonly protocols?: enums.transfer.ServerProtocol[]; + /** + * Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + * + * By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + */ + readonly s3StorageOptions?: outputs.transfer.ServerS3StorageOptions; + /** + * Specifies the name of the security policy for the server. + */ + readonly securityPolicyName?: string; + /** + * The service-assigned ID of the server that is created. + * + * An example `ServerId` is `s-01234567890abcdef` . + */ + readonly serverId?: string; + /** + * Specifies the log groups to which your server logs are sent. + * + * To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + * + * `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + * + * For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + * + * If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + * + * `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + */ + readonly structuredLogDestinations?: string[]; + /** + * Key-value pairs that can be used to group and search for servers. + */ + readonly tags?: outputs.Tag[]; + /** + * Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + * + * In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + */ + readonly workflowDetails?: outputs.transfer.ServerWorkflowDetails; +} +/** + * Definition of AWS::Transfer::Server Resource Type + */ +export function getServerOutput(args: GetServerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:transfer:getServer", { + "arn": args.arn, + }, opts); +} + +export interface GetServerOutputArgs { + /** + * The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + * + * An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + */ + arn: pulumi.Input; +} diff --git a/sdk/nodejs/transfer/index.ts b/sdk/nodejs/transfer/index.ts index e18ef26de1..10ae2c4696 100644 --- a/sdk/nodejs/transfer/index.ts +++ b/sdk/nodejs/transfer/index.ts @@ -40,6 +40,11 @@ export const getProfile: typeof import("./getProfile").getProfile = null as any; export const getProfileOutput: typeof import("./getProfile").getProfileOutput = null as any; utilities.lazyLoad(exports, ["getProfile","getProfileOutput"], () => require("./getProfile")); +export { GetServerArgs, GetServerResult, GetServerOutputArgs } from "./getServer"; +export const getServer: typeof import("./getServer").getServer = null as any; +export const getServerOutput: typeof import("./getServer").getServerOutput = null as any; +utilities.lazyLoad(exports, ["getServer","getServerOutput"], () => require("./getServer")); + export { GetWorkflowArgs, GetWorkflowResult, GetWorkflowOutputArgs } from "./getWorkflow"; export const getWorkflow: typeof import("./getWorkflow").getWorkflow = null as any; export const getWorkflowOutput: typeof import("./getWorkflow").getWorkflowOutput = null as any; @@ -50,6 +55,11 @@ export type Profile = import("./profile").Profile; export const Profile: typeof import("./profile").Profile = null as any; utilities.lazyLoad(exports, ["Profile"], () => require("./profile")); +export { ServerArgs } from "./server"; +export type Server = import("./server").Server; +export const Server: typeof import("./server").Server = null as any; +utilities.lazyLoad(exports, ["Server"], () => require("./server")); + export { WorkflowArgs } from "./workflow"; export type Workflow = import("./workflow").Workflow; export const Workflow: typeof import("./workflow").Workflow = null as any; @@ -71,6 +81,8 @@ const _module = { return new Connector(name, undefined, { urn }) case "aws-native:transfer:Profile": return new Profile(name, undefined, { urn }) + case "aws-native:transfer:Server": + return new Server(name, undefined, { urn }) case "aws-native:transfer:Workflow": return new Workflow(name, undefined, { urn }) default: diff --git a/sdk/nodejs/transfer/server.ts b/sdk/nodejs/transfer/server.ts new file mode 100644 index 0000000000..72ef348995 --- /dev/null +++ b/sdk/nodejs/transfer/server.ts @@ -0,0 +1,579 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Transfer::Server Resource Type + * + * ## Example Usage + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const myTransferServer = new aws_native.transfer.Server("myTransferServer", { + * endpointDetails: { + * addressAllocationIds: [ + * "AddressAllocationId-1", + * "AddressAllocationId-2", + * ], + * subnetIds: [ + * "SubnetId-1", + * "SubnetId-2", + * ], + * vpcId: "VpcId", + * }, + * endpointType: aws_native.transfer.ServerEndpointType.Vpc, + * loggingRole: "Logging-Role-ARN", + * protocols: [aws_native.transfer.ServerProtocol.Sftp], + * securityPolicyName: "Security-Policy-Name", + * identityProviderDetails: { + * invocationRole: "Invocation-Role-ARN", + * url: "API_GATEWAY-Invocation-URL", + * }, + * identityProviderType: aws_native.transfer.ServerIdentityProviderType.ApiGateway, + * tags: [{ + * key: "KeyName", + * value: "ValueName", + * }], + * }); + * + * ``` + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const myTransferServer = new aws_native.transfer.Server("myTransferServer", { + * endpointDetails: { + * addressAllocationIds: [ + * "AddressAllocationId-1", + * "AddressAllocationId-2", + * ], + * subnetIds: [ + * "SubnetId-1", + * "SubnetId-2", + * ], + * vpcId: "VpcId", + * }, + * endpointType: aws_native.transfer.ServerEndpointType.Vpc, + * loggingRole: "Logging-Role-ARN", + * protocols: [aws_native.transfer.ServerProtocol.Sftp], + * securityPolicyName: "Security-Policy-Name", + * identityProviderDetails: { + * invocationRole: "Invocation-Role-ARN", + * url: "API_GATEWAY-Invocation-URL", + * }, + * identityProviderType: aws_native.transfer.ServerIdentityProviderType.ApiGateway, + * tags: [{ + * key: "KeyName", + * value: "ValueName", + * }], + * }); + * + * ``` + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const transferWorkflow = new aws_native.transfer.Workflow("transferWorkflow", { + * description: "Transfer Family Workflows Blog", + * steps: [ + * { + * type: aws_native.transfer.WorkflowStepType.Copy, + * copyStepDetails: { + * name: "copyToUserKey", + * destinationFileLocation: { + * s3FileLocation: { + * bucket: "archived-records", + * key: "${transfer:UserName}/", + * }, + * }, + * overwriteExisting: aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True, + * }, + * }, + * { + * type: aws_native.transfer.WorkflowStepType.Tag, + * tagStepDetails: { + * name: "tagFileForArchive", + * tags: [{ + * key: "Archive", + * value: "yes", + * }], + * }, + * }, + * { + * type: aws_native.transfer.WorkflowStepType.Custom, + * customStepDetails: { + * name: "transferExtract", + * target: "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + * timeoutSeconds: 60, + * }, + * }, + * { + * type: aws_native.transfer.WorkflowStepType.Delete, + * deleteStepDetails: { + * name: "DeleteInputFile", + * sourceFileLocation: "${original.file}", + * }, + * }, + * ], + * tags: [{ + * key: "Name", + * value: "TransferFamilyWorkflows", + * }], + * }); + * const sftpServer = new aws_native.transfer.Server("sftpServer", {workflowDetails: { + * onUpload: [{ + * executionRole: "your-workflow-execution-role-arn", + * workflowId: transferWorkflow.workflowId, + * }], + * }}); + * + * ``` + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const transferWorkflow = new aws_native.transfer.Workflow("transferWorkflow", { + * description: "Transfer Family Workflows Blog", + * steps: [ + * { + * type: aws_native.transfer.WorkflowStepType.Copy, + * copyStepDetails: { + * name: "copyToUserKey", + * destinationFileLocation: { + * s3FileLocation: { + * bucket: "archived-records", + * key: "${transfer:UserName}/", + * }, + * }, + * overwriteExisting: aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.True, + * }, + * }, + * { + * type: aws_native.transfer.WorkflowStepType.Tag, + * tagStepDetails: { + * name: "tagFileForArchive", + * tags: [{ + * key: "Archive", + * value: "yes", + * }], + * }, + * }, + * { + * type: aws_native.transfer.WorkflowStepType.Custom, + * customStepDetails: { + * name: "transferExtract", + * target: "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + * timeoutSeconds: 60, + * }, + * }, + * { + * type: aws_native.transfer.WorkflowStepType.Delete, + * deleteStepDetails: { + * name: "DeleteInputFile", + * sourceFileLocation: "${original.file}", + * }, + * }, + * ], + * tags: [{ + * key: "Name", + * value: "TransferFamilyWorkflows", + * }], + * }); + * const sftpServer = new aws_native.transfer.Server("sftpServer", {workflowDetails: { + * onUpload: [{ + * executionRole: "your-workflow-execution-role-arn", + * workflowId: transferWorkflow.workflowId, + * }], + * }}); + * + * ``` + */ +export class Server extends pulumi.CustomResource { + /** + * Get an existing Server 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Server { + return new Server(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:transfer:Server'; + + /** + * Returns true if the given object is an instance of Server. 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 Server { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Server.__pulumiType; + } + + /** + * The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + * + * An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + */ + public /*out*/ readonly as2ServiceManagedEgressIpAddresses!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + * + * To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + * + * To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + * + * To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + * + * Certificates with the following cryptographic algorithms and key sizes are supported: + * + * - 2048-bit RSA (RSA_2048) + * - 4096-bit RSA (RSA_4096) + * - Elliptic Prime Curve 256 bit (EC_prime256v1) + * - Elliptic Prime Curve 384 bit (EC_secp384r1) + * - Elliptic Prime Curve 521 bit (EC_secp521r1) + * + * > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + */ + public readonly certificate!: pulumi.Output; + /** + * Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + */ + public readonly domain!: pulumi.Output; + /** + * The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + */ + public readonly endpointDetails!: pulumi.Output; + /** + * The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + * + * > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + * > + * > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + * > + * > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + */ + public readonly endpointType!: pulumi.Output; + /** + * Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + */ + public readonly identityProviderDetails!: pulumi.Output; + /** + * The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + * + * Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + * + * Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + * + * Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + */ + public readonly identityProviderType!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + */ + public readonly loggingRole!: pulumi.Output; + /** + * Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + * + * > The SFTP protocol does not support post-authentication display banners. + */ + public readonly postAuthenticationLoginBanner!: pulumi.Output; + /** + * Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + * + * `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + */ + public readonly preAuthenticationLoginBanner!: pulumi.Output; + /** + * The protocol settings that are configured for your server. + * + * - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + * - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + * - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + * - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + * + * The `Protocols` parameter is an array of strings. + * + * *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + */ + public readonly protocolDetails!: pulumi.Output; + /** + * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + * + * - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + * - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + * - `FTP` (File Transfer Protocol): Unencrypted file transfer + * - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + * + * > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + * > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + * > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + * > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + * > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + * + * The `Protocols` parameter is an array of strings. + * + * *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + */ + public readonly protocols!: pulumi.Output; + /** + * Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + * + * By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + */ + public readonly s3StorageOptions!: pulumi.Output; + /** + * Specifies the name of the security policy for the server. + */ + public readonly securityPolicyName!: pulumi.Output; + /** + * The service-assigned ID of the server that is created. + * + * An example `ServerId` is `s-01234567890abcdef` . + */ + public /*out*/ readonly serverId!: pulumi.Output; + /** + * Specifies the log groups to which your server logs are sent. + * + * To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + * + * `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + * + * For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + * + * If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + * + * `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + */ + public readonly structuredLogDestinations!: pulumi.Output; + /** + * Key-value pairs that can be used to group and search for servers. + */ + public readonly tags!: pulumi.Output; + /** + * Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + * + * In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + */ + public readonly workflowDetails!: pulumi.Output; + + /** + * Create a Server 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?: ServerArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["certificate"] = args ? args.certificate : undefined; + resourceInputs["domain"] = args ? args.domain : undefined; + resourceInputs["endpointDetails"] = args ? args.endpointDetails : undefined; + resourceInputs["endpointType"] = args ? args.endpointType : undefined; + resourceInputs["identityProviderDetails"] = args ? args.identityProviderDetails : undefined; + resourceInputs["identityProviderType"] = args ? args.identityProviderType : undefined; + resourceInputs["loggingRole"] = args ? args.loggingRole : undefined; + resourceInputs["postAuthenticationLoginBanner"] = args ? args.postAuthenticationLoginBanner : undefined; + resourceInputs["preAuthenticationLoginBanner"] = args ? args.preAuthenticationLoginBanner : undefined; + resourceInputs["protocolDetails"] = args ? args.protocolDetails : undefined; + resourceInputs["protocols"] = args ? args.protocols : undefined; + resourceInputs["s3StorageOptions"] = args ? args.s3StorageOptions : undefined; + resourceInputs["securityPolicyName"] = args ? args.securityPolicyName : undefined; + resourceInputs["structuredLogDestinations"] = args ? args.structuredLogDestinations : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["workflowDetails"] = args ? args.workflowDetails : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["as2ServiceManagedEgressIpAddresses"] = undefined /*out*/; + resourceInputs["serverId"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["as2ServiceManagedEgressIpAddresses"] = undefined /*out*/; + resourceInputs["certificate"] = undefined /*out*/; + resourceInputs["domain"] = undefined /*out*/; + resourceInputs["endpointDetails"] = undefined /*out*/; + resourceInputs["endpointType"] = undefined /*out*/; + resourceInputs["identityProviderDetails"] = undefined /*out*/; + resourceInputs["identityProviderType"] = undefined /*out*/; + resourceInputs["loggingRole"] = undefined /*out*/; + resourceInputs["postAuthenticationLoginBanner"] = undefined /*out*/; + resourceInputs["preAuthenticationLoginBanner"] = undefined /*out*/; + resourceInputs["protocolDetails"] = undefined /*out*/; + resourceInputs["protocols"] = undefined /*out*/; + resourceInputs["s3StorageOptions"] = undefined /*out*/; + resourceInputs["securityPolicyName"] = undefined /*out*/; + resourceInputs["serverId"] = undefined /*out*/; + resourceInputs["structuredLogDestinations"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["workflowDetails"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["domain", "identityProviderType"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Server.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Server resource. + */ +export interface ServerArgs { + /** + * The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + * + * To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + * + * To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + * + * To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + * + * Certificates with the following cryptographic algorithms and key sizes are supported: + * + * - 2048-bit RSA (RSA_2048) + * - 4096-bit RSA (RSA_4096) + * - Elliptic Prime Curve 256 bit (EC_prime256v1) + * - Elliptic Prime Curve 384 bit (EC_secp384r1) + * - Elliptic Prime Curve 521 bit (EC_secp521r1) + * + * > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + */ + certificate?: pulumi.Input; + /** + * Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + */ + domain?: pulumi.Input; + /** + * The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + */ + endpointDetails?: pulumi.Input; + /** + * The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + * + * > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + * > + * > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + * > + * > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + */ + endpointType?: pulumi.Input; + /** + * Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + */ + identityProviderDetails?: pulumi.Input; + /** + * The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + * + * Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + * + * Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + * + * Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + */ + identityProviderType?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + */ + loggingRole?: pulumi.Input; + /** + * Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + * + * > The SFTP protocol does not support post-authentication display banners. + */ + postAuthenticationLoginBanner?: pulumi.Input; + /** + * Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + * + * `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + */ + preAuthenticationLoginBanner?: pulumi.Input; + /** + * The protocol settings that are configured for your server. + * + * - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + * - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + * - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + * - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + * + * The `Protocols` parameter is an array of strings. + * + * *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + */ + protocolDetails?: pulumi.Input; + /** + * Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + * + * - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + * - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + * - `FTP` (File Transfer Protocol): Unencrypted file transfer + * - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + * + * > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + * > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + * > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + * > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + * > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + * + * The `Protocols` parameter is an array of strings. + * + * *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + */ + protocols?: pulumi.Input[]>; + /** + * Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + * + * By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + */ + s3StorageOptions?: pulumi.Input; + /** + * Specifies the name of the security policy for the server. + */ + securityPolicyName?: pulumi.Input; + /** + * Specifies the log groups to which your server logs are sent. + * + * To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + * + * `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + * + * For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + * + * If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + * + * `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + */ + structuredLogDestinations?: pulumi.Input[]>; + /** + * Key-value pairs that can be used to group and search for servers. + */ + tags?: pulumi.Input[]>; + /** + * Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + * + * In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + */ + workflowDetails?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 72680978a1..c8ba346fb9 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -167,9 +167,11 @@ "appstream/getImageBuilder.ts", "appstream/imageBuilder.ts", "appstream/index.ts", + "appsync/dataSource.ts", "appsync/domainName.ts", "appsync/domainNameApiAssociation.ts", "appsync/functionConfiguration.ts", + "appsync/getDataSource.ts", "appsync/getDomainName.ts", "appsync/getDomainNameApiAssociation.ts", "appsync/getFunctionConfiguration.ts", @@ -2224,9 +2226,11 @@ "transfer/getCertificate.ts", "transfer/getConnector.ts", "transfer/getProfile.ts", + "transfer/getServer.ts", "transfer/getWorkflow.ts", "transfer/index.ts", "transfer/profile.ts", + "transfer/server.ts", "transfer/workflow.ts", "types/enums/amplify/index.ts", "types/enums/amplifyuibuilder/index.ts", @@ -2443,8 +2447,10 @@ "wafv2/ruleGroup.ts", "wafv2/webAcl.ts", "wafv2/webAclAssociation.ts", + "wisdom/aiPrompt.ts", "wisdom/assistant.ts", "wisdom/assistantAssociation.ts", + "wisdom/getAiPrompt.ts", "wisdom/getAssistant.ts", "wisdom/getAssistantAssociation.ts", "wisdom/getKnowledgeBase.ts", diff --git a/sdk/nodejs/types/enums/appsync/index.ts b/sdk/nodejs/types/enums/appsync/index.ts index d08588d72e..0f1545b2d5 100644 --- a/sdk/nodejs/types/enums/appsync/index.ts +++ b/sdk/nodejs/types/enums/appsync/index.ts @@ -2,6 +2,18 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const DataSourceMetricsConfig = { + Disabled: "DISABLED", + Enabled: "ENABLED", +} as const; + +/** + * Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + * + * `MetricsConfig` can be `ENABLED` or `DISABLED` . + */ +export type DataSourceMetricsConfig = (typeof DataSourceMetricsConfig)[keyof typeof DataSourceMetricsConfig]; + export const ResolverMetricsConfig = { Enabled: "ENABLED", Disabled: "DISABLED", diff --git a/sdk/nodejs/types/enums/codebuild/index.ts b/sdk/nodejs/types/enums/codebuild/index.ts index 2ba9fe155e..005ad01dc2 100644 --- a/sdk/nodejs/types/enums/codebuild/index.ts +++ b/sdk/nodejs/types/enums/codebuild/index.ts @@ -11,8 +11,6 @@ export const FleetComputeType = { } as const; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -47,8 +45,6 @@ export const FleetEnvironmentType = { } as const; /** - * > Updating this field is not allowed for `MAC_ARM` . - * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/nodejs/types/enums/codepipeline/index.ts b/sdk/nodejs/types/enums/codepipeline/index.ts index aeff180cc4..122bf44e0e 100644 --- a/sdk/nodejs/types/enums/codepipeline/index.ts +++ b/sdk/nodejs/types/enums/codepipeline/index.ts @@ -9,6 +9,7 @@ export const PipelineActionTypeIdCategory = { Deploy: "Deploy", Invoke: "Invoke", Approval: "Approval", + Compute: "Compute", } as const; /** diff --git a/sdk/nodejs/types/enums/ec2/index.ts b/sdk/nodejs/types/enums/ec2/index.ts index 98c1c9c4ac..b4760dc26c 100644 --- a/sdk/nodejs/types/enums/ec2/index.ts +++ b/sdk/nodejs/types/enums/ec2/index.ts @@ -817,6 +817,11 @@ export const VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat = { Text: "text", } as const; +/** + * Set log format. Default format is `json` . + * + * Valid values: `json` | `text` + */ export type VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat = (typeof VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat)[keyof typeof VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat]; export const VpnConnectionIkeVersionsRequestListValueValue = { @@ -824,6 +829,9 @@ export const VpnConnectionIkeVersionsRequestListValueValue = { Ikev2: "ikev2", } as const; +/** + * The IKE version. + */ export type VpnConnectionIkeVersionsRequestListValueValue = (typeof VpnConnectionIkeVersionsRequestListValueValue)[keyof typeof VpnConnectionIkeVersionsRequestListValueValue]; export const VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue = { @@ -833,6 +841,9 @@ export const VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue = { Aes256Gcm16: "AES256-GCM-16", } as const; +/** + * The value for the encryption algorithm. + */ export type VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue = (typeof VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue)[keyof typeof VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue]; export const VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue = { @@ -842,6 +853,9 @@ export const VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue = { Sha2512: "SHA2-512", } as const; +/** + * The value for the integrity algorithm. + */ export type VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue = (typeof VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue)[keyof typeof VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue]; export const VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue = { @@ -851,6 +865,9 @@ export const VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue = { Aes256Gcm16: "AES256-GCM-16", } as const; +/** + * The encryption algorithm. + */ export type VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue = (typeof VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue)[keyof typeof VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue]; export const VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue = { @@ -860,6 +877,9 @@ export const VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue = { Sha2512: "SHA2-512", } as const; +/** + * The integrity algorithm. + */ export type VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue = (typeof VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue)[keyof typeof VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue]; export const VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction = { @@ -868,6 +888,13 @@ export const VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction = { Restart: "restart", } as const; +/** + * The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + * + * Valid Values: `clear` | `none` | `restart` + * + * Default: `clear` + */ export type VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction = (typeof VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction)[keyof typeof VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction]; export const VpnConnectionVpnTunnelOptionsSpecificationStartupAction = { @@ -875,4 +902,11 @@ export const VpnConnectionVpnTunnelOptionsSpecificationStartupAction = { Start: "start", } as const; +/** + * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + * + * Valid Values: `add` | `start` + * + * Default: `add` + */ export type VpnConnectionVpnTunnelOptionsSpecificationStartupAction = (typeof VpnConnectionVpnTunnelOptionsSpecificationStartupAction)[keyof typeof VpnConnectionVpnTunnelOptionsSpecificationStartupAction]; diff --git a/sdk/nodejs/types/enums/gamelift/index.ts b/sdk/nodejs/types/enums/gamelift/index.ts index d9ec702d55..1bd7bfe8ed 100644 --- a/sdk/nodejs/types/enums/gamelift/index.ts +++ b/sdk/nodejs/types/enums/gamelift/index.ts @@ -66,6 +66,17 @@ export const ContainerGroupDefinitionSchedulingStrategy = { */ export type ContainerGroupDefinitionSchedulingStrategy = (typeof ContainerGroupDefinitionSchedulingStrategy)[keyof typeof ContainerGroupDefinitionSchedulingStrategy]; +export const ContainerGroupDefinitionStatus = { + Ready: "READY", + Copying: "COPYING", + Failed: "FAILED", +} as const; + +/** + * A string indicating ContainerGroupDefinition status. + */ +export type ContainerGroupDefinitionStatus = (typeof ContainerGroupDefinitionStatus)[keyof typeof ContainerGroupDefinitionStatus]; + export const FleetApplyCapacity = { OnUpdate: "ON_UPDATE", OnCreateAndUpdate: "ON_CREATE_AND_UPDATE", diff --git a/sdk/nodejs/types/enums/organizations/index.ts b/sdk/nodejs/types/enums/organizations/index.ts index df4779c6fa..4844f9e1e6 100644 --- a/sdk/nodejs/types/enums/organizations/index.ts +++ b/sdk/nodejs/types/enums/organizations/index.ts @@ -38,9 +38,10 @@ export const PolicyType = { AiservicesOptOutPolicy: "AISERVICES_OPT_OUT_POLICY", BackupPolicy: "BACKUP_POLICY", TagPolicy: "TAG_POLICY", + ChatbotPolicy: "CHATBOT_POLICY", } as const; /** - * The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + * The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY */ export type PolicyType = (typeof PolicyType)[keyof typeof PolicyType]; diff --git a/sdk/nodejs/types/enums/quicksight/index.ts b/sdk/nodejs/types/enums/quicksight/index.ts index 17428e4f56..0f3e7a9745 100644 --- a/sdk/nodejs/types/enums/quicksight/index.ts +++ b/sdk/nodejs/types/enums/quicksight/index.ts @@ -2149,6 +2149,7 @@ export const DataSourceType = { Presto: "PRESTO", Redshift: "REDSHIFT", S3: "S3", + S3Tables: "S3_TABLES", Salesforce: "SALESFORCE", Servicenow: "SERVICENOW", Snowflake: "SNOWFLAKE", diff --git a/sdk/nodejs/types/enums/transfer/index.ts b/sdk/nodejs/types/enums/transfer/index.ts index 9c177401b2..f7592dfd65 100644 --- a/sdk/nodejs/types/enums/transfer/index.ts +++ b/sdk/nodejs/types/enums/transfer/index.ts @@ -114,6 +114,79 @@ export const ProfileType = { */ export type ProfileType = (typeof ProfileType)[keyof typeof ProfileType]; +export const ServerAs2Transport = { + Http: "HTTP", +} as const; + +export type ServerAs2Transport = (typeof ServerAs2Transport)[keyof typeof ServerAs2Transport]; + +export const ServerDirectoryListingOptimization = { + Enabled: "ENABLED", + Disabled: "DISABLED", +} as const; + +/** + * Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility. + */ +export type ServerDirectoryListingOptimization = (typeof ServerDirectoryListingOptimization)[keyof typeof ServerDirectoryListingOptimization]; + +export const ServerDomain = { + S3: "S3", + Efs: "EFS", +} as const; + +export type ServerDomain = (typeof ServerDomain)[keyof typeof ServerDomain]; + +export const ServerEndpointType = { + Public: "PUBLIC", + Vpc: "VPC", + VpcEndpoint: "VPC_ENDPOINT", +} as const; + +export type ServerEndpointType = (typeof ServerEndpointType)[keyof typeof ServerEndpointType]; + +export const ServerIdentityProviderType = { + ServiceManaged: "SERVICE_MANAGED", + ApiGateway: "API_GATEWAY", + AwsDirectoryService: "AWS_DIRECTORY_SERVICE", + AwsLambda: "AWS_LAMBDA", +} as const; + +export type ServerIdentityProviderType = (typeof ServerIdentityProviderType)[keyof typeof ServerIdentityProviderType]; + +export const ServerProtocol = { + Sftp: "SFTP", + Ftp: "FTP", + Ftps: "FTPS", + As2: "AS2", +} as const; + +export type ServerProtocol = (typeof ServerProtocol)[keyof typeof ServerProtocol]; + +export const ServerSetStatOption = { + Default: "DEFAULT", + EnableNoOp: "ENABLE_NO_OP", +} as const; + +export type ServerSetStatOption = (typeof ServerSetStatOption)[keyof typeof ServerSetStatOption]; + +export const ServerSftpAuthenticationMethods = { + Password: "PASSWORD", + PublicKey: "PUBLIC_KEY", + PublicKeyOrPassword: "PUBLIC_KEY_OR_PASSWORD", + PublicKeyAndPassword: "PUBLIC_KEY_AND_PASSWORD", +} as const; + +export type ServerSftpAuthenticationMethods = (typeof ServerSftpAuthenticationMethods)[keyof typeof ServerSftpAuthenticationMethods]; + +export const ServerTlsSessionResumptionMode = { + Disabled: "DISABLED", + Enabled: "ENABLED", + Enforced: "ENFORCED", +} as const; + +export type ServerTlsSessionResumptionMode = (typeof ServerTlsSessionResumptionMode)[keyof typeof ServerTlsSessionResumptionMode]; + export const WorkflowStepCopyStepDetailsPropertiesOverwriteExisting = { True: "TRUE", False: "FALSE", diff --git a/sdk/nodejs/types/enums/wisdom/index.ts b/sdk/nodejs/types/enums/wisdom/index.ts index 3fd9e33ae8..00d08717f4 100644 --- a/sdk/nodejs/types/enums/wisdom/index.ts +++ b/sdk/nodejs/types/enums/wisdom/index.ts @@ -2,6 +2,27 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const AiPromptAiPromptApiFormat = { + AnthropicClaudeMessages: "ANTHROPIC_CLAUDE_MESSAGES", + AnthropicClaudeTextCompletions: "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS", +} as const; + +export type AiPromptAiPromptApiFormat = (typeof AiPromptAiPromptApiFormat)[keyof typeof AiPromptAiPromptApiFormat]; + +export const AiPromptAiPromptTemplateType = { + Text: "TEXT", +} as const; + +export type AiPromptAiPromptTemplateType = (typeof AiPromptAiPromptTemplateType)[keyof typeof AiPromptAiPromptTemplateType]; + +export const AiPromptAiPromptType = { + AnswerGeneration: "ANSWER_GENERATION", + IntentLabelingGeneration: "INTENT_LABELING_GENERATION", + QueryReformulation: "QUERY_REFORMULATION", +} as const; + +export type AiPromptAiPromptType = (typeof AiPromptAiPromptType)[keyof typeof AiPromptAiPromptType]; + export const AssistantAssociationAssociationType = { KnowledgeBase: "KNOWLEDGE_BASE", } as const; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 0595a01de9..4902d205b5 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -3604,6 +3604,9 @@ export namespace appflow { * SAP Source connector page size */ export interface FlowSapoDataPaginationConfigArgs { + /** + * The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. + */ maxPageSize: pulumi.Input; } @@ -3611,6 +3614,9 @@ export namespace appflow { * SAP Source connector parallelism factor */ export interface FlowSapoDataParallelismConfigArgs { + /** + * The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. + */ maxParallelism: pulumi.Input; } @@ -3619,7 +3625,13 @@ export namespace appflow { * The object path specified in the SAPOData flow source. */ objectPath: pulumi.Input; + /** + * Sets the page size for each concurrent process that transfers OData records from your SAP instance. + */ paginationConfig?: pulumi.Input; + /** + * Sets the number of concurrent processes that transfers OData records from your SAP instance. + */ parallelismConfig?: pulumi.Input; } @@ -5431,6 +5443,147 @@ export namespace appstream { } export namespace appsync { + export interface DataSourceAuthorizationConfigArgs { + /** + * The authorization type that the HTTP endpoint requires. + */ + authorizationType: pulumi.Input; + /** + * The AWS Identity and Access Management settings. + */ + awsIamConfig?: pulumi.Input; + } + + export interface DataSourceAwsIamConfigArgs { + /** + * The signing Region for AWS Identity and Access Management authorization. + */ + signingRegion?: pulumi.Input; + /** + * The signing service name for AWS Identity and Access Management authorization. + */ + signingServiceName?: pulumi.Input; + } + + export interface DataSourceDeltaSyncConfigArgs { + /** + * The number of minutes that an Item is stored in the data source. + */ + baseTableTtl: pulumi.Input; + /** + * The Delta Sync table name. + */ + deltaSyncTableName: pulumi.Input; + /** + * The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + */ + deltaSyncTableTtl: pulumi.Input; + } + + export interface DataSourceDynamoDbConfigArgs { + /** + * The AWS Region. + */ + awsRegion: pulumi.Input; + /** + * The DeltaSyncConfig for a versioned datasource. + */ + deltaSyncConfig?: pulumi.Input; + /** + * The table name. + */ + tableName: pulumi.Input; + /** + * Set to TRUE to use AWS Identity and Access Management with this data source. + */ + useCallerCredentials?: pulumi.Input; + /** + * Set to TRUE to use Conflict Detection and Resolution with this data source. + */ + versioned?: pulumi.Input; + } + + export interface DataSourceElasticsearchConfigArgs { + /** + * The AWS Region. + */ + awsRegion: pulumi.Input; + /** + * The endpoint. + */ + endpoint: pulumi.Input; + } + + export interface DataSourceEventBridgeConfigArgs { + /** + * ARN for the EventBridge bus. + */ + eventBusArn: pulumi.Input; + } + + export interface DataSourceHttpConfigArgs { + /** + * The authorization configuration. + */ + authorizationConfig?: pulumi.Input; + /** + * The endpoint. + */ + endpoint: pulumi.Input; + } + + export interface DataSourceLambdaConfigArgs { + /** + * The ARN for the Lambda function. + */ + lambdaFunctionArn: pulumi.Input; + } + + export interface DataSourceOpenSearchServiceConfigArgs { + /** + * The AWS Region. + */ + awsRegion: pulumi.Input; + /** + * The endpoint. + */ + endpoint: pulumi.Input; + } + + export interface DataSourceRdsHttpEndpointConfigArgs { + /** + * AWS Region for RDS HTTP endpoint. + */ + awsRegion: pulumi.Input; + /** + * The ARN for database credentials stored in AWS Secrets Manager. + */ + awsSecretStoreArn: pulumi.Input; + /** + * Logical database name. + */ + databaseName?: pulumi.Input; + /** + * Amazon RDS cluster Amazon Resource Name (ARN). + */ + dbClusterIdentifier: pulumi.Input; + /** + * Logical schema name. + */ + schema?: pulumi.Input; + } + + export interface DataSourceRelationalDatabaseConfigArgs { + /** + * Information about the Amazon RDS resource. + */ + rdsHttpEndpointConfig?: pulumi.Input; + /** + * The type of relational data source. + */ + relationalDatabaseSourceType: pulumi.Input; + } + /** * Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. */ @@ -13765,6 +13918,10 @@ export namespace codepipeline { * Specifies the action type and the provider of the action. */ actionTypeId: pulumi.Input; + /** + * The shell commands to run with your compute action in CodePipeline. + */ + commands?: pulumi.Input[]>; /** * The action's configuration. These are key-value pairs that specify input values for an action. */ @@ -13787,6 +13944,10 @@ export namespace codepipeline { * The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . */ outputArtifacts?: pulumi.Input[]>; + /** + * The list of variables that are to be exported from the compute action. + */ + outputVariables?: pulumi.Input[]>; /** * The action declaration's AWS Region, such as us-east-1. */ @@ -14037,6 +14198,10 @@ export namespace codepipeline { * Represents information about the output of an action. */ export interface PipelineOutputArtifactArgs { + /** + * The files that you want to associate with the output artifact that will be exported from the compute action. + */ + files?: pulumi.Input[]>; /** * The name of the output of an artifact, such as "My App". */ @@ -14288,7 +14453,7 @@ export namespace cognito { export interface UserPoolAccountRecoverySettingArgs { /** - * The list of `RecoveryOptionTypes` . + * The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. */ recoveryMechanisms?: pulumi.Input[]>; } @@ -14307,7 +14472,7 @@ export namespace cognito { */ allowAdminCreateUserOnly?: pulumi.Input; /** - * The message template to be used for the welcome message to new users. + * The template for the welcome message to new users. * * See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . */ @@ -14328,7 +14493,7 @@ export namespace cognito { export interface UserPoolClientAnalyticsConfigurationArgs { /** - * The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + * The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications */ applicationArn?: pulumi.Input; /** @@ -14366,22 +14531,26 @@ export namespace cognito { export interface UserPoolCustomEmailSenderArgs { /** - * The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + * The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. */ lambdaArn?: pulumi.Input; /** - * The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + * The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + * + * You must use a `LambdaVersion` of `V1_0` with a custom sender function. */ lambdaVersion?: pulumi.Input; } export interface UserPoolCustomSmsSenderArgs { /** - * The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + * The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. */ lambdaArn?: pulumi.Input; /** - * The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + * The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + * + * You must use a `LambdaVersion` of `V1_0` with a custom sender function. */ lambdaVersion?: pulumi.Input; } @@ -14410,10 +14579,10 @@ export namespace cognito { export interface UserPoolEmailConfigurationArgs { /** - * The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + * The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: * - * - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - * - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + * - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + * - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. */ configurationSet?: pulumi.Input; /** @@ -14432,7 +14601,7 @@ export namespace cognito { */ emailSendingAccount?: pulumi.Input; /** - * Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + * Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. */ from?: pulumi.Input; /** @@ -14471,7 +14640,7 @@ export namespace cognito { */ createAuthChallenge?: pulumi.Input; /** - * A custom email sender AWS Lambda trigger. + * The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. */ customEmailSender?: pulumi.Input; /** @@ -14479,7 +14648,7 @@ export namespace cognito { */ customMessage?: pulumi.Input; /** - * A custom SMS sender AWS Lambda trigger. + * The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. */ customSmsSender?: pulumi.Input; /** @@ -14487,7 +14656,7 @@ export namespace cognito { */ defineAuthChallenge?: pulumi.Input; /** - * The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + * The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. */ kmsKeyId?: pulumi.Input; /** @@ -14594,11 +14763,11 @@ export namespace cognito { export interface UserPoolRecoveryOptionArgs { /** - * Specifies the recovery method for a user. + * The recovery method that this object sets a recovery option for. */ name?: pulumi.Input; /** - * A positive integer specifying priority of a method with 1 being the highest priority. + * Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . */ priority?: pulumi.Input; } @@ -14733,9 +14902,9 @@ export namespace cognito { */ attributeDataType?: pulumi.Input; /** - * > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + * > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . * - * Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + * Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. */ developerOnlyAttribute?: pulumi.Input; /** @@ -14764,7 +14933,9 @@ export namespace cognito { export interface UserPoolSmsConfigurationArgs { /** - * The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + * The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + * + * For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . */ externalId?: pulumi.Input; /** @@ -23352,40 +23523,77 @@ export namespace ec2 { } export interface VpnConnectionCloudwatchLogOptionsSpecificationArgs { + /** + * Enable or disable VPN tunnel logging feature. Default value is `False` . + * + * Valid values: `True` | `False` + */ logEnabled?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + */ logGroupArn?: pulumi.Input; + /** + * Set log format. Default format is `json` . + * + * Valid values: `json` | `text` + */ logOutputFormat?: pulumi.Input; } export interface VpnConnectionIkeVersionsRequestListValueArgs { + /** + * The IKE version. + */ value?: pulumi.Input; } export interface VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs { + /** + * The value for the encryption algorithm. + */ value?: pulumi.Input; } export interface VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs { + /** + * The value for the integrity algorithm. + */ value?: pulumi.Input; } export interface VpnConnectionPhase1dhGroupNumbersRequestListValueArgs { + /** + * The Diffie-Hellmann group number. + */ value?: pulumi.Input; } export interface VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs { + /** + * The encryption algorithm. + */ value?: pulumi.Input; } export interface VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs { + /** + * The integrity algorithm. + */ value?: pulumi.Input; } export interface VpnConnectionPhase2dhGroupNumbersRequestListValueArgs { + /** + * The Diffie-Hellmann group number. + */ value?: pulumi.Input; } export interface VpnConnectionVpnTunnelLogOptionsSpecificationArgs { + /** + * Options for sending VPN tunnel logs to CloudWatch. + */ cloudwatchLogOptions?: pulumi.Input; } @@ -23393,27 +23601,124 @@ export namespace ec2 { * The tunnel options for a single VPN tunnel. */ export interface VpnConnectionVpnTunnelOptionsSpecificationArgs { + /** + * The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + * + * Valid Values: `clear` | `none` | `restart` + * + * Default: `clear` + */ dpdTimeoutAction?: pulumi.Input; + /** + * The number of seconds after which a DPD timeout occurs. + * + * Constraints: A value greater than or equal to 30. + * + * Default: `30` + */ dpdTimeoutSeconds?: pulumi.Input; + /** + * Turn on or off tunnel endpoint lifecycle control feature. + */ enableTunnelLifecycleControl?: pulumi.Input; + /** + * The IKE versions that are permitted for the VPN tunnel. + * + * Valid values: `ikev1` | `ikev2` + */ ikeVersions?: pulumi.Input[]>; + /** + * Options for logging VPN tunnel activity. + */ logOptions?: pulumi.Input; + /** + * One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + * + * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + */ phase1EncryptionAlgorithms?: pulumi.Input[]>; + /** + * One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + * + * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + */ phase1IntegrityAlgorithms?: pulumi.Input[]>; + /** + * The lifetime for phase 1 of the IKE negotiation, in seconds. + * + * Constraints: A value between 900 and 28,800. + * + * Default: `28800` + */ phase1LifetimeSeconds?: pulumi.Input; + /** + * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + * + * Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + */ phase1dhGroupNumbers?: pulumi.Input[]>; + /** + * One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + * + * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + */ phase2EncryptionAlgorithms?: pulumi.Input[]>; + /** + * One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + * + * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + */ phase2IntegrityAlgorithms?: pulumi.Input[]>; + /** + * The lifetime for phase 2 of the IKE negotiation, in seconds. + * + * Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + * + * Default: `3600` + */ phase2LifetimeSeconds?: pulumi.Input; + /** + * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + * + * Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + */ phase2dhGroupNumbers?: pulumi.Input[]>; /** * The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. * Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). */ preSharedKey?: pulumi.Input; + /** + * The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + * + * Constraints: A value between 0 and 100. + * + * Default: `100` + */ rekeyFuzzPercentage?: pulumi.Input; + /** + * The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + * + * Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + * + * Default: `270` + */ rekeyMarginTimeSeconds?: pulumi.Input; + /** + * The number of packets in an IKE replay window. + * + * Constraints: A value between 64 and 2048. + * + * Default: `1024` + */ replayWindowSize?: pulumi.Input; + /** + * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + * + * Valid Values: `add` | `start` + * + * Default: `add` + */ startupAction?: pulumi.Input; /** * The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. @@ -23427,6 +23732,11 @@ export namespace ec2 { * + ``169.254.169.252/30`` */ tunnelInsideCidr?: pulumi.Input; + /** + * The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + * + * Constraints: A size /126 CIDR block from the local `fd00::/8` range. + */ tunnelInsideIpv6Cidr?: pulumi.Input; } @@ -25266,8 +25576,21 @@ export namespace ecs { } export interface TaskSetCapacityProviderStrategyItemArgs { + /** + * The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + */ base?: pulumi.Input; + /** + * The short name of the capacity provider. + */ capacityProvider?: pulumi.Input; + /** + * The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + * + * If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + * + * An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + */ weight?: pulumi.Input; } @@ -52640,6 +52963,9 @@ export namespace quicksight { * The configuration that selects all options. */ selectAllValueOptions?: pulumi.Input; + /** + * A column of a data set. + */ sourceColumn?: pulumi.Input; /** * The source field ID of the destination parameter. @@ -60934,6 +61260,9 @@ export namespace quicksight { * The configuration that selects all options. */ selectAllValueOptions?: pulumi.Input; + /** + * A column of a data set. + */ sourceColumn?: pulumi.Input; /** * The source field ID of the destination parameter. @@ -67385,7 +67714,7 @@ export namespace quicksight { /** *

The column schema from the SQL query result set.

*/ - columns: pulumi.Input[]>; + columns?: pulumi.Input[]>; /** *

The Amazon Resource Name (ARN) of the data source.

*/ @@ -67814,7 +68143,7 @@ export namespace quicksight { /** *

The column schema of the table.

*/ - inputColumns: pulumi.Input[]>; + inputColumns?: pulumi.Input[]>; /** *

The name of the relational table.

*/ @@ -68027,6 +68356,9 @@ export namespace quicksight { * An operation that filters rows based on some condition. */ filterOperation?: pulumi.Input; + /** + * A transform operation that overrides the dataset parameter values that are defined in another dataset. + */ overrideDatasetParameterOperation?: pulumi.Input; /** * An operation that projects columns. Operations that come after a projection can only refer to projected columns. @@ -70847,6 +71179,9 @@ export namespace quicksight { * The configuration that selects all options. */ selectAllValueOptions?: pulumi.Input; + /** + * A column of a data set. + */ sourceColumn?: pulumi.Input; /** * The source field ID of the destination parameter. @@ -77043,6 +77378,9 @@ export namespace quicksight { * Display options related to sheets. */ sheet?: pulumi.Input; + /** + * Determines the typography options. + */ typography?: pulumi.Input; /** * Color properties that apply to the UI and to charts, excluding the colors that apply to data. @@ -88743,7 +89081,7 @@ export namespace ssmquicksetup { * - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". * - `RebootOption` * - * - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + * - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . * - `IsPolicyAttachAllowed` * * - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". @@ -89429,6 +89767,162 @@ export namespace transfer { signingAlgorithm?: pulumi.Input; } + export interface ServerEndpointDetailsArgs { + /** + * A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + * + * An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + * + * This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + * + * > This property can only be set as follows: + * > + * > - `EndpointType` must be set to `VPC` + * > - The Transfer Family server must be offline. + * > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + * > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + * > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + * > - Call the `UpdateServer` API to set or change this parameter. + */ + addressAllocationIds?: pulumi.Input[]>; + /** + * A list of security groups IDs that are available to attach to your server's endpoint. + * + * > This property can only be set when `EndpointType` is set to `VPC` . + * > + * > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * A list of subnet IDs that are required to host your server endpoint in your VPC. + * + * > This property can only be set when `EndpointType` is set to `VPC` . + */ + subnetIds?: pulumi.Input[]>; + /** + * The ID of the VPC endpoint. + * + * > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + */ + vpcEndpointId?: pulumi.Input; + /** + * The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + * + * > This property can only be set when `EndpointType` is set to `VPC` . + */ + vpcId?: pulumi.Input; + } + + export interface ServerIdentityProviderDetailsArgs { + /** + * The identifier of the AWS Directory Service directory that you want to use as your identity provider. + */ + directoryId?: pulumi.Input; + /** + * The ARN for a Lambda function to use for the Identity provider. + */ + function?: pulumi.Input; + /** + * This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + */ + invocationRole?: pulumi.Input; + /** + * For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + * + * - `PASSWORD` - users must provide their password to connect. + * - `PUBLIC_KEY` - users must provide their private key to connect. + * - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + * - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + */ + sftpAuthenticationMethods?: pulumi.Input; + /** + * Provides the location of the service endpoint used to authenticate users. + */ + url?: pulumi.Input; + } + + export interface ServerProtocolDetailsArgs { + /** + * List of `As2Transport` objects. + */ + as2Transports?: pulumi.Input[]>; + /** + * Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + * + * `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + * + * Replace `0.0.0.0` in the example above with the actual IP address you want to use. + * + * > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + * + * *Special values* + * + * The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + */ + passiveIp?: pulumi.Input; + /** + * Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + * + * Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + * + * Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + * + * > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + */ + setStatOption?: pulumi.Input; + /** + * A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + * + * - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + * - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + * - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + * + * > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + */ + tlsSessionResumptionMode?: pulumi.Input; + } + + export interface ServerS3StorageOptionsArgs { + /** + * Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + * + * By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + */ + directoryListingOptimization?: pulumi.Input; + } + + export interface ServerWorkflowDetailArgs { + /** + * Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + */ + executionRole: pulumi.Input; + /** + * A unique identifier for the workflow. + */ + workflowId: pulumi.Input; + } + + export interface ServerWorkflowDetailsArgs { + /** + * A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + * + * A *partial upload* occurs when a file is open when the session disconnects. + * + * > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + */ + onPartialUpload?: pulumi.Input[]>; + /** + * A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + * + * To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + * + * `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + * + * > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + */ + onUpload?: pulumi.Input[]>; + } + /** * Configuration for an SFTP connector. */ @@ -92930,6 +93424,9 @@ export namespace wafv2 { } export namespace wisdom { + export interface AiPromptAiPromptTemplateConfigurationArgs { + } + export interface AssistantAssociationAssociationDataArgs { /** * The identifier of the knowledge base. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index a45fcfd7b3..87f26ccac9 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -3525,6 +3525,9 @@ export namespace appflow { * SAP Source connector page size */ export interface FlowSapoDataPaginationConfig { + /** + * The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. + */ maxPageSize: number; } @@ -3532,6 +3535,9 @@ export namespace appflow { * SAP Source connector parallelism factor */ export interface FlowSapoDataParallelismConfig { + /** + * The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. + */ maxParallelism: number; } @@ -3540,7 +3546,13 @@ export namespace appflow { * The object path specified in the SAPOData flow source. */ objectPath: string; + /** + * Sets the page size for each concurrent process that transfers OData records from your SAP instance. + */ paginationConfig?: outputs.appflow.FlowSapoDataPaginationConfig; + /** + * Sets the number of concurrent processes that transfers OData records from your SAP instance. + */ parallelismConfig?: outputs.appflow.FlowSapoDataParallelismConfig; } @@ -5356,6 +5368,147 @@ export namespace appstream { } export namespace appsync { + export interface DataSourceAuthorizationConfig { + /** + * The authorization type that the HTTP endpoint requires. + */ + authorizationType: string; + /** + * The AWS Identity and Access Management settings. + */ + awsIamConfig?: outputs.appsync.DataSourceAwsIamConfig; + } + + export interface DataSourceAwsIamConfig { + /** + * The signing Region for AWS Identity and Access Management authorization. + */ + signingRegion?: string; + /** + * The signing service name for AWS Identity and Access Management authorization. + */ + signingServiceName?: string; + } + + export interface DataSourceDeltaSyncConfig { + /** + * The number of minutes that an Item is stored in the data source. + */ + baseTableTtl: string; + /** + * The Delta Sync table name. + */ + deltaSyncTableName: string; + /** + * The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + */ + deltaSyncTableTtl: string; + } + + export interface DataSourceDynamoDbConfig { + /** + * The AWS Region. + */ + awsRegion: string; + /** + * The DeltaSyncConfig for a versioned datasource. + */ + deltaSyncConfig?: outputs.appsync.DataSourceDeltaSyncConfig; + /** + * The table name. + */ + tableName: string; + /** + * Set to TRUE to use AWS Identity and Access Management with this data source. + */ + useCallerCredentials?: boolean; + /** + * Set to TRUE to use Conflict Detection and Resolution with this data source. + */ + versioned?: boolean; + } + + export interface DataSourceElasticsearchConfig { + /** + * The AWS Region. + */ + awsRegion: string; + /** + * The endpoint. + */ + endpoint: string; + } + + export interface DataSourceEventBridgeConfig { + /** + * ARN for the EventBridge bus. + */ + eventBusArn: string; + } + + export interface DataSourceHttpConfig { + /** + * The authorization configuration. + */ + authorizationConfig?: outputs.appsync.DataSourceAuthorizationConfig; + /** + * The endpoint. + */ + endpoint: string; + } + + export interface DataSourceLambdaConfig { + /** + * The ARN for the Lambda function. + */ + lambdaFunctionArn: string; + } + + export interface DataSourceOpenSearchServiceConfig { + /** + * The AWS Region. + */ + awsRegion: string; + /** + * The endpoint. + */ + endpoint: string; + } + + export interface DataSourceRdsHttpEndpointConfig { + /** + * AWS Region for RDS HTTP endpoint. + */ + awsRegion: string; + /** + * The ARN for database credentials stored in AWS Secrets Manager. + */ + awsSecretStoreArn: string; + /** + * Logical database name. + */ + databaseName?: string; + /** + * Amazon RDS cluster Amazon Resource Name (ARN). + */ + dbClusterIdentifier: string; + /** + * Logical schema name. + */ + schema?: string; + } + + export interface DataSourceRelationalDatabaseConfig { + /** + * Information about the Amazon RDS resource. + */ + rdsHttpEndpointConfig?: outputs.appsync.DataSourceRdsHttpEndpointConfig; + /** + * The type of relational data source. + */ + relationalDatabaseSourceType: string; + } + /** * Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. */ @@ -14352,6 +14505,10 @@ export namespace codepipeline { * Specifies the action type and the provider of the action. */ actionTypeId: outputs.codepipeline.PipelineActionTypeId; + /** + * The shell commands to run with your compute action in CodePipeline. + */ + commands?: string[]; /** * The action's configuration. These are key-value pairs that specify input values for an action. */ @@ -14374,6 +14531,10 @@ export namespace codepipeline { * The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . */ outputArtifacts?: outputs.codepipeline.PipelineOutputArtifact[]; + /** + * The list of variables that are to be exported from the compute action. + */ + outputVariables?: string[]; /** * The action declaration's AWS Region, such as us-east-1. */ @@ -14624,6 +14785,10 @@ export namespace codepipeline { * Represents information about the output of an action. */ export interface PipelineOutputArtifact { + /** + * The files that you want to associate with the output artifact that will be exported from the compute action. + */ + files?: string[]; /** * The name of the output of an artifact, such as "My App". */ @@ -14877,7 +15042,7 @@ export namespace cognito { export interface UserPoolAccountRecoverySetting { /** - * The list of `RecoveryOptionTypes` . + * The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. */ recoveryMechanisms?: outputs.cognito.UserPoolRecoveryOption[]; } @@ -14896,7 +15061,7 @@ export namespace cognito { */ allowAdminCreateUserOnly?: boolean; /** - * The message template to be used for the welcome message to new users. + * The template for the welcome message to new users. * * See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . */ @@ -14917,7 +15082,7 @@ export namespace cognito { export interface UserPoolClientAnalyticsConfiguration { /** - * The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + * The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications */ applicationArn?: string; /** @@ -14955,22 +15120,26 @@ export namespace cognito { export interface UserPoolCustomEmailSender { /** - * The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + * The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. */ lambdaArn?: string; /** - * The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + * The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + * + * You must use a `LambdaVersion` of `V1_0` with a custom sender function. */ lambdaVersion?: string; } export interface UserPoolCustomSmsSender { /** - * The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + * The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. */ lambdaArn?: string; /** - * The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + * The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + * + * You must use a `LambdaVersion` of `V1_0` with a custom sender function. */ lambdaVersion?: string; } @@ -14999,10 +15168,10 @@ export namespace cognito { export interface UserPoolEmailConfiguration { /** - * The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + * The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: * - * - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - * - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + * - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + * - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. */ configurationSet?: string; /** @@ -15021,7 +15190,7 @@ export namespace cognito { */ emailSendingAccount?: string; /** - * Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + * Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. */ from?: string; /** @@ -15060,7 +15229,7 @@ export namespace cognito { */ createAuthChallenge?: string; /** - * A custom email sender AWS Lambda trigger. + * The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. */ customEmailSender?: outputs.cognito.UserPoolCustomEmailSender; /** @@ -15068,7 +15237,7 @@ export namespace cognito { */ customMessage?: string; /** - * A custom SMS sender AWS Lambda trigger. + * The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. */ customSmsSender?: outputs.cognito.UserPoolCustomSmsSender; /** @@ -15076,7 +15245,7 @@ export namespace cognito { */ defineAuthChallenge?: string; /** - * The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + * The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. */ kmsKeyId?: string; /** @@ -15183,11 +15352,11 @@ export namespace cognito { export interface UserPoolRecoveryOption { /** - * Specifies the recovery method for a user. + * The recovery method that this object sets a recovery option for. */ name?: string; /** - * A positive integer specifying priority of a method with 1 being the highest priority. + * Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . */ priority?: number; } @@ -15322,9 +15491,9 @@ export namespace cognito { */ attributeDataType?: string; /** - * > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + * > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . * - * Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + * Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. */ developerOnlyAttribute?: boolean; /** @@ -15353,7 +15522,9 @@ export namespace cognito { export interface UserPoolSmsConfiguration { /** - * The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + * The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + * + * For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . */ externalId?: string; /** @@ -24676,40 +24847,77 @@ export namespace ec2 { } export interface VpnConnectionCloudwatchLogOptionsSpecification { + /** + * Enable or disable VPN tunnel logging feature. Default value is `False` . + * + * Valid values: `True` | `False` + */ logEnabled?: boolean; + /** + * The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + */ logGroupArn?: string; + /** + * Set log format. Default format is `json` . + * + * Valid values: `json` | `text` + */ logOutputFormat?: enums.ec2.VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat; } export interface VpnConnectionIkeVersionsRequestListValue { + /** + * The IKE version. + */ value?: enums.ec2.VpnConnectionIkeVersionsRequestListValueValue; } export interface VpnConnectionPhase1EncryptionAlgorithmsRequestListValue { + /** + * The value for the encryption algorithm. + */ value?: enums.ec2.VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue; } export interface VpnConnectionPhase1IntegrityAlgorithmsRequestListValue { + /** + * The value for the integrity algorithm. + */ value?: enums.ec2.VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue; } export interface VpnConnectionPhase1dhGroupNumbersRequestListValue { + /** + * The Diffie-Hellmann group number. + */ value?: number; } export interface VpnConnectionPhase2EncryptionAlgorithmsRequestListValue { + /** + * The encryption algorithm. + */ value?: enums.ec2.VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue; } export interface VpnConnectionPhase2IntegrityAlgorithmsRequestListValue { + /** + * The integrity algorithm. + */ value?: enums.ec2.VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue; } export interface VpnConnectionPhase2dhGroupNumbersRequestListValue { + /** + * The Diffie-Hellmann group number. + */ value?: number; } export interface VpnConnectionVpnTunnelLogOptionsSpecification { + /** + * Options for sending VPN tunnel logs to CloudWatch. + */ cloudwatchLogOptions?: outputs.ec2.VpnConnectionCloudwatchLogOptionsSpecification; } @@ -24717,27 +24925,124 @@ export namespace ec2 { * The tunnel options for a single VPN tunnel. */ export interface VpnConnectionVpnTunnelOptionsSpecification { + /** + * The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + * + * Valid Values: `clear` | `none` | `restart` + * + * Default: `clear` + */ dpdTimeoutAction?: enums.ec2.VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction; + /** + * The number of seconds after which a DPD timeout occurs. + * + * Constraints: A value greater than or equal to 30. + * + * Default: `30` + */ dpdTimeoutSeconds?: number; + /** + * Turn on or off tunnel endpoint lifecycle control feature. + */ enableTunnelLifecycleControl?: boolean; + /** + * The IKE versions that are permitted for the VPN tunnel. + * + * Valid values: `ikev1` | `ikev2` + */ ikeVersions?: outputs.ec2.VpnConnectionIkeVersionsRequestListValue[]; + /** + * Options for logging VPN tunnel activity. + */ logOptions?: outputs.ec2.VpnConnectionVpnTunnelLogOptionsSpecification; + /** + * One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + * + * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + */ phase1EncryptionAlgorithms?: outputs.ec2.VpnConnectionPhase1EncryptionAlgorithmsRequestListValue[]; + /** + * One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + * + * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + */ phase1IntegrityAlgorithms?: outputs.ec2.VpnConnectionPhase1IntegrityAlgorithmsRequestListValue[]; + /** + * The lifetime for phase 1 of the IKE negotiation, in seconds. + * + * Constraints: A value between 900 and 28,800. + * + * Default: `28800` + */ phase1LifetimeSeconds?: number; + /** + * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + * + * Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + */ phase1dhGroupNumbers?: outputs.ec2.VpnConnectionPhase1dhGroupNumbersRequestListValue[]; + /** + * One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + * + * Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + */ phase2EncryptionAlgorithms?: outputs.ec2.VpnConnectionPhase2EncryptionAlgorithmsRequestListValue[]; + /** + * One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + * + * Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + */ phase2IntegrityAlgorithms?: outputs.ec2.VpnConnectionPhase2IntegrityAlgorithmsRequestListValue[]; + /** + * The lifetime for phase 2 of the IKE negotiation, in seconds. + * + * Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + * + * Default: `3600` + */ phase2LifetimeSeconds?: number; + /** + * One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + * + * Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + */ phase2dhGroupNumbers?: outputs.ec2.VpnConnectionPhase2dhGroupNumbersRequestListValue[]; /** * The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. * Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). */ preSharedKey?: string; + /** + * The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + * + * Constraints: A value between 0 and 100. + * + * Default: `100` + */ rekeyFuzzPercentage?: number; + /** + * The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + * + * Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + * + * Default: `270` + */ rekeyMarginTimeSeconds?: number; + /** + * The number of packets in an IKE replay window. + * + * Constraints: A value between 64 and 2048. + * + * Default: `1024` + */ replayWindowSize?: number; + /** + * The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + * + * Valid Values: `add` | `start` + * + * Default: `add` + */ startupAction?: enums.ec2.VpnConnectionVpnTunnelOptionsSpecificationStartupAction; /** * The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. @@ -24751,6 +25056,11 @@ export namespace ec2 { * + ``169.254.169.252/30`` */ tunnelInsideCidr?: string; + /** + * The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + * + * Constraints: A size /126 CIDR block from the local `fd00::/8` range. + */ tunnelInsideIpv6Cidr?: string; } @@ -26590,8 +26900,21 @@ export namespace ecs { } export interface TaskSetCapacityProviderStrategyItem { + /** + * The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + */ base?: number; + /** + * The short name of the capacity provider. + */ capacityProvider?: string; + /** + * The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + * + * If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + * + * An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + */ weight?: number; } @@ -54387,6 +54710,9 @@ export namespace quicksight { * The configuration that selects all options. */ selectAllValueOptions?: enums.quicksight.AnalysisSelectAllValueOptions; + /** + * A column of a data set. + */ sourceColumn?: outputs.quicksight.AnalysisColumnIdentifier; /** * The source field ID of the destination parameter. @@ -62681,6 +63007,9 @@ export namespace quicksight { * The configuration that selects all options. */ selectAllValueOptions?: enums.quicksight.DashboardSelectAllValueOptions; + /** + * A column of a data set. + */ sourceColumn?: outputs.quicksight.DashboardColumnIdentifier; /** * The source field ID of the destination parameter. @@ -69223,7 +69552,7 @@ export namespace quicksight { /** *

The column schema from the SQL query result set.

*/ - columns: outputs.quicksight.DataSetInputColumn[]; + columns?: outputs.quicksight.DataSetInputColumn[]; /** *

The Amazon Resource Name (ARN) of the data source.

*/ @@ -69674,7 +70003,7 @@ export namespace quicksight { /** *

The column schema of the table.

*/ - inputColumns: outputs.quicksight.DataSetInputColumn[]; + inputColumns?: outputs.quicksight.DataSetInputColumn[]; /** *

The name of the relational table.

*/ @@ -69887,6 +70216,9 @@ export namespace quicksight { * An operation that filters rows based on some condition. */ filterOperation?: outputs.quicksight.DataSetFilterOperation; + /** + * A transform operation that overrides the dataset parameter values that are defined in another dataset. + */ overrideDatasetParameterOperation?: outputs.quicksight.DataSetOverrideDatasetParameterOperation; /** * An operation that projects columns. Operations that come after a projection can only refer to projected columns. @@ -72707,6 +73039,9 @@ export namespace quicksight { * The configuration that selects all options. */ selectAllValueOptions?: enums.quicksight.TemplateSelectAllValueOptions; + /** + * A column of a data set. + */ sourceColumn?: outputs.quicksight.TemplateColumnIdentifier; /** * The source field ID of the destination parameter. @@ -79000,6 +79335,9 @@ export namespace quicksight { * Display options related to sheets. */ sheet?: outputs.quicksight.ThemeSheetStyle; + /** + * Determines the typography options. + */ typography?: outputs.quicksight.ThemeTypography; /** * Color properties that apply to the UI and to charts, excluding the colors that apply to data. @@ -91123,7 +91461,7 @@ export namespace ssmquicksetup { * - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". * - `RebootOption` * - * - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + * - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . * - `IsPolicyAttachAllowed` * * - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". @@ -91833,6 +92171,162 @@ export namespace transfer { signingAlgorithm?: enums.transfer.ConnectorAs2ConfigPropertiesSigningAlgorithm; } + export interface ServerEndpointDetails { + /** + * A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + * + * An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + * + * This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + * + * > This property can only be set as follows: + * > + * > - `EndpointType` must be set to `VPC` + * > - The Transfer Family server must be offline. + * > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + * > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + * > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + * > - Call the `UpdateServer` API to set or change this parameter. + */ + addressAllocationIds?: string[]; + /** + * A list of security groups IDs that are available to attach to your server's endpoint. + * + * > This property can only be set when `EndpointType` is set to `VPC` . + * > + * > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + */ + securityGroupIds?: string[]; + /** + * A list of subnet IDs that are required to host your server endpoint in your VPC. + * + * > This property can only be set when `EndpointType` is set to `VPC` . + */ + subnetIds?: string[]; + /** + * The ID of the VPC endpoint. + * + * > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + */ + vpcEndpointId?: string; + /** + * The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + * + * > This property can only be set when `EndpointType` is set to `VPC` . + */ + vpcId?: string; + } + + export interface ServerIdentityProviderDetails { + /** + * The identifier of the AWS Directory Service directory that you want to use as your identity provider. + */ + directoryId?: string; + /** + * The ARN for a Lambda function to use for the Identity provider. + */ + function?: string; + /** + * This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + */ + invocationRole?: string; + /** + * For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + * + * - `PASSWORD` - users must provide their password to connect. + * - `PUBLIC_KEY` - users must provide their private key to connect. + * - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + * - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + */ + sftpAuthenticationMethods?: enums.transfer.ServerSftpAuthenticationMethods; + /** + * Provides the location of the service endpoint used to authenticate users. + */ + url?: string; + } + + export interface ServerProtocolDetails { + /** + * List of `As2Transport` objects. + */ + as2Transports?: enums.transfer.ServerAs2Transport[]; + /** + * Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + * + * `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + * + * Replace `0.0.0.0` in the example above with the actual IP address you want to use. + * + * > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + * + * *Special values* + * + * The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + */ + passiveIp?: string; + /** + * Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + * + * Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + * + * Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + * + * > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + */ + setStatOption?: enums.transfer.ServerSetStatOption; + /** + * A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + * + * - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + * - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + * - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + * + * > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + */ + tlsSessionResumptionMode?: enums.transfer.ServerTlsSessionResumptionMode; + } + + export interface ServerS3StorageOptions { + /** + * Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + * + * By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + */ + directoryListingOptimization?: enums.transfer.ServerDirectoryListingOptimization; + } + + export interface ServerWorkflowDetail { + /** + * Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + */ + executionRole: string; + /** + * A unique identifier for the workflow. + */ + workflowId: string; + } + + export interface ServerWorkflowDetails { + /** + * A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + * + * A *partial upload* occurs when a file is open when the session disconnects. + * + * > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + */ + onPartialUpload?: outputs.transfer.ServerWorkflowDetail[]; + /** + * A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + * + * To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + * + * `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + * + * > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + */ + onUpload?: outputs.transfer.ServerWorkflowDetail[]; + } + /** * Configuration for an SFTP connector. */ @@ -95344,6 +95838,9 @@ export namespace wafv2 { } export namespace wisdom { + export interface AiPromptAiPromptTemplateConfiguration { + } + export interface AssistantAssociationAssociationData { /** * The identifier of the knowledge base. diff --git a/sdk/nodejs/wisdom/aiPrompt.ts b/sdk/nodejs/wisdom/aiPrompt.ts new file mode 100644 index 0000000000..e529f3d74e --- /dev/null +++ b/sdk/nodejs/wisdom/aiPrompt.ts @@ -0,0 +1,188 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Wisdom::AIPrompt Resource Type + */ +export class AiPrompt extends pulumi.CustomResource { + /** + * Get an existing AiPrompt 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AiPrompt { + return new AiPrompt(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:wisdom:AiPrompt'; + + /** + * Returns true if the given object is an instance of AiPrompt. 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 AiPrompt { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AiPrompt.__pulumiType; + } + + /** + * The Amazon Resource Name (ARN) of the AI Prompt. + */ + public /*out*/ readonly aiPromptArn!: pulumi.Output; + /** + * The identifier of the Amazon Q in Connect AI prompt. + */ + public /*out*/ readonly aiPromptId!: pulumi.Output; + /** + * The API format used for this AI Prompt. + */ + public readonly apiFormat!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + */ + public /*out*/ readonly assistantArn!: pulumi.Output; + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ + public readonly assistantId!: pulumi.Output; + /** + * The description of the AI Prompt. + */ + public readonly description!: pulumi.Output; + /** + * The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + */ + public readonly modelId!: pulumi.Output; + /** + * The name of the AI Prompt + */ + public readonly name!: pulumi.Output; + /** + * The tags used to organize, track, or control access for this resource. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The configuration of the prompt template for this AI Prompt. + */ + public readonly templateConfiguration!: pulumi.Output; + /** + * The type of the prompt template for this AI Prompt. + */ + public readonly templateType!: pulumi.Output; + /** + * The type of this AI Prompt. + */ + public readonly type!: pulumi.Output; + + /** + * Create a AiPrompt 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: AiPromptArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.apiFormat === undefined) && !opts.urn) { + throw new Error("Missing required property 'apiFormat'"); + } + if ((!args || args.modelId === undefined) && !opts.urn) { + throw new Error("Missing required property 'modelId'"); + } + if ((!args || args.templateConfiguration === undefined) && !opts.urn) { + throw new Error("Missing required property 'templateConfiguration'"); + } + if ((!args || args.templateType === undefined) && !opts.urn) { + throw new Error("Missing required property 'templateType'"); + } + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + resourceInputs["apiFormat"] = args ? args.apiFormat : undefined; + resourceInputs["assistantId"] = args ? args.assistantId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["modelId"] = args ? args.modelId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["templateConfiguration"] = args ? args.templateConfiguration : undefined; + resourceInputs["templateType"] = args ? args.templateType : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["aiPromptArn"] = undefined /*out*/; + resourceInputs["aiPromptId"] = undefined /*out*/; + resourceInputs["assistantArn"] = undefined /*out*/; + } else { + resourceInputs["aiPromptArn"] = undefined /*out*/; + resourceInputs["aiPromptId"] = undefined /*out*/; + resourceInputs["apiFormat"] = undefined /*out*/; + resourceInputs["assistantArn"] = undefined /*out*/; + resourceInputs["assistantId"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["modelId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["templateConfiguration"] = undefined /*out*/; + resourceInputs["templateType"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["apiFormat", "assistantId", "modelId", "name", "tags.*", "templateType", "type"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(AiPrompt.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a AiPrompt resource. + */ +export interface AiPromptArgs { + /** + * The API format used for this AI Prompt. + */ + apiFormat: pulumi.Input; + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ + assistantId?: pulumi.Input; + /** + * The description of the AI Prompt. + */ + description?: pulumi.Input; + /** + * The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + */ + modelId: pulumi.Input; + /** + * The name of the AI Prompt + */ + name?: pulumi.Input; + /** + * The tags used to organize, track, or control access for this resource. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The configuration of the prompt template for this AI Prompt. + */ + templateConfiguration: pulumi.Input; + /** + * The type of the prompt template for this AI Prompt. + */ + templateType: pulumi.Input; + /** + * The type of this AI Prompt. + */ + type: pulumi.Input; +} diff --git a/sdk/nodejs/wisdom/getAiPrompt.ts b/sdk/nodejs/wisdom/getAiPrompt.ts new file mode 100644 index 0000000000..b9b53a3af4 --- /dev/null +++ b/sdk/nodejs/wisdom/getAiPrompt.ts @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Wisdom::AIPrompt Resource Type + */ +export function getAiPrompt(args: GetAiPromptArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:wisdom:getAiPrompt", { + "aiPromptId": args.aiPromptId, + "assistantId": args.assistantId, + }, opts); +} + +export interface GetAiPromptArgs { + /** + * The identifier of the Amazon Q in Connect AI prompt. + */ + aiPromptId: string; + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ + assistantId: string; +} + +export interface GetAiPromptResult { + /** + * The Amazon Resource Name (ARN) of the AI Prompt. + */ + readonly aiPromptArn?: string; + /** + * The identifier of the Amazon Q in Connect AI prompt. + */ + readonly aiPromptId?: string; + /** + * The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + */ + readonly assistantArn?: string; + /** + * The description of the AI Prompt. + */ + readonly description?: string; + /** + * The configuration of the prompt template for this AI Prompt. + */ + readonly templateConfiguration?: outputs.wisdom.AiPromptAiPromptTemplateConfiguration; +} +/** + * Definition of AWS::Wisdom::AIPrompt Resource Type + */ +export function getAiPromptOutput(args: GetAiPromptOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:wisdom:getAiPrompt", { + "aiPromptId": args.aiPromptId, + "assistantId": args.assistantId, + }, opts); +} + +export interface GetAiPromptOutputArgs { + /** + * The identifier of the Amazon Q in Connect AI prompt. + */ + aiPromptId: pulumi.Input; + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ + assistantId: pulumi.Input; +} diff --git a/sdk/nodejs/wisdom/index.ts b/sdk/nodejs/wisdom/index.ts index b3d47068e7..7071d908af 100644 --- a/sdk/nodejs/wisdom/index.ts +++ b/sdk/nodejs/wisdom/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { AiPromptArgs } from "./aiPrompt"; +export type AiPrompt = import("./aiPrompt").AiPrompt; +export const AiPrompt: typeof import("./aiPrompt").AiPrompt = null as any; +utilities.lazyLoad(exports, ["AiPrompt"], () => require("./aiPrompt")); + export { AssistantArgs } from "./assistant"; export type Assistant = import("./assistant").Assistant; export const Assistant: typeof import("./assistant").Assistant = null as any; @@ -15,6 +20,11 @@ export type AssistantAssociation = import("./assistantAssociation").AssistantAss export const AssistantAssociation: typeof import("./assistantAssociation").AssistantAssociation = null as any; utilities.lazyLoad(exports, ["AssistantAssociation"], () => require("./assistantAssociation")); +export { GetAiPromptArgs, GetAiPromptResult, GetAiPromptOutputArgs } from "./getAiPrompt"; +export const getAiPrompt: typeof import("./getAiPrompt").getAiPrompt = null as any; +export const getAiPromptOutput: typeof import("./getAiPrompt").getAiPromptOutput = null as any; +utilities.lazyLoad(exports, ["getAiPrompt","getAiPromptOutput"], () => require("./getAiPrompt")); + export { GetAssistantArgs, GetAssistantResult, GetAssistantOutputArgs } from "./getAssistant"; export const getAssistant: typeof import("./getAssistant").getAssistant = null as any; export const getAssistantOutput: typeof import("./getAssistant").getAssistantOutput = null as any; @@ -43,6 +53,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws-native:wisdom:AiPrompt": + return new AiPrompt(name, undefined, { urn }) case "aws-native:wisdom:Assistant": return new Assistant(name, undefined, { urn }) case "aws-native:wisdom:AssistantAssociation": diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index 9b95af3b2a..ae0a65c7f6 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -859,6 +859,7 @@ "mod": "appsync", "fqn": "pulumi_aws_native.appsync", "classes": { + "aws-native:appsync:DataSource": "DataSource", "aws-native:appsync:DomainName": "DomainName", "aws-native:appsync:DomainNameApiAssociation": "DomainNameApiAssociation", "aws-native:appsync:FunctionConfiguration": "FunctionConfiguration", @@ -3149,6 +3150,7 @@ "aws-native:transfer:Certificate": "Certificate", "aws-native:transfer:Connector": "Connector", "aws-native:transfer:Profile": "Profile", + "aws-native:transfer:Server": "Server", "aws-native:transfer:Workflow": "Workflow" } }, @@ -3206,6 +3208,7 @@ "mod": "wisdom", "fqn": "pulumi_aws_native.wisdom", "classes": { + "aws-native:wisdom:AiPrompt": "AiPrompt", "aws-native:wisdom:Assistant": "Assistant", "aws-native:wisdom:AssistantAssociation": "AssistantAssociation", "aws-native:wisdom:KnowledgeBase": "KnowledgeBase" diff --git a/sdk/python/pulumi_aws_native/appflow/_inputs.py b/sdk/python/pulumi_aws_native/appflow/_inputs.py index dd185a4de6..341068cf34 100644 --- a/sdk/python/pulumi_aws_native/appflow/_inputs.py +++ b/sdk/python/pulumi_aws_native/appflow/_inputs.py @@ -6145,6 +6145,9 @@ class FlowSapoDataPaginationConfigArgsDict(TypedDict): SAP Source connector page size """ max_page_size: pulumi.Input[int] + """ + The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. + """ elif False: FlowSapoDataPaginationConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -6154,12 +6157,16 @@ def __init__(__self__, *, max_page_size: pulumi.Input[int]): """ SAP Source connector page size + :param pulumi.Input[int] max_page_size: The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. """ pulumi.set(__self__, "max_page_size", max_page_size) @property @pulumi.getter(name="maxPageSize") def max_page_size(self) -> pulumi.Input[int]: + """ + The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. + """ return pulumi.get(self, "max_page_size") @max_page_size.setter @@ -6173,6 +6180,9 @@ class FlowSapoDataParallelismConfigArgsDict(TypedDict): SAP Source connector parallelism factor """ max_parallelism: pulumi.Input[int] + """ + The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. + """ elif False: FlowSapoDataParallelismConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -6182,12 +6192,16 @@ def __init__(__self__, *, max_parallelism: pulumi.Input[int]): """ SAP Source connector parallelism factor + :param pulumi.Input[int] max_parallelism: The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. """ pulumi.set(__self__, "max_parallelism", max_parallelism) @property @pulumi.getter(name="maxParallelism") def max_parallelism(self) -> pulumi.Input[int]: + """ + The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. + """ return pulumi.get(self, "max_parallelism") @max_parallelism.setter @@ -6202,7 +6216,13 @@ class FlowSapoDataSourcePropertiesArgsDict(TypedDict): The object path specified in the SAPOData flow source. """ pagination_config: NotRequired[pulumi.Input['FlowSapoDataPaginationConfigArgsDict']] + """ + Sets the page size for each concurrent process that transfers OData records from your SAP instance. + """ parallelism_config: NotRequired[pulumi.Input['FlowSapoDataParallelismConfigArgsDict']] + """ + Sets the number of concurrent processes that transfers OData records from your SAP instance. + """ elif False: FlowSapoDataSourcePropertiesArgsDict: TypeAlias = Mapping[str, Any] @@ -6214,6 +6234,8 @@ def __init__(__self__, *, parallelism_config: Optional[pulumi.Input['FlowSapoDataParallelismConfigArgs']] = None): """ :param pulumi.Input[str] object_path: The object path specified in the SAPOData flow source. + :param pulumi.Input['FlowSapoDataPaginationConfigArgs'] pagination_config: Sets the page size for each concurrent process that transfers OData records from your SAP instance. + :param pulumi.Input['FlowSapoDataParallelismConfigArgs'] parallelism_config: Sets the number of concurrent processes that transfers OData records from your SAP instance. """ pulumi.set(__self__, "object_path", object_path) if pagination_config is not None: @@ -6236,6 +6258,9 @@ def object_path(self, value: pulumi.Input[str]): @property @pulumi.getter(name="paginationConfig") def pagination_config(self) -> Optional[pulumi.Input['FlowSapoDataPaginationConfigArgs']]: + """ + Sets the page size for each concurrent process that transfers OData records from your SAP instance. + """ return pulumi.get(self, "pagination_config") @pagination_config.setter @@ -6245,6 +6270,9 @@ def pagination_config(self, value: Optional[pulumi.Input['FlowSapoDataPagination @property @pulumi.getter(name="parallelismConfig") def parallelism_config(self) -> Optional[pulumi.Input['FlowSapoDataParallelismConfigArgs']]: + """ + Sets the number of concurrent processes that transfers OData records from your SAP instance. + """ return pulumi.get(self, "parallelism_config") @parallelism_config.setter diff --git a/sdk/python/pulumi_aws_native/appflow/outputs.py b/sdk/python/pulumi_aws_native/appflow/outputs.py index 6b80c1db17..7855ac4eeb 100644 --- a/sdk/python/pulumi_aws_native/appflow/outputs.py +++ b/sdk/python/pulumi_aws_native/appflow/outputs.py @@ -4966,12 +4966,16 @@ def __init__(__self__, *, max_page_size: int): """ SAP Source connector page size + :param int max_page_size: The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. """ pulumi.set(__self__, "max_page_size", max_page_size) @property @pulumi.getter(name="maxPageSize") def max_page_size(self) -> int: + """ + The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000. + """ return pulumi.get(self, "max_page_size") @@ -5001,12 +5005,16 @@ def __init__(__self__, *, max_parallelism: int): """ SAP Source connector parallelism factor + :param int max_parallelism: The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. """ pulumi.set(__self__, "max_parallelism", max_parallelism) @property @pulumi.getter(name="maxParallelism") def max_parallelism(self) -> int: + """ + The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application. + """ return pulumi.get(self, "max_parallelism") @@ -5039,6 +5047,8 @@ def __init__(__self__, *, parallelism_config: Optional['outputs.FlowSapoDataParallelismConfig'] = None): """ :param str object_path: The object path specified in the SAPOData flow source. + :param 'FlowSapoDataPaginationConfig' pagination_config: Sets the page size for each concurrent process that transfers OData records from your SAP instance. + :param 'FlowSapoDataParallelismConfig' parallelism_config: Sets the number of concurrent processes that transfers OData records from your SAP instance. """ pulumi.set(__self__, "object_path", object_path) if pagination_config is not None: @@ -5057,11 +5067,17 @@ def object_path(self) -> str: @property @pulumi.getter(name="paginationConfig") def pagination_config(self) -> Optional['outputs.FlowSapoDataPaginationConfig']: + """ + Sets the page size for each concurrent process that transfers OData records from your SAP instance. + """ return pulumi.get(self, "pagination_config") @property @pulumi.getter(name="parallelismConfig") def parallelism_config(self) -> Optional['outputs.FlowSapoDataParallelismConfig']: + """ + Sets the number of concurrent processes that transfers OData records from your SAP instance. + """ return pulumi.get(self, "parallelism_config") diff --git a/sdk/python/pulumi_aws_native/appsync/__init__.py b/sdk/python/pulumi_aws_native/appsync/__init__.py index a33669f135..7b557fadb1 100644 --- a/sdk/python/pulumi_aws_native/appsync/__init__.py +++ b/sdk/python/pulumi_aws_native/appsync/__init__.py @@ -6,9 +6,11 @@ import typing # Export this package's modules as members: from ._enums import * +from .data_source import * from .domain_name import * from .domain_name_api_association import * from .function_configuration import * +from .get_data_source import * from .get_domain_name import * from .get_domain_name_api_association import * from .get_function_configuration import * diff --git a/sdk/python/pulumi_aws_native/appsync/_enums.py b/sdk/python/pulumi_aws_native/appsync/_enums.py index bf660132cd..28f7324d92 100644 --- a/sdk/python/pulumi_aws_native/appsync/_enums.py +++ b/sdk/python/pulumi_aws_native/appsync/_enums.py @@ -5,12 +5,23 @@ from enum import Enum __all__ = [ + 'DataSourceMetricsConfig', 'ResolverMetricsConfig', 'SourceApiAssociationConfigMergeType', 'SourceApiAssociationStatus', ] +class DataSourceMetricsConfig(str, Enum): + """ + Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + + `MetricsConfig` can be `ENABLED` or `DISABLED` . + """ + DISABLED = "DISABLED" + ENABLED = "ENABLED" + + class ResolverMetricsConfig(str, Enum): """ Enables or disables enhanced resolver metrics for specified resolvers. Note that ``MetricsConfig`` won't be used unless the ``resolverLevelMetricsBehavior`` value is set to ``PER_RESOLVER_METRICS``. If the ``resolverLevelMetricsBehavior`` is set to ``FULL_REQUEST_RESOLVER_METRICS`` instead, ``MetricsConfig`` will be ignored. However, you can still set its value. diff --git a/sdk/python/pulumi_aws_native/appsync/_inputs.py b/sdk/python/pulumi_aws_native/appsync/_inputs.py index 4b803a67c1..622855b739 100644 --- a/sdk/python/pulumi_aws_native/appsync/_inputs.py +++ b/sdk/python/pulumi_aws_native/appsync/_inputs.py @@ -16,6 +16,28 @@ from ._enums import * __all__ = [ + 'DataSourceAuthorizationConfigArgs', + 'DataSourceAuthorizationConfigArgsDict', + 'DataSourceAwsIamConfigArgs', + 'DataSourceAwsIamConfigArgsDict', + 'DataSourceDeltaSyncConfigArgs', + 'DataSourceDeltaSyncConfigArgsDict', + 'DataSourceDynamoDbConfigArgs', + 'DataSourceDynamoDbConfigArgsDict', + 'DataSourceElasticsearchConfigArgs', + 'DataSourceElasticsearchConfigArgsDict', + 'DataSourceEventBridgeConfigArgs', + 'DataSourceEventBridgeConfigArgsDict', + 'DataSourceHttpConfigArgs', + 'DataSourceHttpConfigArgsDict', + 'DataSourceLambdaConfigArgs', + 'DataSourceLambdaConfigArgsDict', + 'DataSourceOpenSearchServiceConfigArgs', + 'DataSourceOpenSearchServiceConfigArgsDict', + 'DataSourceRdsHttpEndpointConfigArgs', + 'DataSourceRdsHttpEndpointConfigArgsDict', + 'DataSourceRelationalDatabaseConfigArgs', + 'DataSourceRelationalDatabaseConfigArgsDict', 'FunctionConfigurationAppSyncRuntimeArgs', 'FunctionConfigurationAppSyncRuntimeArgsDict', 'FunctionConfigurationLambdaConflictHandlerConfigArgs', @@ -38,6 +60,661 @@ MYPY = False +if not MYPY: + class DataSourceAuthorizationConfigArgsDict(TypedDict): + authorization_type: pulumi.Input[str] + """ + The authorization type that the HTTP endpoint requires. + """ + aws_iam_config: NotRequired[pulumi.Input['DataSourceAwsIamConfigArgsDict']] + """ + The AWS Identity and Access Management settings. + """ +elif False: + DataSourceAuthorizationConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceAuthorizationConfigArgs: + def __init__(__self__, *, + authorization_type: pulumi.Input[str], + aws_iam_config: Optional[pulumi.Input['DataSourceAwsIamConfigArgs']] = None): + """ + :param pulumi.Input[str] authorization_type: The authorization type that the HTTP endpoint requires. + :param pulumi.Input['DataSourceAwsIamConfigArgs'] aws_iam_config: The AWS Identity and Access Management settings. + """ + pulumi.set(__self__, "authorization_type", authorization_type) + if aws_iam_config is not None: + pulumi.set(__self__, "aws_iam_config", aws_iam_config) + + @property + @pulumi.getter(name="authorizationType") + def authorization_type(self) -> pulumi.Input[str]: + """ + The authorization type that the HTTP endpoint requires. + """ + return pulumi.get(self, "authorization_type") + + @authorization_type.setter + def authorization_type(self, value: pulumi.Input[str]): + pulumi.set(self, "authorization_type", value) + + @property + @pulumi.getter(name="awsIamConfig") + def aws_iam_config(self) -> Optional[pulumi.Input['DataSourceAwsIamConfigArgs']]: + """ + The AWS Identity and Access Management settings. + """ + return pulumi.get(self, "aws_iam_config") + + @aws_iam_config.setter + def aws_iam_config(self, value: Optional[pulumi.Input['DataSourceAwsIamConfigArgs']]): + pulumi.set(self, "aws_iam_config", value) + + +if not MYPY: + class DataSourceAwsIamConfigArgsDict(TypedDict): + signing_region: NotRequired[pulumi.Input[str]] + """ + The signing Region for AWS Identity and Access Management authorization. + """ + signing_service_name: NotRequired[pulumi.Input[str]] + """ + The signing service name for AWS Identity and Access Management authorization. + """ +elif False: + DataSourceAwsIamConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceAwsIamConfigArgs: + def __init__(__self__, *, + signing_region: Optional[pulumi.Input[str]] = None, + signing_service_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] signing_region: The signing Region for AWS Identity and Access Management authorization. + :param pulumi.Input[str] signing_service_name: The signing service name for AWS Identity and Access Management authorization. + """ + if signing_region is not None: + pulumi.set(__self__, "signing_region", signing_region) + if signing_service_name is not None: + pulumi.set(__self__, "signing_service_name", signing_service_name) + + @property + @pulumi.getter(name="signingRegion") + def signing_region(self) -> Optional[pulumi.Input[str]]: + """ + The signing Region for AWS Identity and Access Management authorization. + """ + return pulumi.get(self, "signing_region") + + @signing_region.setter + def signing_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "signing_region", value) + + @property + @pulumi.getter(name="signingServiceName") + def signing_service_name(self) -> Optional[pulumi.Input[str]]: + """ + The signing service name for AWS Identity and Access Management authorization. + """ + return pulumi.get(self, "signing_service_name") + + @signing_service_name.setter + def signing_service_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "signing_service_name", value) + + +if not MYPY: + class DataSourceDeltaSyncConfigArgsDict(TypedDict): + base_table_ttl: pulumi.Input[str] + """ + The number of minutes that an Item is stored in the data source. + """ + delta_sync_table_name: pulumi.Input[str] + """ + The Delta Sync table name. + """ + delta_sync_table_ttl: pulumi.Input[str] + """ + The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + """ +elif False: + DataSourceDeltaSyncConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceDeltaSyncConfigArgs: + def __init__(__self__, *, + base_table_ttl: pulumi.Input[str], + delta_sync_table_name: pulumi.Input[str], + delta_sync_table_ttl: pulumi.Input[str]): + """ + :param pulumi.Input[str] base_table_ttl: The number of minutes that an Item is stored in the data source. + :param pulumi.Input[str] delta_sync_table_name: The Delta Sync table name. + :param pulumi.Input[str] delta_sync_table_ttl: The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + """ + pulumi.set(__self__, "base_table_ttl", base_table_ttl) + pulumi.set(__self__, "delta_sync_table_name", delta_sync_table_name) + pulumi.set(__self__, "delta_sync_table_ttl", delta_sync_table_ttl) + + @property + @pulumi.getter(name="baseTableTtl") + def base_table_ttl(self) -> pulumi.Input[str]: + """ + The number of minutes that an Item is stored in the data source. + """ + return pulumi.get(self, "base_table_ttl") + + @base_table_ttl.setter + def base_table_ttl(self, value: pulumi.Input[str]): + pulumi.set(self, "base_table_ttl", value) + + @property + @pulumi.getter(name="deltaSyncTableName") + def delta_sync_table_name(self) -> pulumi.Input[str]: + """ + The Delta Sync table name. + """ + return pulumi.get(self, "delta_sync_table_name") + + @delta_sync_table_name.setter + def delta_sync_table_name(self, value: pulumi.Input[str]): + pulumi.set(self, "delta_sync_table_name", value) + + @property + @pulumi.getter(name="deltaSyncTableTtl") + def delta_sync_table_ttl(self) -> pulumi.Input[str]: + """ + The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + """ + return pulumi.get(self, "delta_sync_table_ttl") + + @delta_sync_table_ttl.setter + def delta_sync_table_ttl(self, value: pulumi.Input[str]): + pulumi.set(self, "delta_sync_table_ttl", value) + + +if not MYPY: + class DataSourceDynamoDbConfigArgsDict(TypedDict): + aws_region: pulumi.Input[str] + """ + The AWS Region. + """ + table_name: pulumi.Input[str] + """ + The table name. + """ + delta_sync_config: NotRequired[pulumi.Input['DataSourceDeltaSyncConfigArgsDict']] + """ + The DeltaSyncConfig for a versioned datasource. + """ + use_caller_credentials: NotRequired[pulumi.Input[bool]] + """ + Set to TRUE to use AWS Identity and Access Management with this data source. + """ + versioned: NotRequired[pulumi.Input[bool]] + """ + Set to TRUE to use Conflict Detection and Resolution with this data source. + """ +elif False: + DataSourceDynamoDbConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceDynamoDbConfigArgs: + def __init__(__self__, *, + aws_region: pulumi.Input[str], + table_name: pulumi.Input[str], + delta_sync_config: Optional[pulumi.Input['DataSourceDeltaSyncConfigArgs']] = None, + use_caller_credentials: Optional[pulumi.Input[bool]] = None, + versioned: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] aws_region: The AWS Region. + :param pulumi.Input[str] table_name: The table name. + :param pulumi.Input['DataSourceDeltaSyncConfigArgs'] delta_sync_config: The DeltaSyncConfig for a versioned datasource. + :param pulumi.Input[bool] use_caller_credentials: Set to TRUE to use AWS Identity and Access Management with this data source. + :param pulumi.Input[bool] versioned: Set to TRUE to use Conflict Detection and Resolution with this data source. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "table_name", table_name) + if delta_sync_config is not None: + pulumi.set(__self__, "delta_sync_config", delta_sync_config) + if use_caller_credentials is not None: + pulumi.set(__self__, "use_caller_credentials", use_caller_credentials) + if versioned is not None: + pulumi.set(__self__, "versioned", versioned) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> pulumi.Input[str]: + """ + The AWS Region. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> pulumi.Input[str]: + """ + The table name. + """ + return pulumi.get(self, "table_name") + + @table_name.setter + def table_name(self, value: pulumi.Input[str]): + pulumi.set(self, "table_name", value) + + @property + @pulumi.getter(name="deltaSyncConfig") + def delta_sync_config(self) -> Optional[pulumi.Input['DataSourceDeltaSyncConfigArgs']]: + """ + The DeltaSyncConfig for a versioned datasource. + """ + return pulumi.get(self, "delta_sync_config") + + @delta_sync_config.setter + def delta_sync_config(self, value: Optional[pulumi.Input['DataSourceDeltaSyncConfigArgs']]): + pulumi.set(self, "delta_sync_config", value) + + @property + @pulumi.getter(name="useCallerCredentials") + def use_caller_credentials(self) -> Optional[pulumi.Input[bool]]: + """ + Set to TRUE to use AWS Identity and Access Management with this data source. + """ + return pulumi.get(self, "use_caller_credentials") + + @use_caller_credentials.setter + def use_caller_credentials(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_caller_credentials", value) + + @property + @pulumi.getter + def versioned(self) -> Optional[pulumi.Input[bool]]: + """ + Set to TRUE to use Conflict Detection and Resolution with this data source. + """ + return pulumi.get(self, "versioned") + + @versioned.setter + def versioned(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "versioned", value) + + +if not MYPY: + class DataSourceElasticsearchConfigArgsDict(TypedDict): + aws_region: pulumi.Input[str] + """ + The AWS Region. + """ + endpoint: pulumi.Input[str] + """ + The endpoint. + """ +elif False: + DataSourceElasticsearchConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceElasticsearchConfigArgs: + def __init__(__self__, *, + aws_region: pulumi.Input[str], + endpoint: pulumi.Input[str]): + """ + :param pulumi.Input[str] aws_region: The AWS Region. + :param pulumi.Input[str] endpoint: The endpoint. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> pulumi.Input[str]: + """ + The AWS Region. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + The endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + +if not MYPY: + class DataSourceEventBridgeConfigArgsDict(TypedDict): + event_bus_arn: pulumi.Input[str] + """ + ARN for the EventBridge bus. + """ +elif False: + DataSourceEventBridgeConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceEventBridgeConfigArgs: + def __init__(__self__, *, + event_bus_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] event_bus_arn: ARN for the EventBridge bus. + """ + pulumi.set(__self__, "event_bus_arn", event_bus_arn) + + @property + @pulumi.getter(name="eventBusArn") + def event_bus_arn(self) -> pulumi.Input[str]: + """ + ARN for the EventBridge bus. + """ + 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 DataSourceHttpConfigArgsDict(TypedDict): + endpoint: pulumi.Input[str] + """ + The endpoint. + """ + authorization_config: NotRequired[pulumi.Input['DataSourceAuthorizationConfigArgsDict']] + """ + The authorization configuration. + """ +elif False: + DataSourceHttpConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceHttpConfigArgs: + def __init__(__self__, *, + endpoint: pulumi.Input[str], + authorization_config: Optional[pulumi.Input['DataSourceAuthorizationConfigArgs']] = None): + """ + :param pulumi.Input[str] endpoint: The endpoint. + :param pulumi.Input['DataSourceAuthorizationConfigArgs'] authorization_config: The authorization configuration. + """ + pulumi.set(__self__, "endpoint", endpoint) + if authorization_config is not None: + pulumi.set(__self__, "authorization_config", authorization_config) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + The endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + @property + @pulumi.getter(name="authorizationConfig") + def authorization_config(self) -> Optional[pulumi.Input['DataSourceAuthorizationConfigArgs']]: + """ + The authorization configuration. + """ + return pulumi.get(self, "authorization_config") + + @authorization_config.setter + def authorization_config(self, value: Optional[pulumi.Input['DataSourceAuthorizationConfigArgs']]): + pulumi.set(self, "authorization_config", value) + + +if not MYPY: + class DataSourceLambdaConfigArgsDict(TypedDict): + lambda_function_arn: pulumi.Input[str] + """ + The ARN for the Lambda function. + """ +elif False: + DataSourceLambdaConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceLambdaConfigArgs: + def __init__(__self__, *, + lambda_function_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] lambda_function_arn: The ARN for the Lambda function. + """ + pulumi.set(__self__, "lambda_function_arn", lambda_function_arn) + + @property + @pulumi.getter(name="lambdaFunctionArn") + def lambda_function_arn(self) -> pulumi.Input[str]: + """ + The ARN for the Lambda function. + """ + return pulumi.get(self, "lambda_function_arn") + + @lambda_function_arn.setter + def lambda_function_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "lambda_function_arn", value) + + +if not MYPY: + class DataSourceOpenSearchServiceConfigArgsDict(TypedDict): + aws_region: pulumi.Input[str] + """ + The AWS Region. + """ + endpoint: pulumi.Input[str] + """ + The endpoint. + """ +elif False: + DataSourceOpenSearchServiceConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceOpenSearchServiceConfigArgs: + def __init__(__self__, *, + aws_region: pulumi.Input[str], + endpoint: pulumi.Input[str]): + """ + :param pulumi.Input[str] aws_region: The AWS Region. + :param pulumi.Input[str] endpoint: The endpoint. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> pulumi.Input[str]: + """ + The AWS Region. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + The endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + +if not MYPY: + class DataSourceRdsHttpEndpointConfigArgsDict(TypedDict): + aws_region: pulumi.Input[str] + """ + AWS Region for RDS HTTP endpoint. + """ + aws_secret_store_arn: pulumi.Input[str] + """ + The ARN for database credentials stored in AWS Secrets Manager. + """ + db_cluster_identifier: pulumi.Input[str] + """ + Amazon RDS cluster Amazon Resource Name (ARN). + """ + database_name: NotRequired[pulumi.Input[str]] + """ + Logical database name. + """ + schema: NotRequired[pulumi.Input[str]] + """ + Logical schema name. + """ +elif False: + DataSourceRdsHttpEndpointConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceRdsHttpEndpointConfigArgs: + def __init__(__self__, *, + aws_region: pulumi.Input[str], + aws_secret_store_arn: pulumi.Input[str], + db_cluster_identifier: pulumi.Input[str], + database_name: Optional[pulumi.Input[str]] = None, + schema: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] aws_region: AWS Region for RDS HTTP endpoint. + :param pulumi.Input[str] aws_secret_store_arn: The ARN for database credentials stored in AWS Secrets Manager. + :param pulumi.Input[str] db_cluster_identifier: Amazon RDS cluster Amazon Resource Name (ARN). + :param pulumi.Input[str] database_name: Logical database name. + :param pulumi.Input[str] schema: Logical schema name. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "aws_secret_store_arn", aws_secret_store_arn) + pulumi.set(__self__, "db_cluster_identifier", db_cluster_identifier) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if schema is not None: + pulumi.set(__self__, "schema", schema) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> pulumi.Input[str]: + """ + AWS Region for RDS HTTP endpoint. + """ + return pulumi.get(self, "aws_region") + + @aws_region.setter + def aws_region(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_region", value) + + @property + @pulumi.getter(name="awsSecretStoreArn") + def aws_secret_store_arn(self) -> pulumi.Input[str]: + """ + The ARN for database credentials stored in AWS Secrets Manager. + """ + return pulumi.get(self, "aws_secret_store_arn") + + @aws_secret_store_arn.setter + def aws_secret_store_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_secret_store_arn", value) + + @property + @pulumi.getter(name="dbClusterIdentifier") + def db_cluster_identifier(self) -> pulumi.Input[str]: + """ + Amazon RDS cluster Amazon Resource Name (ARN). + """ + return pulumi.get(self, "db_cluster_identifier") + + @db_cluster_identifier.setter + def db_cluster_identifier(self, value: pulumi.Input[str]): + pulumi.set(self, "db_cluster_identifier", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[pulumi.Input[str]]: + """ + Logical database name. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def schema(self) -> Optional[pulumi.Input[str]]: + """ + Logical schema name. + """ + return pulumi.get(self, "schema") + + @schema.setter + def schema(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "schema", value) + + +if not MYPY: + class DataSourceRelationalDatabaseConfigArgsDict(TypedDict): + relational_database_source_type: pulumi.Input[str] + """ + The type of relational data source. + """ + rds_http_endpoint_config: NotRequired[pulumi.Input['DataSourceRdsHttpEndpointConfigArgsDict']] + """ + Information about the Amazon RDS resource. + """ +elif False: + DataSourceRelationalDatabaseConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceRelationalDatabaseConfigArgs: + def __init__(__self__, *, + relational_database_source_type: pulumi.Input[str], + rds_http_endpoint_config: Optional[pulumi.Input['DataSourceRdsHttpEndpointConfigArgs']] = None): + """ + :param pulumi.Input[str] relational_database_source_type: The type of relational data source. + :param pulumi.Input['DataSourceRdsHttpEndpointConfigArgs'] rds_http_endpoint_config: Information about the Amazon RDS resource. + """ + pulumi.set(__self__, "relational_database_source_type", relational_database_source_type) + if rds_http_endpoint_config is not None: + pulumi.set(__self__, "rds_http_endpoint_config", rds_http_endpoint_config) + + @property + @pulumi.getter(name="relationalDatabaseSourceType") + def relational_database_source_type(self) -> pulumi.Input[str]: + """ + The type of relational data source. + """ + return pulumi.get(self, "relational_database_source_type") + + @relational_database_source_type.setter + def relational_database_source_type(self, value: pulumi.Input[str]): + pulumi.set(self, "relational_database_source_type", value) + + @property + @pulumi.getter(name="rdsHttpEndpointConfig") + def rds_http_endpoint_config(self) -> Optional[pulumi.Input['DataSourceRdsHttpEndpointConfigArgs']]: + """ + Information about the Amazon RDS resource. + """ + return pulumi.get(self, "rds_http_endpoint_config") + + @rds_http_endpoint_config.setter + def rds_http_endpoint_config(self, value: Optional[pulumi.Input['DataSourceRdsHttpEndpointConfigArgs']]): + pulumi.set(self, "rds_http_endpoint_config", value) + + if not MYPY: class FunctionConfigurationAppSyncRuntimeArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/appsync/data_source.py b/sdk/python/pulumi_aws_native/appsync/data_source.py new file mode 100644 index 0000000000..77ef70aeac --- /dev/null +++ b/sdk/python/pulumi_aws_native/appsync/data_source.py @@ -0,0 +1,597 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DataSourceArgs', 'DataSource'] + +@pulumi.input_type +class DataSourceArgs: + def __init__(__self__, *, + api_id: pulumi.Input[str], + type: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + dynamo_db_config: Optional[pulumi.Input['DataSourceDynamoDbConfigArgs']] = None, + elasticsearch_config: Optional[pulumi.Input['DataSourceElasticsearchConfigArgs']] = None, + event_bridge_config: Optional[pulumi.Input['DataSourceEventBridgeConfigArgs']] = None, + http_config: Optional[pulumi.Input['DataSourceHttpConfigArgs']] = None, + lambda_config: Optional[pulumi.Input['DataSourceLambdaConfigArgs']] = None, + metrics_config: Optional[pulumi.Input['DataSourceMetricsConfig']] = None, + name: Optional[pulumi.Input[str]] = None, + open_search_service_config: Optional[pulumi.Input['DataSourceOpenSearchServiceConfigArgs']] = None, + relational_database_config: Optional[pulumi.Input['DataSourceRelationalDatabaseConfigArgs']] = None, + service_role_arn: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DataSource resource. + :param pulumi.Input[str] api_id: Unique AWS AppSync GraphQL API identifier where this data source will be created. + :param pulumi.Input[str] type: The type of the data source. + :param pulumi.Input[str] description: The description of the data source. + :param pulumi.Input['DataSourceDynamoDbConfigArgs'] dynamo_db_config: AWS Region and TableName for an Amazon DynamoDB table in your account. + :param pulumi.Input['DataSourceElasticsearchConfigArgs'] elasticsearch_config: AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + :param pulumi.Input['DataSourceEventBridgeConfigArgs'] event_bridge_config: ARN for the EventBridge bus. + :param pulumi.Input['DataSourceHttpConfigArgs'] http_config: Endpoints for an HTTP data source. + :param pulumi.Input['DataSourceLambdaConfigArgs'] lambda_config: An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + :param pulumi.Input['DataSourceMetricsConfig'] metrics_config: Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + + `MetricsConfig` can be `ENABLED` or `DISABLED` . + :param pulumi.Input[str] name: Friendly name for you to identify your AppSync data source after creation. + :param pulumi.Input['DataSourceOpenSearchServiceConfigArgs'] open_search_service_config: AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + :param pulumi.Input['DataSourceRelationalDatabaseConfigArgs'] relational_database_config: Relational Database configuration of the relational database data source. + :param pulumi.Input[str] service_role_arn: The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + """ + pulumi.set(__self__, "api_id", api_id) + pulumi.set(__self__, "type", type) + if description is not None: + pulumi.set(__self__, "description", description) + if dynamo_db_config is not None: + pulumi.set(__self__, "dynamo_db_config", dynamo_db_config) + if elasticsearch_config is not None: + pulumi.set(__self__, "elasticsearch_config", elasticsearch_config) + if event_bridge_config is not None: + pulumi.set(__self__, "event_bridge_config", event_bridge_config) + if http_config is not None: + pulumi.set(__self__, "http_config", http_config) + if lambda_config is not None: + pulumi.set(__self__, "lambda_config", lambda_config) + if metrics_config is not None: + pulumi.set(__self__, "metrics_config", metrics_config) + if name is not None: + pulumi.set(__self__, "name", name) + if open_search_service_config is not None: + pulumi.set(__self__, "open_search_service_config", open_search_service_config) + if relational_database_config is not None: + pulumi.set(__self__, "relational_database_config", relational_database_config) + if service_role_arn is not None: + pulumi.set(__self__, "service_role_arn", service_role_arn) + + @property + @pulumi.getter(name="apiId") + def api_id(self) -> pulumi.Input[str]: + """ + Unique AWS AppSync GraphQL API identifier where this data source will be created. + """ + return pulumi.get(self, "api_id") + + @api_id.setter + def api_id(self, value: pulumi.Input[str]): + pulumi.set(self, "api_id", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of the data source. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the data source. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="dynamoDbConfig") + def dynamo_db_config(self) -> Optional[pulumi.Input['DataSourceDynamoDbConfigArgs']]: + """ + AWS Region and TableName for an Amazon DynamoDB table in your account. + """ + return pulumi.get(self, "dynamo_db_config") + + @dynamo_db_config.setter + def dynamo_db_config(self, value: Optional[pulumi.Input['DataSourceDynamoDbConfigArgs']]): + pulumi.set(self, "dynamo_db_config", value) + + @property + @pulumi.getter(name="elasticsearchConfig") + def elasticsearch_config(self) -> Optional[pulumi.Input['DataSourceElasticsearchConfigArgs']]: + """ + AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + """ + return pulumi.get(self, "elasticsearch_config") + + @elasticsearch_config.setter + def elasticsearch_config(self, value: Optional[pulumi.Input['DataSourceElasticsearchConfigArgs']]): + pulumi.set(self, "elasticsearch_config", value) + + @property + @pulumi.getter(name="eventBridgeConfig") + def event_bridge_config(self) -> Optional[pulumi.Input['DataSourceEventBridgeConfigArgs']]: + """ + ARN for the EventBridge bus. + """ + return pulumi.get(self, "event_bridge_config") + + @event_bridge_config.setter + def event_bridge_config(self, value: Optional[pulumi.Input['DataSourceEventBridgeConfigArgs']]): + pulumi.set(self, "event_bridge_config", value) + + @property + @pulumi.getter(name="httpConfig") + def http_config(self) -> Optional[pulumi.Input['DataSourceHttpConfigArgs']]: + """ + Endpoints for an HTTP data source. + """ + return pulumi.get(self, "http_config") + + @http_config.setter + def http_config(self, value: Optional[pulumi.Input['DataSourceHttpConfigArgs']]): + pulumi.set(self, "http_config", value) + + @property + @pulumi.getter(name="lambdaConfig") + def lambda_config(self) -> Optional[pulumi.Input['DataSourceLambdaConfigArgs']]: + """ + An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + """ + return pulumi.get(self, "lambda_config") + + @lambda_config.setter + def lambda_config(self, value: Optional[pulumi.Input['DataSourceLambdaConfigArgs']]): + pulumi.set(self, "lambda_config", value) + + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional[pulumi.Input['DataSourceMetricsConfig']]: + """ + Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + + `MetricsConfig` can be `ENABLED` or `DISABLED` . + """ + return pulumi.get(self, "metrics_config") + + @metrics_config.setter + def metrics_config(self, value: Optional[pulumi.Input['DataSourceMetricsConfig']]): + pulumi.set(self, "metrics_config", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Friendly name for you to identify your AppSync data source after creation. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="openSearchServiceConfig") + def open_search_service_config(self) -> Optional[pulumi.Input['DataSourceOpenSearchServiceConfigArgs']]: + """ + AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + """ + return pulumi.get(self, "open_search_service_config") + + @open_search_service_config.setter + def open_search_service_config(self, value: Optional[pulumi.Input['DataSourceOpenSearchServiceConfigArgs']]): + pulumi.set(self, "open_search_service_config", value) + + @property + @pulumi.getter(name="relationalDatabaseConfig") + def relational_database_config(self) -> Optional[pulumi.Input['DataSourceRelationalDatabaseConfigArgs']]: + """ + Relational Database configuration of the relational database data source. + """ + return pulumi.get(self, "relational_database_config") + + @relational_database_config.setter + def relational_database_config(self, value: Optional[pulumi.Input['DataSourceRelationalDatabaseConfigArgs']]): + pulumi.set(self, "relational_database_config", value) + + @property + @pulumi.getter(name="serviceRoleArn") + def service_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + """ + return pulumi.get(self, "service_role_arn") + + @service_role_arn.setter + def service_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_role_arn", value) + + +class DataSource(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + dynamo_db_config: Optional[pulumi.Input[Union['DataSourceDynamoDbConfigArgs', 'DataSourceDynamoDbConfigArgsDict']]] = None, + elasticsearch_config: Optional[pulumi.Input[Union['DataSourceElasticsearchConfigArgs', 'DataSourceElasticsearchConfigArgsDict']]] = None, + event_bridge_config: Optional[pulumi.Input[Union['DataSourceEventBridgeConfigArgs', 'DataSourceEventBridgeConfigArgsDict']]] = None, + http_config: Optional[pulumi.Input[Union['DataSourceHttpConfigArgs', 'DataSourceHttpConfigArgsDict']]] = None, + lambda_config: Optional[pulumi.Input[Union['DataSourceLambdaConfigArgs', 'DataSourceLambdaConfigArgsDict']]] = None, + metrics_config: Optional[pulumi.Input['DataSourceMetricsConfig']] = None, + name: Optional[pulumi.Input[str]] = None, + open_search_service_config: Optional[pulumi.Input[Union['DataSourceOpenSearchServiceConfigArgs', 'DataSourceOpenSearchServiceConfigArgsDict']]] = None, + relational_database_config: Optional[pulumi.Input[Union['DataSourceRelationalDatabaseConfigArgs', 'DataSourceRelationalDatabaseConfigArgsDict']]] = None, + service_role_arn: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource Type definition for AWS::AppSync::DataSource + + ## Example Usage + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + config = pulumi.Config() + graph_ql_api_id = config.require("graphQlApiId") + data_source_name = config.require("dataSourceName") + data_source_description = config.require("dataSourceDescription") + service_role_arn = config.require("serviceRoleArn") + lambda_function_arn = config.require("lambdaFunctionArn") + data_source = aws_native.appsync.DataSource("dataSource", + api_id=graph_ql_api_id, + name=data_source_name, + description=data_source_description, + type="AWS_LAMBDA", + service_role_arn=service_role_arn, + lambda_config={ + "lambda_function_arn": lambda_function_arn, + }) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + config = pulumi.Config() + graph_ql_api_id = config.require("graphQlApiId") + data_source_name = config.require("dataSourceName") + data_source_description = config.require("dataSourceDescription") + service_role_arn = config.require("serviceRoleArn") + lambda_function_arn = config.require("lambdaFunctionArn") + data_source = aws_native.appsync.DataSource("dataSource", + api_id=graph_ql_api_id, + name=data_source_name, + description=data_source_description, + type="AWS_LAMBDA", + service_role_arn=service_role_arn, + lambda_config={ + "lambda_function_arn": lambda_function_arn, + }) + + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_id: Unique AWS AppSync GraphQL API identifier where this data source will be created. + :param pulumi.Input[str] description: The description of the data source. + :param pulumi.Input[Union['DataSourceDynamoDbConfigArgs', 'DataSourceDynamoDbConfigArgsDict']] dynamo_db_config: AWS Region and TableName for an Amazon DynamoDB table in your account. + :param pulumi.Input[Union['DataSourceElasticsearchConfigArgs', 'DataSourceElasticsearchConfigArgsDict']] elasticsearch_config: AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + :param pulumi.Input[Union['DataSourceEventBridgeConfigArgs', 'DataSourceEventBridgeConfigArgsDict']] event_bridge_config: ARN for the EventBridge bus. + :param pulumi.Input[Union['DataSourceHttpConfigArgs', 'DataSourceHttpConfigArgsDict']] http_config: Endpoints for an HTTP data source. + :param pulumi.Input[Union['DataSourceLambdaConfigArgs', 'DataSourceLambdaConfigArgsDict']] lambda_config: An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + :param pulumi.Input['DataSourceMetricsConfig'] metrics_config: Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + + `MetricsConfig` can be `ENABLED` or `DISABLED` . + :param pulumi.Input[str] name: Friendly name for you to identify your AppSync data source after creation. + :param pulumi.Input[Union['DataSourceOpenSearchServiceConfigArgs', 'DataSourceOpenSearchServiceConfigArgsDict']] open_search_service_config: AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + :param pulumi.Input[Union['DataSourceRelationalDatabaseConfigArgs', 'DataSourceRelationalDatabaseConfigArgsDict']] relational_database_config: Relational Database configuration of the relational database data source. + :param pulumi.Input[str] service_role_arn: The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + :param pulumi.Input[str] type: The type of the data source. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DataSourceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::AppSync::DataSource + + ## Example Usage + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + config = pulumi.Config() + graph_ql_api_id = config.require("graphQlApiId") + data_source_name = config.require("dataSourceName") + data_source_description = config.require("dataSourceDescription") + service_role_arn = config.require("serviceRoleArn") + lambda_function_arn = config.require("lambdaFunctionArn") + data_source = aws_native.appsync.DataSource("dataSource", + api_id=graph_ql_api_id, + name=data_source_name, + description=data_source_description, + type="AWS_LAMBDA", + service_role_arn=service_role_arn, + lambda_config={ + "lambda_function_arn": lambda_function_arn, + }) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + config = pulumi.Config() + graph_ql_api_id = config.require("graphQlApiId") + data_source_name = config.require("dataSourceName") + data_source_description = config.require("dataSourceDescription") + service_role_arn = config.require("serviceRoleArn") + lambda_function_arn = config.require("lambdaFunctionArn") + data_source = aws_native.appsync.DataSource("dataSource", + api_id=graph_ql_api_id, + name=data_source_name, + description=data_source_description, + type="AWS_LAMBDA", + service_role_arn=service_role_arn, + lambda_config={ + "lambda_function_arn": lambda_function_arn, + }) + + ``` + + :param str resource_name: The name of the resource. + :param DataSourceArgs 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(DataSourceArgs, 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, + api_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + dynamo_db_config: Optional[pulumi.Input[Union['DataSourceDynamoDbConfigArgs', 'DataSourceDynamoDbConfigArgsDict']]] = None, + elasticsearch_config: Optional[pulumi.Input[Union['DataSourceElasticsearchConfigArgs', 'DataSourceElasticsearchConfigArgsDict']]] = None, + event_bridge_config: Optional[pulumi.Input[Union['DataSourceEventBridgeConfigArgs', 'DataSourceEventBridgeConfigArgsDict']]] = None, + http_config: Optional[pulumi.Input[Union['DataSourceHttpConfigArgs', 'DataSourceHttpConfigArgsDict']]] = None, + lambda_config: Optional[pulumi.Input[Union['DataSourceLambdaConfigArgs', 'DataSourceLambdaConfigArgsDict']]] = None, + metrics_config: Optional[pulumi.Input['DataSourceMetricsConfig']] = None, + name: Optional[pulumi.Input[str]] = None, + open_search_service_config: Optional[pulumi.Input[Union['DataSourceOpenSearchServiceConfigArgs', 'DataSourceOpenSearchServiceConfigArgsDict']]] = None, + relational_database_config: Optional[pulumi.Input[Union['DataSourceRelationalDatabaseConfigArgs', 'DataSourceRelationalDatabaseConfigArgsDict']]] = None, + service_role_arn: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DataSourceArgs.__new__(DataSourceArgs) + + if api_id is None and not opts.urn: + raise TypeError("Missing required property 'api_id'") + __props__.__dict__["api_id"] = api_id + __props__.__dict__["description"] = description + __props__.__dict__["dynamo_db_config"] = dynamo_db_config + __props__.__dict__["elasticsearch_config"] = elasticsearch_config + __props__.__dict__["event_bridge_config"] = event_bridge_config + __props__.__dict__["http_config"] = http_config + __props__.__dict__["lambda_config"] = lambda_config + __props__.__dict__["metrics_config"] = metrics_config + __props__.__dict__["name"] = name + __props__.__dict__["open_search_service_config"] = open_search_service_config + __props__.__dict__["relational_database_config"] = relational_database_config + __props__.__dict__["service_role_arn"] = service_role_arn + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + __props__.__dict__["data_source_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["apiId", "name"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(DataSource, __self__).__init__( + 'aws-native:appsync:DataSource', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DataSource': + """ + Get an existing DataSource 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DataSourceArgs.__new__(DataSourceArgs) + + __props__.__dict__["api_id"] = None + __props__.__dict__["data_source_arn"] = None + __props__.__dict__["description"] = None + __props__.__dict__["dynamo_db_config"] = None + __props__.__dict__["elasticsearch_config"] = None + __props__.__dict__["event_bridge_config"] = None + __props__.__dict__["http_config"] = None + __props__.__dict__["lambda_config"] = None + __props__.__dict__["metrics_config"] = None + __props__.__dict__["name"] = None + __props__.__dict__["open_search_service_config"] = None + __props__.__dict__["relational_database_config"] = None + __props__.__dict__["service_role_arn"] = None + __props__.__dict__["type"] = None + return DataSource(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="apiId") + def api_id(self) -> pulumi.Output[str]: + """ + Unique AWS AppSync GraphQL API identifier where this data source will be created. + """ + return pulumi.get(self, "api_id") + + @property + @pulumi.getter(name="dataSourceArn") + def data_source_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + """ + return pulumi.get(self, "data_source_arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The description of the data source. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="dynamoDbConfig") + def dynamo_db_config(self) -> pulumi.Output[Optional['outputs.DataSourceDynamoDbConfig']]: + """ + AWS Region and TableName for an Amazon DynamoDB table in your account. + """ + return pulumi.get(self, "dynamo_db_config") + + @property + @pulumi.getter(name="elasticsearchConfig") + def elasticsearch_config(self) -> pulumi.Output[Optional['outputs.DataSourceElasticsearchConfig']]: + """ + AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + """ + return pulumi.get(self, "elasticsearch_config") + + @property + @pulumi.getter(name="eventBridgeConfig") + def event_bridge_config(self) -> pulumi.Output[Optional['outputs.DataSourceEventBridgeConfig']]: + """ + ARN for the EventBridge bus. + """ + return pulumi.get(self, "event_bridge_config") + + @property + @pulumi.getter(name="httpConfig") + def http_config(self) -> pulumi.Output[Optional['outputs.DataSourceHttpConfig']]: + """ + Endpoints for an HTTP data source. + """ + return pulumi.get(self, "http_config") + + @property + @pulumi.getter(name="lambdaConfig") + def lambda_config(self) -> pulumi.Output[Optional['outputs.DataSourceLambdaConfig']]: + """ + An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + """ + return pulumi.get(self, "lambda_config") + + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> pulumi.Output[Optional['DataSourceMetricsConfig']]: + """ + Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + + `MetricsConfig` can be `ENABLED` or `DISABLED` . + """ + return pulumi.get(self, "metrics_config") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Friendly name for you to identify your AppSync data source after creation. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="openSearchServiceConfig") + def open_search_service_config(self) -> pulumi.Output[Optional['outputs.DataSourceOpenSearchServiceConfig']]: + """ + AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + """ + return pulumi.get(self, "open_search_service_config") + + @property + @pulumi.getter(name="relationalDatabaseConfig") + def relational_database_config(self) -> pulumi.Output[Optional['outputs.DataSourceRelationalDatabaseConfig']]: + """ + Relational Database configuration of the relational database data source. + """ + return pulumi.get(self, "relational_database_config") + + @property + @pulumi.getter(name="serviceRoleArn") + def service_role_arn(self) -> pulumi.Output[Optional[str]]: + """ + The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + """ + return pulumi.get(self, "service_role_arn") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the data source. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_aws_native/appsync/get_data_source.py b/sdk/python/pulumi_aws_native/appsync/get_data_source.py new file mode 100644 index 0000000000..fae83758f7 --- /dev/null +++ b/sdk/python/pulumi_aws_native/appsync/get_data_source.py @@ -0,0 +1,236 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetDataSourceResult', + 'AwaitableGetDataSourceResult', + 'get_data_source', + 'get_data_source_output', +] + +@pulumi.output_type +class GetDataSourceResult: + def __init__(__self__, data_source_arn=None, description=None, dynamo_db_config=None, elasticsearch_config=None, event_bridge_config=None, http_config=None, lambda_config=None, metrics_config=None, open_search_service_config=None, relational_database_config=None, service_role_arn=None, type=None): + if data_source_arn and not isinstance(data_source_arn, str): + raise TypeError("Expected argument 'data_source_arn' to be a str") + pulumi.set(__self__, "data_source_arn", data_source_arn) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if dynamo_db_config and not isinstance(dynamo_db_config, dict): + raise TypeError("Expected argument 'dynamo_db_config' to be a dict") + pulumi.set(__self__, "dynamo_db_config", dynamo_db_config) + if elasticsearch_config and not isinstance(elasticsearch_config, dict): + raise TypeError("Expected argument 'elasticsearch_config' to be a dict") + pulumi.set(__self__, "elasticsearch_config", elasticsearch_config) + if event_bridge_config and not isinstance(event_bridge_config, dict): + raise TypeError("Expected argument 'event_bridge_config' to be a dict") + pulumi.set(__self__, "event_bridge_config", event_bridge_config) + if http_config and not isinstance(http_config, dict): + raise TypeError("Expected argument 'http_config' to be a dict") + pulumi.set(__self__, "http_config", http_config) + if lambda_config and not isinstance(lambda_config, dict): + raise TypeError("Expected argument 'lambda_config' to be a dict") + pulumi.set(__self__, "lambda_config", lambda_config) + if metrics_config and not isinstance(metrics_config, str): + raise TypeError("Expected argument 'metrics_config' to be a str") + pulumi.set(__self__, "metrics_config", metrics_config) + if open_search_service_config and not isinstance(open_search_service_config, dict): + raise TypeError("Expected argument 'open_search_service_config' to be a dict") + pulumi.set(__self__, "open_search_service_config", open_search_service_config) + if relational_database_config and not isinstance(relational_database_config, dict): + raise TypeError("Expected argument 'relational_database_config' to be a dict") + pulumi.set(__self__, "relational_database_config", relational_database_config) + if service_role_arn and not isinstance(service_role_arn, str): + raise TypeError("Expected argument 'service_role_arn' to be a str") + pulumi.set(__self__, "service_role_arn", service_role_arn) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="dataSourceArn") + def data_source_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + """ + return pulumi.get(self, "data_source_arn") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The description of the data source. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="dynamoDbConfig") + def dynamo_db_config(self) -> Optional['outputs.DataSourceDynamoDbConfig']: + """ + AWS Region and TableName for an Amazon DynamoDB table in your account. + """ + return pulumi.get(self, "dynamo_db_config") + + @property + @pulumi.getter(name="elasticsearchConfig") + def elasticsearch_config(self) -> Optional['outputs.DataSourceElasticsearchConfig']: + """ + AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source. + """ + return pulumi.get(self, "elasticsearch_config") + + @property + @pulumi.getter(name="eventBridgeConfig") + def event_bridge_config(self) -> Optional['outputs.DataSourceEventBridgeConfig']: + """ + ARN for the EventBridge bus. + """ + return pulumi.get(self, "event_bridge_config") + + @property + @pulumi.getter(name="httpConfig") + def http_config(self) -> Optional['outputs.DataSourceHttpConfig']: + """ + Endpoints for an HTTP data source. + """ + return pulumi.get(self, "http_config") + + @property + @pulumi.getter(name="lambdaConfig") + def lambda_config(self) -> Optional['outputs.DataSourceLambdaConfig']: + """ + An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account. + """ + return pulumi.get(self, "lambda_config") + + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional['DataSourceMetricsConfig']: + """ + Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. + + `MetricsConfig` can be `ENABLED` or `DISABLED` . + """ + return pulumi.get(self, "metrics_config") + + @property + @pulumi.getter(name="openSearchServiceConfig") + def open_search_service_config(self) -> Optional['outputs.DataSourceOpenSearchServiceConfig']: + """ + AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. + """ + return pulumi.get(self, "open_search_service_config") + + @property + @pulumi.getter(name="relationalDatabaseConfig") + def relational_database_config(self) -> Optional['outputs.DataSourceRelationalDatabaseConfig']: + """ + Relational Database configuration of the relational database data source. + """ + return pulumi.get(self, "relational_database_config") + + @property + @pulumi.getter(name="serviceRoleArn") + def service_role_arn(self) -> Optional[str]: + """ + The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source. + """ + return pulumi.get(self, "service_role_arn") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The type of the data source. + """ + return pulumi.get(self, "type") + + +class AwaitableGetDataSourceResult(GetDataSourceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDataSourceResult( + data_source_arn=self.data_source_arn, + description=self.description, + dynamo_db_config=self.dynamo_db_config, + elasticsearch_config=self.elasticsearch_config, + event_bridge_config=self.event_bridge_config, + http_config=self.http_config, + lambda_config=self.lambda_config, + metrics_config=self.metrics_config, + open_search_service_config=self.open_search_service_config, + relational_database_config=self.relational_database_config, + service_role_arn=self.service_role_arn, + type=self.type) + + +def get_data_source(data_source_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataSourceResult: + """ + Resource Type definition for AWS::AppSync::DataSource + + + :param str data_source_arn: The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + """ + __args__ = dict() + __args__['dataSourceArn'] = data_source_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:appsync:getDataSource', __args__, opts=opts, typ=GetDataSourceResult).value + + return AwaitableGetDataSourceResult( + data_source_arn=pulumi.get(__ret__, 'data_source_arn'), + description=pulumi.get(__ret__, 'description'), + dynamo_db_config=pulumi.get(__ret__, 'dynamo_db_config'), + elasticsearch_config=pulumi.get(__ret__, 'elasticsearch_config'), + event_bridge_config=pulumi.get(__ret__, 'event_bridge_config'), + http_config=pulumi.get(__ret__, 'http_config'), + lambda_config=pulumi.get(__ret__, 'lambda_config'), + metrics_config=pulumi.get(__ret__, 'metrics_config'), + open_search_service_config=pulumi.get(__ret__, 'open_search_service_config'), + relational_database_config=pulumi.get(__ret__, 'relational_database_config'), + service_role_arn=pulumi.get(__ret__, 'service_role_arn'), + type=pulumi.get(__ret__, 'type')) +def get_data_source_output(data_source_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataSourceResult]: + """ + Resource Type definition for AWS::AppSync::DataSource + + + :param str data_source_arn: The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename. + """ + __args__ = dict() + __args__['dataSourceArn'] = data_source_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:appsync:getDataSource', __args__, opts=opts, typ=GetDataSourceResult) + return __ret__.apply(lambda __response__: GetDataSourceResult( + data_source_arn=pulumi.get(__response__, 'data_source_arn'), + description=pulumi.get(__response__, 'description'), + dynamo_db_config=pulumi.get(__response__, 'dynamo_db_config'), + elasticsearch_config=pulumi.get(__response__, 'elasticsearch_config'), + event_bridge_config=pulumi.get(__response__, 'event_bridge_config'), + http_config=pulumi.get(__response__, 'http_config'), + lambda_config=pulumi.get(__response__, 'lambda_config'), + metrics_config=pulumi.get(__response__, 'metrics_config'), + open_search_service_config=pulumi.get(__response__, 'open_search_service_config'), + relational_database_config=pulumi.get(__response__, 'relational_database_config'), + service_role_arn=pulumi.get(__response__, 'service_role_arn'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_aws_native/appsync/outputs.py b/sdk/python/pulumi_aws_native/appsync/outputs.py index 972e0ff5c4..7d161cf65d 100644 --- a/sdk/python/pulumi_aws_native/appsync/outputs.py +++ b/sdk/python/pulumi_aws_native/appsync/outputs.py @@ -17,6 +17,17 @@ from ._enums import * __all__ = [ + 'DataSourceAuthorizationConfig', + 'DataSourceAwsIamConfig', + 'DataSourceDeltaSyncConfig', + 'DataSourceDynamoDbConfig', + 'DataSourceElasticsearchConfig', + 'DataSourceEventBridgeConfig', + 'DataSourceHttpConfig', + 'DataSourceLambdaConfig', + 'DataSourceOpenSearchServiceConfig', + 'DataSourceRdsHttpEndpointConfig', + 'DataSourceRelationalDatabaseConfig', 'FunctionConfigurationAppSyncRuntime', 'FunctionConfigurationLambdaConflictHandlerConfig', 'FunctionConfigurationSyncConfig', @@ -28,6 +39,599 @@ 'SourceApiAssociationConfig', ] +@pulumi.output_type +class DataSourceAuthorizationConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authorizationType": + suggest = "authorization_type" + elif key == "awsIamConfig": + suggest = "aws_iam_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceAuthorizationConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceAuthorizationConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceAuthorizationConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + authorization_type: str, + aws_iam_config: Optional['outputs.DataSourceAwsIamConfig'] = None): + """ + :param str authorization_type: The authorization type that the HTTP endpoint requires. + :param 'DataSourceAwsIamConfig' aws_iam_config: The AWS Identity and Access Management settings. + """ + pulumi.set(__self__, "authorization_type", authorization_type) + if aws_iam_config is not None: + pulumi.set(__self__, "aws_iam_config", aws_iam_config) + + @property + @pulumi.getter(name="authorizationType") + def authorization_type(self) -> str: + """ + The authorization type that the HTTP endpoint requires. + """ + return pulumi.get(self, "authorization_type") + + @property + @pulumi.getter(name="awsIamConfig") + def aws_iam_config(self) -> Optional['outputs.DataSourceAwsIamConfig']: + """ + The AWS Identity and Access Management settings. + """ + return pulumi.get(self, "aws_iam_config") + + +@pulumi.output_type +class DataSourceAwsIamConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "signingRegion": + suggest = "signing_region" + elif key == "signingServiceName": + suggest = "signing_service_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceAwsIamConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceAwsIamConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceAwsIamConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + signing_region: Optional[str] = None, + signing_service_name: Optional[str] = None): + """ + :param str signing_region: The signing Region for AWS Identity and Access Management authorization. + :param str signing_service_name: The signing service name for AWS Identity and Access Management authorization. + """ + if signing_region is not None: + pulumi.set(__self__, "signing_region", signing_region) + if signing_service_name is not None: + pulumi.set(__self__, "signing_service_name", signing_service_name) + + @property + @pulumi.getter(name="signingRegion") + def signing_region(self) -> Optional[str]: + """ + The signing Region for AWS Identity and Access Management authorization. + """ + return pulumi.get(self, "signing_region") + + @property + @pulumi.getter(name="signingServiceName") + def signing_service_name(self) -> Optional[str]: + """ + The signing service name for AWS Identity and Access Management authorization. + """ + return pulumi.get(self, "signing_service_name") + + +@pulumi.output_type +class DataSourceDeltaSyncConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "baseTableTtl": + suggest = "base_table_ttl" + elif key == "deltaSyncTableName": + suggest = "delta_sync_table_name" + elif key == "deltaSyncTableTtl": + suggest = "delta_sync_table_ttl" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceDeltaSyncConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceDeltaSyncConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceDeltaSyncConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + base_table_ttl: str, + delta_sync_table_name: str, + delta_sync_table_ttl: str): + """ + :param str base_table_ttl: The number of minutes that an Item is stored in the data source. + :param str delta_sync_table_name: The Delta Sync table name. + :param str delta_sync_table_ttl: The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + """ + pulumi.set(__self__, "base_table_ttl", base_table_ttl) + pulumi.set(__self__, "delta_sync_table_name", delta_sync_table_name) + pulumi.set(__self__, "delta_sync_table_ttl", delta_sync_table_ttl) + + @property + @pulumi.getter(name="baseTableTtl") + def base_table_ttl(self) -> str: + """ + The number of minutes that an Item is stored in the data source. + """ + return pulumi.get(self, "base_table_ttl") + + @property + @pulumi.getter(name="deltaSyncTableName") + def delta_sync_table_name(self) -> str: + """ + The Delta Sync table name. + """ + return pulumi.get(self, "delta_sync_table_name") + + @property + @pulumi.getter(name="deltaSyncTableTtl") + def delta_sync_table_ttl(self) -> str: + """ + The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. + """ + return pulumi.get(self, "delta_sync_table_ttl") + + +@pulumi.output_type +class DataSourceDynamoDbConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "awsRegion": + suggest = "aws_region" + elif key == "tableName": + suggest = "table_name" + elif key == "deltaSyncConfig": + suggest = "delta_sync_config" + elif key == "useCallerCredentials": + suggest = "use_caller_credentials" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceDynamoDbConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceDynamoDbConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceDynamoDbConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aws_region: str, + table_name: str, + delta_sync_config: Optional['outputs.DataSourceDeltaSyncConfig'] = None, + use_caller_credentials: Optional[bool] = None, + versioned: Optional[bool] = None): + """ + :param str aws_region: The AWS Region. + :param str table_name: The table name. + :param 'DataSourceDeltaSyncConfig' delta_sync_config: The DeltaSyncConfig for a versioned datasource. + :param bool use_caller_credentials: Set to TRUE to use AWS Identity and Access Management with this data source. + :param bool versioned: Set to TRUE to use Conflict Detection and Resolution with this data source. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "table_name", table_name) + if delta_sync_config is not None: + pulumi.set(__self__, "delta_sync_config", delta_sync_config) + if use_caller_credentials is not None: + pulumi.set(__self__, "use_caller_credentials", use_caller_credentials) + if versioned is not None: + pulumi.set(__self__, "versioned", versioned) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> str: + """ + The AWS Region. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> str: + """ + The table name. + """ + return pulumi.get(self, "table_name") + + @property + @pulumi.getter(name="deltaSyncConfig") + def delta_sync_config(self) -> Optional['outputs.DataSourceDeltaSyncConfig']: + """ + The DeltaSyncConfig for a versioned datasource. + """ + return pulumi.get(self, "delta_sync_config") + + @property + @pulumi.getter(name="useCallerCredentials") + def use_caller_credentials(self) -> Optional[bool]: + """ + Set to TRUE to use AWS Identity and Access Management with this data source. + """ + return pulumi.get(self, "use_caller_credentials") + + @property + @pulumi.getter + def versioned(self) -> Optional[bool]: + """ + Set to TRUE to use Conflict Detection and Resolution with this data source. + """ + return pulumi.get(self, "versioned") + + +@pulumi.output_type +class DataSourceElasticsearchConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "awsRegion": + suggest = "aws_region" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceElasticsearchConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceElasticsearchConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceElasticsearchConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aws_region: str, + endpoint: str): + """ + :param str aws_region: The AWS Region. + :param str endpoint: The endpoint. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> str: + """ + The AWS Region. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + The endpoint. + """ + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class DataSourceEventBridgeConfig(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 DataSourceEventBridgeConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceEventBridgeConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceEventBridgeConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + event_bus_arn: str): + """ + :param str event_bus_arn: ARN for the EventBridge bus. + """ + pulumi.set(__self__, "event_bus_arn", event_bus_arn) + + @property + @pulumi.getter(name="eventBusArn") + def event_bus_arn(self) -> str: + """ + ARN for the EventBridge bus. + """ + return pulumi.get(self, "event_bus_arn") + + +@pulumi.output_type +class DataSourceHttpConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authorizationConfig": + suggest = "authorization_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceHttpConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceHttpConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceHttpConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + endpoint: str, + authorization_config: Optional['outputs.DataSourceAuthorizationConfig'] = None): + """ + :param str endpoint: The endpoint. + :param 'DataSourceAuthorizationConfig' authorization_config: The authorization configuration. + """ + pulumi.set(__self__, "endpoint", endpoint) + if authorization_config is not None: + pulumi.set(__self__, "authorization_config", authorization_config) + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + The endpoint. + """ + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="authorizationConfig") + def authorization_config(self) -> Optional['outputs.DataSourceAuthorizationConfig']: + """ + The authorization configuration. + """ + return pulumi.get(self, "authorization_config") + + +@pulumi.output_type +class DataSourceLambdaConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lambdaFunctionArn": + suggest = "lambda_function_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceLambdaConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceLambdaConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceLambdaConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + lambda_function_arn: str): + """ + :param str lambda_function_arn: The ARN for the Lambda function. + """ + pulumi.set(__self__, "lambda_function_arn", lambda_function_arn) + + @property + @pulumi.getter(name="lambdaFunctionArn") + def lambda_function_arn(self) -> str: + """ + The ARN for the Lambda function. + """ + return pulumi.get(self, "lambda_function_arn") + + +@pulumi.output_type +class DataSourceOpenSearchServiceConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "awsRegion": + suggest = "aws_region" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceOpenSearchServiceConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceOpenSearchServiceConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceOpenSearchServiceConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aws_region: str, + endpoint: str): + """ + :param str aws_region: The AWS Region. + :param str endpoint: The endpoint. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> str: + """ + The AWS Region. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + The endpoint. + """ + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class DataSourceRdsHttpEndpointConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "awsRegion": + suggest = "aws_region" + elif key == "awsSecretStoreArn": + suggest = "aws_secret_store_arn" + elif key == "dbClusterIdentifier": + suggest = "db_cluster_identifier" + elif key == "databaseName": + suggest = "database_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceRdsHttpEndpointConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceRdsHttpEndpointConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceRdsHttpEndpointConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aws_region: str, + aws_secret_store_arn: str, + db_cluster_identifier: str, + database_name: Optional[str] = None, + schema: Optional[str] = None): + """ + :param str aws_region: AWS Region for RDS HTTP endpoint. + :param str aws_secret_store_arn: The ARN for database credentials stored in AWS Secrets Manager. + :param str db_cluster_identifier: Amazon RDS cluster Amazon Resource Name (ARN). + :param str database_name: Logical database name. + :param str schema: Logical schema name. + """ + pulumi.set(__self__, "aws_region", aws_region) + pulumi.set(__self__, "aws_secret_store_arn", aws_secret_store_arn) + pulumi.set(__self__, "db_cluster_identifier", db_cluster_identifier) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if schema is not None: + pulumi.set(__self__, "schema", schema) + + @property + @pulumi.getter(name="awsRegion") + def aws_region(self) -> str: + """ + AWS Region for RDS HTTP endpoint. + """ + return pulumi.get(self, "aws_region") + + @property + @pulumi.getter(name="awsSecretStoreArn") + def aws_secret_store_arn(self) -> str: + """ + The ARN for database credentials stored in AWS Secrets Manager. + """ + return pulumi.get(self, "aws_secret_store_arn") + + @property + @pulumi.getter(name="dbClusterIdentifier") + def db_cluster_identifier(self) -> str: + """ + Amazon RDS cluster Amazon Resource Name (ARN). + """ + return pulumi.get(self, "db_cluster_identifier") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + """ + Logical database name. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def schema(self) -> Optional[str]: + """ + Logical schema name. + """ + return pulumi.get(self, "schema") + + +@pulumi.output_type +class DataSourceRelationalDatabaseConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "relationalDatabaseSourceType": + suggest = "relational_database_source_type" + elif key == "rdsHttpEndpointConfig": + suggest = "rds_http_endpoint_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceRelationalDatabaseConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceRelationalDatabaseConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceRelationalDatabaseConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + relational_database_source_type: str, + rds_http_endpoint_config: Optional['outputs.DataSourceRdsHttpEndpointConfig'] = None): + """ + :param str relational_database_source_type: The type of relational data source. + :param 'DataSourceRdsHttpEndpointConfig' rds_http_endpoint_config: Information about the Amazon RDS resource. + """ + pulumi.set(__self__, "relational_database_source_type", relational_database_source_type) + if rds_http_endpoint_config is not None: + pulumi.set(__self__, "rds_http_endpoint_config", rds_http_endpoint_config) + + @property + @pulumi.getter(name="relationalDatabaseSourceType") + def relational_database_source_type(self) -> str: + """ + The type of relational data source. + """ + return pulumi.get(self, "relational_database_source_type") + + @property + @pulumi.getter(name="rdsHttpEndpointConfig") + def rds_http_endpoint_config(self) -> Optional['outputs.DataSourceRdsHttpEndpointConfig']: + """ + Information about the Amazon RDS resource. + """ + return pulumi.get(self, "rds_http_endpoint_config") + + @pulumi.output_type class FunctionConfigurationAppSyncRuntime(dict): """ diff --git a/sdk/python/pulumi_aws_native/codebuild/_enums.py b/sdk/python/pulumi_aws_native/codebuild/_enums.py index 4a9e46be07..30ccc0b0fb 100644 --- a/sdk/python/pulumi_aws_native/codebuild/_enums.py +++ b/sdk/python/pulumi_aws_native/codebuild/_enums.py @@ -13,8 +13,6 @@ class FleetComputeType(str, Enum): """ - > Updating this field is not allowed for `MAC_ARM` . - Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -46,8 +44,6 @@ class FleetComputeType(str, Enum): class FleetEnvironmentType(str, Enum): """ - > Updating this field is not allowed for `MAC_ARM` . - The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/python/pulumi_aws_native/codebuild/fleet.py b/sdk/python/pulumi_aws_native/codebuild/fleet.py index 1cdd580e2d..5eb9d9cf33 100644 --- a/sdk/python/pulumi_aws_native/codebuild/fleet.py +++ b/sdk/python/pulumi_aws_native/codebuild/fleet.py @@ -36,9 +36,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Fleet resource. :param pulumi.Input[int] base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. - :param pulumi.Input['FleetComputeType'] compute_type: > Updating this field is not allowed for `MAC_ARM` . - - Information about the compute resources the compute fleet uses. Available values include: + :param pulumi.Input['FleetComputeType'] compute_type: Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. @@ -59,9 +57,7 @@ def __init__(__self__, *, - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* - :param pulumi.Input['FleetEnvironmentType'] environment_type: > Updating this field is not allowed for `MAC_ARM` . - - The environment type of the compute fleet. + :param pulumi.Input['FleetEnvironmentType'] environment_type: The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). @@ -71,12 +67,8 @@ def __init__(__self__, *, For more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* . :param pulumi.Input[str] fleet_service_role: The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . - :param pulumi.Input['FleetVpcConfigArgs'] fleet_vpc_config: > Updating this field is not allowed for `MAC_ARM` . - - Information about the VPC configuration that AWS CodeBuild accesses. - :param pulumi.Input[str] image_id: > Updating this field is not allowed for `MAC_ARM` . - - The Amazon Machine Image (AMI) of the compute fleet. + :param pulumi.Input['FleetVpcConfigArgs'] fleet_vpc_config: Information about the VPC configuration that AWS CodeBuild accesses. + :param pulumi.Input[str] image_id: The Amazon Machine Image (AMI) of the compute fleet. :param pulumi.Input[str] name: The name of the compute fleet. :param pulumi.Input['FleetOverflowBehavior'] overflow_behavior: The compute fleet overflow behavior. @@ -123,8 +115,6 @@ def base_capacity(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="computeType") def compute_type(self) -> Optional[pulumi.Input['FleetComputeType']]: """ - > Updating this field is not allowed for `MAC_ARM` . - Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -157,8 +147,6 @@ def compute_type(self, value: Optional[pulumi.Input['FleetComputeType']]): @pulumi.getter(name="environmentType") def environment_type(self) -> Optional[pulumi.Input['FleetEnvironmentType']]: """ - > Updating this field is not allowed for `MAC_ARM` . - The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -191,8 +179,6 @@ def fleet_service_role(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="fleetVpcConfig") def fleet_vpc_config(self) -> Optional[pulumi.Input['FleetVpcConfigArgs']]: """ - > Updating this field is not allowed for `MAC_ARM` . - Information about the VPC configuration that AWS CodeBuild accesses. """ return pulumi.get(self, "fleet_vpc_config") @@ -205,8 +191,6 @@ def fleet_vpc_config(self, value: Optional[pulumi.Input['FleetVpcConfigArgs']]): @pulumi.getter(name="imageId") def image_id(self) -> Optional[pulumi.Input[str]]: """ - > Updating this field is not allowed for `MAC_ARM` . - The Amazon Machine Image (AMI) of the compute fleet. """ return pulumi.get(self, "image_id") @@ -280,9 +264,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. - :param pulumi.Input['FleetComputeType'] compute_type: > Updating this field is not allowed for `MAC_ARM` . - - Information about the compute resources the compute fleet uses. Available values include: + :param pulumi.Input['FleetComputeType'] compute_type: Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. @@ -303,9 +285,7 @@ def __init__(__self__, - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* - :param pulumi.Input['FleetEnvironmentType'] environment_type: > Updating this field is not allowed for `MAC_ARM` . - - The environment type of the compute fleet. + :param pulumi.Input['FleetEnvironmentType'] environment_type: The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). @@ -315,12 +295,8 @@ def __init__(__self__, For more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* . :param pulumi.Input[str] fleet_service_role: The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . - :param pulumi.Input[Union['FleetVpcConfigArgs', 'FleetVpcConfigArgsDict']] fleet_vpc_config: > Updating this field is not allowed for `MAC_ARM` . - - Information about the VPC configuration that AWS CodeBuild accesses. - :param pulumi.Input[str] image_id: > Updating this field is not allowed for `MAC_ARM` . - - The Amazon Machine Image (AMI) of the compute fleet. + :param pulumi.Input[Union['FleetVpcConfigArgs', 'FleetVpcConfigArgsDict']] fleet_vpc_config: Information about the VPC configuration that AWS CodeBuild accesses. + :param pulumi.Input[str] image_id: The Amazon Machine Image (AMI) of the compute fleet. :param pulumi.Input[str] name: The name of the compute fleet. :param pulumi.Input['FleetOverflowBehavior'] overflow_behavior: The compute fleet overflow behavior. @@ -438,8 +414,6 @@ def base_capacity(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="computeType") def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: """ - > Updating this field is not allowed for `MAC_ARM` . - Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -468,8 +442,6 @@ def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: @pulumi.getter(name="environmentType") def environment_type(self) -> pulumi.Output[Optional['FleetEnvironmentType']]: """ - > Updating this field is not allowed for `MAC_ARM` . - The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -494,8 +466,6 @@ def fleet_service_role(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="fleetVpcConfig") def fleet_vpc_config(self) -> pulumi.Output[Optional['outputs.FleetVpcConfig']]: """ - > Updating this field is not allowed for `MAC_ARM` . - Information about the VPC configuration that AWS CodeBuild accesses. """ return pulumi.get(self, "fleet_vpc_config") @@ -504,8 +474,6 @@ def fleet_vpc_config(self) -> pulumi.Output[Optional['outputs.FleetVpcConfig']]: @pulumi.getter(name="imageId") def image_id(self) -> pulumi.Output[Optional[str]]: """ - > Updating this field is not allowed for `MAC_ARM` . - The Amazon Machine Image (AMI) of the compute fleet. """ return pulumi.get(self, "image_id") diff --git a/sdk/python/pulumi_aws_native/codebuild/get_fleet.py b/sdk/python/pulumi_aws_native/codebuild/get_fleet.py index 2e5ad45988..6c669b0716 100644 --- a/sdk/python/pulumi_aws_native/codebuild/get_fleet.py +++ b/sdk/python/pulumi_aws_native/codebuild/get_fleet.py @@ -78,8 +78,6 @@ def base_capacity(self) -> Optional[int]: @pulumi.getter(name="computeType") def compute_type(self) -> Optional['FleetComputeType']: """ - > Updating this field is not allowed for `MAC_ARM` . - Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -108,8 +106,6 @@ def compute_type(self) -> Optional['FleetComputeType']: @pulumi.getter(name="environmentType") def environment_type(self) -> Optional['FleetEnvironmentType']: """ - > Updating this field is not allowed for `MAC_ARM` . - The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -134,8 +130,6 @@ def fleet_service_role(self) -> Optional[str]: @pulumi.getter(name="fleetVpcConfig") def fleet_vpc_config(self) -> Optional['outputs.FleetVpcConfig']: """ - > Updating this field is not allowed for `MAC_ARM` . - Information about the VPC configuration that AWS CodeBuild accesses. """ return pulumi.get(self, "fleet_vpc_config") @@ -144,8 +138,6 @@ def fleet_vpc_config(self) -> Optional['outputs.FleetVpcConfig']: @pulumi.getter(name="imageId") def image_id(self) -> Optional[str]: """ - > Updating this field is not allowed for `MAC_ARM` . - The Amazon Machine Image (AMI) of the compute fleet. """ return pulumi.get(self, "image_id") diff --git a/sdk/python/pulumi_aws_native/codepipeline/_enums.py b/sdk/python/pulumi_aws_native/codepipeline/_enums.py index 9d13443b20..4d5a14e89f 100644 --- a/sdk/python/pulumi_aws_native/codepipeline/_enums.py +++ b/sdk/python/pulumi_aws_native/codepipeline/_enums.py @@ -25,6 +25,7 @@ class PipelineActionTypeIdCategory(str, Enum): DEPLOY = "Deploy" INVOKE = "Invoke" APPROVAL = "Approval" + COMPUTE = "Compute" class PipelineArtifactStoreType(str, Enum): diff --git a/sdk/python/pulumi_aws_native/codepipeline/_inputs.py b/sdk/python/pulumi_aws_native/codepipeline/_inputs.py index a395851f20..b4cb39a61a 100644 --- a/sdk/python/pulumi_aws_native/codepipeline/_inputs.py +++ b/sdk/python/pulumi_aws_native/codepipeline/_inputs.py @@ -389,6 +389,10 @@ class PipelineActionDeclarationArgsDict(TypedDict): """ The action declaration's name. """ + commands: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + The shell commands to run with your compute action in CodePipeline. + """ configuration: NotRequired[Any] """ The action's configuration. These are key-value pairs that specify input values for an action. @@ -407,6 +411,10 @@ class PipelineActionDeclarationArgsDict(TypedDict): """ The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . """ + output_variables: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + The list of variables that are to be exported from the compute action. + """ region: NotRequired[pulumi.Input[str]] """ The action declaration's AWS Region, such as us-east-1. @@ -431,10 +439,12 @@ class PipelineActionDeclarationArgs: def __init__(__self__, *, action_type_id: pulumi.Input['PipelineActionTypeIdArgs'], name: pulumi.Input[str], + commands: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, configuration: Optional[Any] = None, input_artifacts: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineInputArtifactArgs']]]] = None, namespace: Optional[pulumi.Input[str]] = None, output_artifacts: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineOutputArtifactArgs']]]] = None, + output_variables: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, region: Optional[pulumi.Input[str]] = None, role_arn: Optional[pulumi.Input[str]] = None, run_order: Optional[pulumi.Input[int]] = None, @@ -443,12 +453,14 @@ def __init__(__self__, *, Represents information about an action declaration. :param pulumi.Input['PipelineActionTypeIdArgs'] action_type_id: Specifies the action type and the provider of the action. :param pulumi.Input[str] name: The action declaration's name. + :param pulumi.Input[Sequence[pulumi.Input[str]]] commands: The shell commands to run with your compute action in CodePipeline. :param Any configuration: The action's configuration. These are key-value pairs that specify input values for an action. :param pulumi.Input[Sequence[pulumi.Input['PipelineInputArtifactArgs']]] input_artifacts: The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . > For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* . :param pulumi.Input[str] namespace: The variable namespace associated with the action. All variables produced as output by this action fall under this namespace. :param pulumi.Input[Sequence[pulumi.Input['PipelineOutputArtifactArgs']]] output_artifacts: The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . + :param pulumi.Input[Sequence[pulumi.Input[str]]] output_variables: The list of variables that are to be exported from the compute action. :param pulumi.Input[str] region: The action declaration's AWS Region, such as us-east-1. :param pulumi.Input[str] role_arn: The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline. :param pulumi.Input[int] run_order: The order in which actions are run. @@ -456,6 +468,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "action_type_id", action_type_id) pulumi.set(__self__, "name", name) + if commands is not None: + pulumi.set(__self__, "commands", commands) if configuration is not None: pulumi.set(__self__, "configuration", configuration) if input_artifacts is not None: @@ -464,6 +478,8 @@ def __init__(__self__, *, pulumi.set(__self__, "namespace", namespace) if output_artifacts is not None: pulumi.set(__self__, "output_artifacts", output_artifacts) + if output_variables is not None: + pulumi.set(__self__, "output_variables", output_variables) if region is not None: pulumi.set(__self__, "region", region) if role_arn is not None: @@ -497,6 +513,18 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The shell commands to run with your compute action in CodePipeline. + """ + return pulumi.get(self, "commands") + + @commands.setter + def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "commands", value) + @property @pulumi.getter def configuration(self) -> Optional[Any]: @@ -547,6 +575,18 @@ def output_artifacts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Pipel def output_artifacts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineOutputArtifactArgs']]]]): pulumi.set(self, "output_artifacts", value) + @property + @pulumi.getter(name="outputVariables") + def output_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of variables that are to be exported from the compute action. + """ + return pulumi.get(self, "output_variables") + + @output_variables.setter + def output_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "output_variables", value) + @property @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: @@ -1517,18 +1557,26 @@ class PipelineOutputArtifactArgsDict(TypedDict): """ The name of the output of an artifact, such as "My App". """ + files: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + The files that you want to associate with the output artifact that will be exported from the compute action. + """ elif False: PipelineOutputArtifactArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class PipelineOutputArtifactArgs: def __init__(__self__, *, - name: pulumi.Input[str]): + name: pulumi.Input[str], + files: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Represents information about the output of an action. :param pulumi.Input[str] name: The name of the output of an artifact, such as "My App". + :param pulumi.Input[Sequence[pulumi.Input[str]]] files: The files that you want to associate with the output artifact that will be exported from the compute action. """ pulumi.set(__self__, "name", name) + if files is not None: + pulumi.set(__self__, "files", files) @property @pulumi.getter @@ -1542,6 +1590,18 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def files(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The files that you want to associate with the output artifact that will be exported from the compute action. + """ + return pulumi.get(self, "files") + + @files.setter + def files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "files", value) + if not MYPY: class PipelineRuleDeclarationArgsDict(TypedDict): diff --git a/sdk/python/pulumi_aws_native/codepipeline/outputs.py b/sdk/python/pulumi_aws_native/codepipeline/outputs.py index d620846b7f..c2fc0bc834 100644 --- a/sdk/python/pulumi_aws_native/codepipeline/outputs.py +++ b/sdk/python/pulumi_aws_native/codepipeline/outputs.py @@ -285,6 +285,8 @@ def __key_warning(key: str): suggest = "input_artifacts" elif key == "outputArtifacts": suggest = "output_artifacts" + elif key == "outputVariables": + suggest = "output_variables" elif key == "roleArn": suggest = "role_arn" elif key == "runOrder": @@ -306,10 +308,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, action_type_id: 'outputs.PipelineActionTypeId', name: str, + commands: Optional[Sequence[str]] = None, configuration: Optional[Any] = None, input_artifacts: Optional[Sequence['outputs.PipelineInputArtifact']] = None, namespace: Optional[str] = None, output_artifacts: Optional[Sequence['outputs.PipelineOutputArtifact']] = None, + output_variables: Optional[Sequence[str]] = None, region: Optional[str] = None, role_arn: Optional[str] = None, run_order: Optional[int] = None, @@ -318,12 +322,14 @@ def __init__(__self__, *, Represents information about an action declaration. :param 'PipelineActionTypeId' action_type_id: Specifies the action type and the provider of the action. :param str name: The action declaration's name. + :param Sequence[str] commands: The shell commands to run with your compute action in CodePipeline. :param Any configuration: The action's configuration. These are key-value pairs that specify input values for an action. :param Sequence['PipelineInputArtifact'] input_artifacts: The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . > For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* . :param str namespace: The variable namespace associated with the action. All variables produced as output by this action fall under this namespace. :param Sequence['PipelineOutputArtifact'] output_artifacts: The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* . + :param Sequence[str] output_variables: The list of variables that are to be exported from the compute action. :param str region: The action declaration's AWS Region, such as us-east-1. :param str role_arn: The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline. :param int run_order: The order in which actions are run. @@ -331,6 +337,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "action_type_id", action_type_id) pulumi.set(__self__, "name", name) + if commands is not None: + pulumi.set(__self__, "commands", commands) if configuration is not None: pulumi.set(__self__, "configuration", configuration) if input_artifacts is not None: @@ -339,6 +347,8 @@ def __init__(__self__, *, pulumi.set(__self__, "namespace", namespace) if output_artifacts is not None: pulumi.set(__self__, "output_artifacts", output_artifacts) + if output_variables is not None: + pulumi.set(__self__, "output_variables", output_variables) if region is not None: pulumi.set(__self__, "region", region) if role_arn is not None: @@ -364,6 +374,14 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def commands(self) -> Optional[Sequence[str]]: + """ + The shell commands to run with your compute action in CodePipeline. + """ + return pulumi.get(self, "commands") + @property @pulumi.getter def configuration(self) -> Optional[Any]: @@ -398,6 +416,14 @@ def output_artifacts(self) -> Optional[Sequence['outputs.PipelineOutputArtifact' """ return pulumi.get(self, "output_artifacts") + @property + @pulumi.getter(name="outputVariables") + def output_variables(self) -> Optional[Sequence[str]]: + """ + The list of variables that are to be exported from the compute action. + """ + return pulumi.get(self, "output_variables") + @property @pulumi.getter def region(self) -> Optional[str]: @@ -1087,12 +1113,16 @@ class PipelineOutputArtifact(dict): Represents information about the output of an action. """ def __init__(__self__, *, - name: str): + name: str, + files: Optional[Sequence[str]] = None): """ Represents information about the output of an action. :param str name: The name of the output of an artifact, such as "My App". + :param Sequence[str] files: The files that you want to associate with the output artifact that will be exported from the compute action. """ pulumi.set(__self__, "name", name) + if files is not None: + pulumi.set(__self__, "files", files) @property @pulumi.getter @@ -1102,6 +1132,14 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def files(self) -> Optional[Sequence[str]]: + """ + The files that you want to associate with the output artifact that will be exported from the compute action. + """ + return pulumi.get(self, "files") + @pulumi.output_type class PipelineRuleDeclaration(dict): diff --git a/sdk/python/pulumi_aws_native/cognito/_inputs.py b/sdk/python/pulumi_aws_native/cognito/_inputs.py index dae376b297..3d2631e207 100644 --- a/sdk/python/pulumi_aws_native/cognito/_inputs.py +++ b/sdk/python/pulumi_aws_native/cognito/_inputs.py @@ -602,7 +602,7 @@ def bucket_arn(self, value: Optional[pulumi.Input[str]]): class UserPoolAccountRecoverySettingArgsDict(TypedDict): recovery_mechanisms: NotRequired[pulumi.Input[Sequence[pulumi.Input['UserPoolRecoveryOptionArgsDict']]]] """ - The list of `RecoveryOptionTypes` . + The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. """ elif False: UserPoolAccountRecoverySettingArgsDict: TypeAlias = Mapping[str, Any] @@ -612,7 +612,7 @@ class UserPoolAccountRecoverySettingArgs: def __init__(__self__, *, recovery_mechanisms: Optional[pulumi.Input[Sequence[pulumi.Input['UserPoolRecoveryOptionArgs']]]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input['UserPoolRecoveryOptionArgs']]] recovery_mechanisms: The list of `RecoveryOptionTypes` . + :param pulumi.Input[Sequence[pulumi.Input['UserPoolRecoveryOptionArgs']]] recovery_mechanisms: The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. """ if recovery_mechanisms is not None: pulumi.set(__self__, "recovery_mechanisms", recovery_mechanisms) @@ -621,7 +621,7 @@ def __init__(__self__, *, @pulumi.getter(name="recoveryMechanisms") def recovery_mechanisms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserPoolRecoveryOptionArgs']]]]: """ - The list of `RecoveryOptionTypes` . + The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. """ return pulumi.get(self, "recovery_mechanisms") @@ -683,7 +683,7 @@ class UserPoolAdminCreateUserConfigArgsDict(TypedDict): """ invite_message_template: NotRequired[pulumi.Input['UserPoolInviteMessageTemplateArgsDict']] """ - The message template to be used for the welcome message to new users. + The template for the welcome message to new users. See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . """ @@ -706,7 +706,7 @@ def __init__(__self__, *, unused_account_validity_days: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input[bool] allow_admin_create_user_only: The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. - :param pulumi.Input['UserPoolInviteMessageTemplateArgs'] invite_message_template: The message template to be used for the welcome message to new users. + :param pulumi.Input['UserPoolInviteMessageTemplateArgs'] invite_message_template: The template for the welcome message to new users. See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . :param pulumi.Input[int] unused_account_validity_days: This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . @@ -738,7 +738,7 @@ def allow_admin_create_user_only(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="inviteMessageTemplate") def invite_message_template(self) -> Optional[pulumi.Input['UserPoolInviteMessageTemplateArgs']]: """ - The message template to be used for the welcome message to new users. + The template for the welcome message to new users. See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . """ @@ -792,7 +792,7 @@ def custom_auth_mode(self, value: Optional[pulumi.Input[str]]): class UserPoolClientAnalyticsConfigurationArgsDict(TypedDict): application_arn: NotRequired[pulumi.Input[str]] """ - The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications """ application_id: NotRequired[pulumi.Input[str]] """ @@ -822,7 +822,7 @@ def __init__(__self__, *, role_arn: Optional[pulumi.Input[str]] = None, user_data_shared: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + :param pulumi.Input[str] application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications :param pulumi.Input[str] application_id: Your Amazon Pinpoint project ID. :param pulumi.Input[str] external_id: The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. :param pulumi.Input[str] role_arn: The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. @@ -843,7 +843,7 @@ def __init__(__self__, *, @pulumi.getter(name="applicationArn") def application_arn(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications """ return pulumi.get(self, "application_arn") @@ -976,11 +976,13 @@ def refresh_token(self, value: Optional[pulumi.Input[str]]): class UserPoolCustomEmailSenderArgsDict(TypedDict): lambda_arn: NotRequired[pulumi.Input[str]] """ - The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. """ lambda_version: NotRequired[pulumi.Input[str]] """ - The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ elif False: UserPoolCustomEmailSenderArgsDict: TypeAlias = Mapping[str, Any] @@ -991,8 +993,10 @@ def __init__(__self__, *, lambda_arn: Optional[pulumi.Input[str]] = None, lambda_version: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] lambda_arn: The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. - :param pulumi.Input[str] lambda_version: The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + :param pulumi.Input[str] lambda_arn: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + :param pulumi.Input[str] lambda_version: The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ if lambda_arn is not None: pulumi.set(__self__, "lambda_arn", lambda_arn) @@ -1003,7 +1007,7 @@ def __init__(__self__, *, @pulumi.getter(name="lambdaArn") def lambda_arn(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. """ return pulumi.get(self, "lambda_arn") @@ -1015,7 +1019,9 @@ def lambda_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="lambdaVersion") def lambda_version(self) -> Optional[pulumi.Input[str]]: """ - The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ return pulumi.get(self, "lambda_version") @@ -1028,11 +1034,13 @@ def lambda_version(self, value: Optional[pulumi.Input[str]]): class UserPoolCustomSmsSenderArgsDict(TypedDict): lambda_arn: NotRequired[pulumi.Input[str]] """ - The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. """ lambda_version: NotRequired[pulumi.Input[str]] """ - The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ elif False: UserPoolCustomSmsSenderArgsDict: TypeAlias = Mapping[str, Any] @@ -1043,8 +1051,10 @@ def __init__(__self__, *, lambda_arn: Optional[pulumi.Input[str]] = None, lambda_version: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] lambda_arn: The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. - :param pulumi.Input[str] lambda_version: The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + :param pulumi.Input[str] lambda_arn: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + :param pulumi.Input[str] lambda_version: The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ if lambda_arn is not None: pulumi.set(__self__, "lambda_arn", lambda_arn) @@ -1055,7 +1065,7 @@ def __init__(__self__, *, @pulumi.getter(name="lambdaArn") def lambda_arn(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. """ return pulumi.get(self, "lambda_arn") @@ -1067,7 +1077,9 @@ def lambda_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="lambdaVersion") def lambda_version(self) -> Optional[pulumi.Input[str]]: """ - The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ return pulumi.get(self, "lambda_version") @@ -1176,10 +1188,10 @@ def certificate_arn(self, value: Optional[pulumi.Input[str]]): class UserPoolEmailConfigurationArgsDict(TypedDict): configuration_set: NotRequired[pulumi.Input[str]] """ - The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: - - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. """ email_sending_account: NotRequired[pulumi.Input[str]] """ @@ -1198,7 +1210,7 @@ class UserPoolEmailConfigurationArgsDict(TypedDict): """ from_: NotRequired[pulumi.Input[str]] """ - Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. """ reply_to_email_address: NotRequired[pulumi.Input[str]] """ @@ -1225,10 +1237,10 @@ def __init__(__self__, *, reply_to_email_address: Optional[pulumi.Input[str]] = None, source_arn: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] configuration_set: The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + :param pulumi.Input[str] configuration_set: The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: - - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. :param pulumi.Input[str] email_sending_account: Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values: - **COGNITO_DEFAULT** - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration. @@ -1241,7 +1253,7 @@ def __init__(__self__, *, If you use this option, provide the ARN of an Amazon SES verified email address for the `SourceArn` parameter. Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* . - :param pulumi.Input[str] from_: Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + :param pulumi.Input[str] from_: Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. :param pulumi.Input[str] reply_to_email_address: The destination to which the receiver of the email should reply. :param pulumi.Input[str] source_arn: The ARN of a verified email address or an address from a verified domain in Amazon SES. You can set a `SourceArn` email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the `EmailSendingAccount` parameter: @@ -1265,10 +1277,10 @@ def __init__(__self__, *, @pulumi.getter(name="configurationSet") def configuration_set(self) -> Optional[pulumi.Input[str]]: """ - The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: - - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. """ return pulumi.get(self, "configuration_set") @@ -1303,7 +1315,7 @@ def email_sending_account(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="from") def from_(self) -> Optional[pulumi.Input[str]]: """ - Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. """ return pulumi.get(self, "from_") @@ -1421,7 +1433,7 @@ class UserPoolLambdaConfigArgsDict(TypedDict): """ custom_email_sender: NotRequired[pulumi.Input['UserPoolCustomEmailSenderArgsDict']] """ - A custom email sender AWS Lambda trigger. + The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. """ custom_message: NotRequired[pulumi.Input[str]] """ @@ -1429,7 +1441,7 @@ class UserPoolLambdaConfigArgsDict(TypedDict): """ custom_sms_sender: NotRequired[pulumi.Input['UserPoolCustomSmsSenderArgsDict']] """ - A custom SMS sender AWS Lambda trigger. + The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. """ define_auth_challenge: NotRequired[pulumi.Input[str]] """ @@ -1437,7 +1449,7 @@ class UserPoolLambdaConfigArgsDict(TypedDict): """ kms_key_id: NotRequired[pulumi.Input[str]] """ - The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. """ post_authentication: NotRequired[pulumi.Input[str]] """ @@ -1495,11 +1507,11 @@ def __init__(__self__, *, verify_auth_challenge_response: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] create_auth_challenge: The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . - :param pulumi.Input['UserPoolCustomEmailSenderArgs'] custom_email_sender: A custom email sender AWS Lambda trigger. + :param pulumi.Input['UserPoolCustomEmailSenderArgs'] custom_email_sender: The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. :param pulumi.Input[str] custom_message: A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. - :param pulumi.Input['UserPoolCustomSmsSenderArgs'] custom_sms_sender: A custom SMS sender AWS Lambda trigger. + :param pulumi.Input['UserPoolCustomSmsSenderArgs'] custom_sms_sender: The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. :param pulumi.Input[str] define_auth_challenge: The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . - :param pulumi.Input[str] kms_key_id: The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + :param pulumi.Input[str] kms_key_id: The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. :param pulumi.Input[str] post_authentication: The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. :param pulumi.Input[str] post_confirmation: The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. :param pulumi.Input[str] pre_authentication: The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. @@ -1556,7 +1568,7 @@ def create_auth_challenge(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="customEmailSender") def custom_email_sender(self) -> Optional[pulumi.Input['UserPoolCustomEmailSenderArgs']]: """ - A custom email sender AWS Lambda trigger. + The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. """ return pulumi.get(self, "custom_email_sender") @@ -1580,7 +1592,7 @@ def custom_message(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="customSmsSender") def custom_sms_sender(self) -> Optional[pulumi.Input['UserPoolCustomSmsSenderArgs']]: """ - A custom SMS sender AWS Lambda trigger. + The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. """ return pulumi.get(self, "custom_sms_sender") @@ -1604,7 +1616,7 @@ def define_auth_challenge(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. """ return pulumi.get(self, "kms_key_id") @@ -2021,11 +2033,11 @@ def lambda_version(self, value: Optional[pulumi.Input[str]]): class UserPoolRecoveryOptionArgsDict(TypedDict): name: NotRequired[pulumi.Input[str]] """ - Specifies the recovery method for a user. + The recovery method that this object sets a recovery option for. """ priority: NotRequired[pulumi.Input[int]] """ - A positive integer specifying priority of a method with 1 being the highest priority. + Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . """ elif False: UserPoolRecoveryOptionArgsDict: TypeAlias = Mapping[str, Any] @@ -2036,8 +2048,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, priority: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[str] name: Specifies the recovery method for a user. - :param pulumi.Input[int] priority: A positive integer specifying priority of a method with 1 being the highest priority. + :param pulumi.Input[str] name: The recovery method that this object sets a recovery option for. + :param pulumi.Input[int] priority: Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . """ if name is not None: pulumi.set(__self__, "name", name) @@ -2048,7 +2060,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Specifies the recovery method for a user. + The recovery method that this object sets a recovery option for. """ return pulumi.get(self, "name") @@ -2060,7 +2072,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def priority(self) -> Optional[pulumi.Input[int]]: """ - A positive integer specifying priority of a method with 1 being the highest priority. + Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . """ return pulumi.get(self, "priority") @@ -2651,9 +2663,9 @@ class UserPoolSchemaAttributeArgsDict(TypedDict): """ developer_only_attribute: NotRequired[pulumi.Input[bool]] """ - > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . - Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. """ mutable: NotRequired[pulumi.Input[bool]] """ @@ -2692,9 +2704,9 @@ def __init__(__self__, *, string_attribute_constraints: Optional[pulumi.Input['UserPoolStringAttributeConstraintsArgs']] = None): """ :param pulumi.Input[str] attribute_data_type: The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `"custom:isMember" : "true"` or `"custom:YearsAsMember" : "12"` . - :param pulumi.Input[bool] developer_only_attribute: > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + :param pulumi.Input[bool] developer_only_attribute: > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . - Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. :param pulumi.Input[bool] mutable: Specifies whether the value of the attribute can be changed. Any user pool attribute whose value you map from an IdP attribute must be mutable, with a parameter value of `true` . Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see [Specifying Identity Provider Attribute Mappings for Your User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) . @@ -2734,9 +2746,9 @@ def attribute_data_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="developerOnlyAttribute") def developer_only_attribute(self) -> Optional[pulumi.Input[bool]]: """ - > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . - Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. """ return pulumi.get(self, "developer_only_attribute") @@ -2811,7 +2823,9 @@ def string_attribute_constraints(self, value: Optional[pulumi.Input['UserPoolStr class UserPoolSmsConfigurationArgsDict(TypedDict): external_id: NotRequired[pulumi.Input[str]] """ - The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + + For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . """ sns_caller_arn: NotRequired[pulumi.Input[str]] """ @@ -2833,7 +2847,9 @@ def __init__(__self__, *, sns_caller_arn: Optional[pulumi.Input[str]] = None, sns_region: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] external_id: The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + :param pulumi.Input[str] external_id: The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + + For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . :param pulumi.Input[str] sns_caller_arn: The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) . :param pulumi.Input[str] sns_region: The AWS Region to use with Amazon SNS integration. You can choose the same Region as your user pool, or a supported *Legacy Amazon SNS alternate Region* . @@ -2850,7 +2866,9 @@ def __init__(__self__, *, @pulumi.getter(name="externalId") def external_id(self) -> Optional[pulumi.Input[str]]: """ - The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + + For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . """ return pulumi.get(self, "external_id") diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool.py index 7e903a2af5..1d7ae65311 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool.py @@ -117,7 +117,7 @@ def __init__(__self__, account_recovery_setting=None, admin_create_user_config=N @pulumi.getter(name="accountRecoverySetting") def account_recovery_setting(self) -> Optional['outputs.UserPoolAccountRecoverySetting']: """ - Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. """ return pulumi.get(self, "account_recovery_setting") @@ -136,8 +136,6 @@ def admin_create_user_config(self) -> Optional['outputs.UserPoolAdminCreateUserC def alias_attributes(self) -> Optional[Sequence[str]]: """ Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - - > This user pool property cannot be updated. """ return pulumi.get(self, "alias_attributes") @@ -201,7 +199,7 @@ def email_configuration(self) -> Optional['outputs.UserPoolEmailConfiguration']: @pulumi.getter(name="emailVerificationMessage") def email_verification_message(self) -> Optional[str]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "email_verification_message") @@ -209,7 +207,7 @@ def email_verification_message(self) -> Optional[str]: @pulumi.getter(name="emailVerificationSubject") def email_verification_subject(self) -> Optional[str]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "email_verification_subject") @@ -247,7 +245,7 @@ def policies(self) -> Optional['outputs.UserPoolPolicies']: @pulumi.getter(name="providerName") def provider_name(self) -> Optional[str]: """ - The provider name of the Amazon Cognito user pool, specified as a `String` . + A friendly name for the IdP. """ return pulumi.get(self, "provider_name") @@ -263,9 +261,7 @@ def provider_url(self) -> Optional[str]: @pulumi.getter def schema(self) -> Optional[Sequence['outputs.UserPoolSchemaAttribute']]: """ - The schema attributes for the new user pool. These attributes can be standard or custom attributes. - - > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. """ return pulumi.get(self, "schema") @@ -273,7 +269,7 @@ def schema(self) -> Optional[Sequence['outputs.UserPoolSchemaAttribute']]: @pulumi.getter(name="smsAuthenticationMessage") def sms_authentication_message(self) -> Optional[str]: """ - A string representing the SMS authentication message. + The contents of the SMS authentication message. """ return pulumi.get(self, "sms_authentication_message") @@ -289,7 +285,7 @@ def sms_configuration(self) -> Optional['outputs.UserPoolSmsConfiguration']: @pulumi.getter(name="smsVerificationMessage") def sms_verification_message(self) -> Optional[str]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "sms_verification_message") @@ -341,9 +337,7 @@ def user_pool_tags(self) -> Optional[Mapping[str, str]]: @pulumi.getter(name="usernameAttributes") def username_attributes(self) -> Optional[Sequence[str]]: """ - Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - - This user pool property cannot be updated. + Specifies whether a user can use an email address or phone number as a username when they sign up. """ return pulumi.get(self, "username_attributes") @@ -351,7 +345,9 @@ def username_attributes(self) -> Optional[Sequence[str]]: @pulumi.getter(name="usernameConfiguration") def username_configuration(self) -> Optional['outputs.UserPoolUsernameConfiguration']: """ - You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + + This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . """ return pulumi.get(self, "username_configuration") diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py index 1c53ef639f..ac3a346757 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py @@ -101,9 +101,13 @@ def access_token_validity(self) -> Optional[int]: """ The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + their access token for 10 hours. - The default time unit for `AccessTokenValidity` in an API request is hours. + The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your access + tokens are valid for one hour. """ return pulumi.get(self, "access_token_validity") @@ -270,7 +274,10 @@ def id_token_validity(self) -> Optional[int]: For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. - The default time unit for `IdTokenValidity` in an API request is hours. + The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your ID + tokens are valid for one hour. """ return pulumi.get(self, "id_token_validity") @@ -291,7 +298,14 @@ def name(self) -> Optional[str]: @pulumi.getter(name="preventUserExistenceErrors") def prevent_user_existence_errors(self) -> Optional[str]: """ - Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + + Valid values include: + + - `ENABLED` - This prevents user existence-related errors. + - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + + Defaults to `LEGACY` when you don't provide a value. """ return pulumi.get(self, "prevent_user_existence_errors") @@ -311,9 +325,13 @@ def refresh_token_validity(self) -> Optional[int]: """ The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + and retrieve new access and ID tokens for 10 days. + + The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. - The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + If you don't specify otherwise in the configuration of your app client, your refresh + tokens are valid for 30 days. """ return pulumi.get(self, "refresh_token_validity") diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool_resource_server.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool_resource_server.py index e1c6efaeb7..66b48fa2a0 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool_resource_server.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool_resource_server.py @@ -66,7 +66,9 @@ def get_user_pool_resource_server(identifier: Optional[str] = None, Resource Type definition for AWS::Cognito::UserPoolResourceServer - :param str identifier: A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + :param str identifier: A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + + Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. :param str user_pool_id: The user pool ID for the user pool. """ __args__ = dict() @@ -85,7 +87,9 @@ def get_user_pool_resource_server_output(identifier: Optional[pulumi.Input[str]] Resource Type definition for AWS::Cognito::UserPoolResourceServer - :param str identifier: A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + :param str identifier: A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + + Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. :param str user_pool_id: The user pool ID for the user pool. """ __args__ = dict() diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py index 6e48c89ec5..0f864b57a9 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py @@ -78,7 +78,7 @@ def get_user_pool_risk_configuration_attachment(client_id: Optional[str] = None, Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment - :param str client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + :param str client_id: The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. :param str user_pool_id: The ID of the user pool that has the risk configuration applied. """ __args__ = dict() @@ -98,7 +98,7 @@ def get_user_pool_risk_configuration_attachment_output(client_id: Optional[pulum Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment - :param str client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + :param str client_id: The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. :param str user_pool_id: The ID of the user pool that has the risk configuration applied. """ __args__ = dict() diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool_ui_customization_attachment.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool_ui_customization_attachment.py index 58b6ca9d4a..c86a2a91b6 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool_ui_customization_attachment.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool_ui_customization_attachment.py @@ -53,7 +53,7 @@ def get_user_pool_ui_customization_attachment(client_id: Optional[str] = None, Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment - :param str client_id: The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + :param str client_id: The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. :param str user_pool_id: The user pool ID for the user pool. """ __args__ = dict() @@ -71,7 +71,7 @@ def get_user_pool_ui_customization_attachment_output(client_id: Optional[pulumi. Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment - :param str client_id: The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + :param str client_id: The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. :param str user_pool_id: The user pool ID for the user pool. """ __args__ = dict() diff --git a/sdk/python/pulumi_aws_native/cognito/outputs.py b/sdk/python/pulumi_aws_native/cognito/outputs.py index a8aadc74e8..cc582f5ea6 100644 --- a/sdk/python/pulumi_aws_native/cognito/outputs.py +++ b/sdk/python/pulumi_aws_native/cognito/outputs.py @@ -549,7 +549,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, recovery_mechanisms: Optional[Sequence['outputs.UserPoolRecoveryOption']] = None): """ - :param Sequence['UserPoolRecoveryOption'] recovery_mechanisms: The list of `RecoveryOptionTypes` . + :param Sequence['UserPoolRecoveryOption'] recovery_mechanisms: The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. """ if recovery_mechanisms is not None: pulumi.set(__self__, "recovery_mechanisms", recovery_mechanisms) @@ -558,7 +558,7 @@ def __init__(__self__, *, @pulumi.getter(name="recoveryMechanisms") def recovery_mechanisms(self) -> Optional[Sequence['outputs.UserPoolRecoveryOption']]: """ - The list of `RecoveryOptionTypes` . + The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators. """ return pulumi.get(self, "recovery_mechanisms") @@ -638,7 +638,7 @@ def __init__(__self__, *, unused_account_validity_days: Optional[int] = None): """ :param bool allow_admin_create_user_only: The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. - :param 'UserPoolInviteMessageTemplate' invite_message_template: The message template to be used for the welcome message to new users. + :param 'UserPoolInviteMessageTemplate' invite_message_template: The template for the welcome message to new users. See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . :param int unused_account_validity_days: This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . @@ -666,7 +666,7 @@ def allow_admin_create_user_only(self) -> Optional[bool]: @pulumi.getter(name="inviteMessageTemplate") def invite_message_template(self) -> Optional['outputs.UserPoolInviteMessageTemplate']: """ - The message template to be used for the welcome message to new users. + The template for the welcome message to new users. See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . """ @@ -749,7 +749,7 @@ def __init__(__self__, *, role_arn: Optional[str] = None, user_data_shared: Optional[bool] = None): """ - :param str application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + :param str application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications :param str application_id: Your Amazon Pinpoint project ID. :param str external_id: The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. :param str role_arn: The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. @@ -770,7 +770,7 @@ def __init__(__self__, *, @pulumi.getter(name="applicationArn") def application_arn(self) -> Optional[str]: """ - The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. + The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that `ApplicationArn` declares. You can also configure your application to pass an endpoint ID in the `AnalyticsMetadata` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications """ return pulumi.get(self, "application_arn") @@ -896,8 +896,10 @@ def __init__(__self__, *, lambda_arn: Optional[str] = None, lambda_version: Optional[str] = None): """ - :param str lambda_arn: The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. - :param str lambda_version: The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + :param str lambda_arn: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + :param str lambda_version: The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ if lambda_arn is not None: pulumi.set(__self__, "lambda_arn", lambda_arn) @@ -908,7 +910,7 @@ def __init__(__self__, *, @pulumi.getter(name="lambdaArn") def lambda_arn(self) -> Optional[str]: """ - The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users. + The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. """ return pulumi.get(self, "lambda_arn") @@ -916,7 +918,9 @@ def lambda_arn(self) -> Optional[str]: @pulumi.getter(name="lambdaVersion") def lambda_version(self) -> Optional[str]: """ - The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is `V1_0` . + The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ return pulumi.get(self, "lambda_version") @@ -946,8 +950,10 @@ def __init__(__self__, *, lambda_arn: Optional[str] = None, lambda_version: Optional[str] = None): """ - :param str lambda_arn: The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. - :param str lambda_version: The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + :param str lambda_arn: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + :param str lambda_version: The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ if lambda_arn is not None: pulumi.set(__self__, "lambda_arn", lambda_arn) @@ -958,7 +964,7 @@ def __init__(__self__, *, @pulumi.getter(name="lambdaArn") def lambda_arn(self) -> Optional[str]: """ - The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users. + The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. """ return pulumi.get(self, "lambda_arn") @@ -966,7 +972,9 @@ def lambda_arn(self) -> Optional[str]: @pulumi.getter(name="lambdaVersion") def lambda_version(self) -> Optional[str]: """ - The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is `V1_0` . + The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. + + You must use a `LambdaVersion` of `V1_0` with a custom sender function. """ return pulumi.get(self, "lambda_version") @@ -1099,10 +1107,10 @@ def __init__(__self__, *, reply_to_email_address: Optional[str] = None, source_arn: Optional[str] = None): """ - :param str configuration_set: The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + :param str configuration_set: The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: - - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. :param str email_sending_account: Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values: - **COGNITO_DEFAULT** - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration. @@ -1115,7 +1123,7 @@ def __init__(__self__, *, If you use this option, provide the ARN of an Amazon SES verified email address for the `SourceArn` parameter. Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see [Using Service-Linked Roles for Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) in the *Amazon Cognito Developer Guide* . - :param str from_: Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + :param str from_: Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. :param str reply_to_email_address: The destination to which the receiver of the email should reply. :param str source_arn: The ARN of a verified email address or an address from a verified domain in Amazon SES. You can set a `SourceArn` email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the `EmailSendingAccount` parameter: @@ -1139,10 +1147,10 @@ def __init__(__self__, *, @pulumi.getter(name="configurationSet") def configuration_set(self) -> Optional[str]: """ - The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: + The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: - - Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - - IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. + - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch + - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets. """ return pulumi.get(self, "configuration_set") @@ -1169,7 +1177,7 @@ def email_sending_account(self) -> Optional[str]: @pulumi.getter(name="from") def from_(self) -> Optional[str]: """ - Identifies either the sender's email address or the sender's name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. + Either the sender’s email address or the sender’s name with their email address. For example, `testuser@example.com` or `Test User ` . This address appears before the body of the email. """ return pulumi.get(self, "from_") @@ -1321,11 +1329,11 @@ def __init__(__self__, *, verify_auth_challenge_response: Optional[str] = None): """ :param str create_auth_challenge: The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . - :param 'UserPoolCustomEmailSender' custom_email_sender: A custom email sender AWS Lambda trigger. + :param 'UserPoolCustomEmailSender' custom_email_sender: The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. :param str custom_message: A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. - :param 'UserPoolCustomSmsSender' custom_sms_sender: A custom SMS sender AWS Lambda trigger. + :param 'UserPoolCustomSmsSender' custom_sms_sender: The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. :param str define_auth_challenge: The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . - :param str kms_key_id: The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + :param str kms_key_id: The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. :param str post_authentication: The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. :param str post_confirmation: The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. :param str pre_authentication: The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. @@ -1378,7 +1386,7 @@ def create_auth_challenge(self) -> Optional[str]: @pulumi.getter(name="customEmailSender") def custom_email_sender(self) -> Optional['outputs.UserPoolCustomEmailSender']: """ - A custom email sender AWS Lambda trigger. + The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic. """ return pulumi.get(self, "custom_email_sender") @@ -1394,7 +1402,7 @@ def custom_message(self) -> Optional[str]: @pulumi.getter(name="customSmsSender") def custom_sms_sender(self) -> Optional['outputs.UserPoolCustomSmsSender']: """ - A custom SMS sender AWS Lambda trigger. + The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic. """ return pulumi.get(self, "custom_sms_sender") @@ -1410,7 +1418,7 @@ def define_auth_challenge(self) -> Optional[str]: @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[str]: """ - The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . + The ARN of an [KMS key](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys) . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers. """ return pulumi.get(self, "kms_key_id") @@ -1755,8 +1763,8 @@ def __init__(__self__, *, name: Optional[str] = None, priority: Optional[int] = None): """ - :param str name: Specifies the recovery method for a user. - :param int priority: A positive integer specifying priority of a method with 1 being the highest priority. + :param str name: The recovery method that this object sets a recovery option for. + :param int priority: Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . """ if name is not None: pulumi.set(__self__, "name", name) @@ -1767,7 +1775,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> Optional[str]: """ - Specifies the recovery method for a user. + The recovery method that this object sets a recovery option for. """ return pulumi.get(self, "name") @@ -1775,7 +1783,7 @@ def name(self) -> Optional[str]: @pulumi.getter def priority(self) -> Optional[int]: """ - A positive integer specifying priority of a method with 1 being the highest priority. + Your priority preference for using the specified attribute in account recovery. The highest priority is `1` . """ return pulumi.get(self, "priority") @@ -2328,9 +2336,9 @@ def __init__(__self__, *, string_attribute_constraints: Optional['outputs.UserPoolStringAttributeConstraints'] = None): """ :param str attribute_data_type: The data format of the values for your attribute. When you choose an `AttributeDataType` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example `"custom:isMember" : "true"` or `"custom:YearsAsMember" : "12"` . - :param bool developer_only_attribute: > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + :param bool developer_only_attribute: > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . - Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. :param bool mutable: Specifies whether the value of the attribute can be changed. Any user pool attribute whose value you map from an IdP attribute must be mutable, with a parameter value of `true` . Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see [Specifying Identity Provider Attribute Mappings for Your User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html) . @@ -2366,9 +2374,9 @@ def attribute_data_type(self) -> Optional[str]: @pulumi.getter(name="developerOnlyAttribute") def developer_only_attribute(self) -> Optional[bool]: """ - > We recommend that you use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . + > You should use [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) in the user pool client to control how attributes can be mutated for new use cases instead of using `DeveloperOnlyAttribute` . - Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. + Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, `DeveloperOnlyAttribute` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes. """ return pulumi.get(self, "developer_only_attribute") @@ -2443,7 +2451,9 @@ def __init__(__self__, *, sns_caller_arn: Optional[str] = None, sns_region: Optional[str] = None): """ - :param str external_id: The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + :param str external_id: The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + + For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . :param str sns_caller_arn: The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a [spending limit](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html) . :param str sns_region: The AWS Region to use with Amazon SNS integration. You can choose the same Region as your user pool, or a supported *Legacy Amazon SNS alternate Region* . @@ -2460,7 +2470,9 @@ def __init__(__self__, *, @pulumi.getter(name="externalId") def external_id(self) -> Optional[str]: """ - The external ID is a value. We recommend you use `ExternalId` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the `ExternalID` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses `ExternalId` . + The external ID provides additional security for your IAM role. You can use an `ExternalId` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an `ExternalId` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the `ExternalID` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the `ExternalId` . + + For more information about the `ExternalId` of a role, see [How to use an external ID when granting access to your AWS resources to a third party](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) . """ return pulumi.get(self, "external_id") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool.py b/sdk/python/pulumi_aws_native/cognito/user_pool.py index 203c064e72..8fda1f53a5 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool.py @@ -49,13 +49,11 @@ def __init__(__self__, *, verification_message_template: Optional[pulumi.Input['UserPoolVerificationMessageTemplateArgs']] = None): """ The set of arguments for constructing a UserPool resource. - :param pulumi.Input['UserPoolAccountRecoverySettingArgs'] account_recovery_setting: Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + :param pulumi.Input['UserPoolAccountRecoverySettingArgs'] account_recovery_setting: The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. :param pulumi.Input['UserPoolAdminCreateUserConfigArgs'] admin_create_user_config: The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . :param pulumi.Input[Sequence[pulumi.Input[str]]] alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - - > This user pool property cannot be updated. :param pulumi.Input[Sequence[pulumi.Input[str]]] auto_verified_attributes: The attributes to be auto-verified. Possible values: *email* , *phone_number* . :param pulumi.Input[str] deletion_protection: When active, `DeletionProtection` prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you @@ -66,14 +64,15 @@ def __init__(__self__, *, > When you provide a value for any `DeviceConfiguration` field, you activate the Amazon Cognito device-remembering feature. :param pulumi.Input['UserPoolEmailConfigurationArgs'] email_configuration: The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool. - :param pulumi.Input[str] email_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . - :param pulumi.Input[str] email_verification_subject: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . - :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_mfas: Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + :param pulumi.Input[str] email_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . + :param pulumi.Input[str] email_verification_subject: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . + :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_mfas: Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: - - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . - Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` :param pulumi.Input['UserPoolLambdaConfigArgs'] lambda_config: A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. :param pulumi.Input[str] mfa_configuration: The multi-factor authentication (MFA) configuration. Valid values include: @@ -83,12 +82,10 @@ def __init__(__self__, *, :param pulumi.Input['UserPoolPoliciesArgs'] policies: A list of user pool policies. Contains the policy that sets password-complexity requirements. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . - :param pulumi.Input[Sequence[pulumi.Input['UserPoolSchemaAttributeArgs']]] schema: The schema attributes for the new user pool. These attributes can be standard or custom attributes. - - > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. - :param pulumi.Input[str] sms_authentication_message: A string representing the SMS authentication message. + :param pulumi.Input[Sequence[pulumi.Input['UserPoolSchemaAttributeArgs']]] schema: An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. + :param pulumi.Input[str] sms_authentication_message: The contents of the SMS authentication message. :param pulumi.Input['UserPoolSmsConfigurationArgs'] sms_configuration: The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . - :param pulumi.Input[str] sms_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + :param pulumi.Input[str] sms_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . :param pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs'] user_attribute_update_settings: The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . @@ -97,10 +94,10 @@ def __init__(__self__, *, For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . :param pulumi.Input[str] user_pool_name: A string used to name the user pool. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_pool_tags: The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. - :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . + :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Specifies whether a user can use an email address or phone number as a username when they sign up. + :param pulumi.Input['UserPoolUsernameConfigurationArgs'] username_configuration: Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. - This user pool property cannot be updated. - :param pulumi.Input['UserPoolUsernameConfigurationArgs'] username_configuration: You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . :param pulumi.Input['UserPoolVerificationMessageTemplateArgs'] verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. @@ -162,7 +159,7 @@ def __init__(__self__, *, @pulumi.getter(name="accountRecoverySetting") def account_recovery_setting(self) -> Optional[pulumi.Input['UserPoolAccountRecoverySettingArgs']]: """ - Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. """ return pulumi.get(self, "account_recovery_setting") @@ -189,8 +186,6 @@ def admin_create_user_config(self, value: Optional[pulumi.Input['UserPoolAdminCr def alias_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - - > This user pool property cannot be updated. """ return pulumi.get(self, "alias_attributes") @@ -274,7 +269,7 @@ def email_configuration(self, value: Optional[pulumi.Input['UserPoolEmailConfigu @pulumi.getter(name="emailVerificationMessage") def email_verification_message(self) -> Optional[pulumi.Input[str]]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "email_verification_message") @@ -286,7 +281,7 @@ def email_verification_message(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="emailVerificationSubject") def email_verification_subject(self) -> Optional[pulumi.Input[str]]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "email_verification_subject") @@ -298,12 +293,13 @@ def email_verification_subject(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="enabledMfas") def enabled_mfas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: - - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . - Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` """ return pulumi.get(self, "enabled_mfas") @@ -357,9 +353,7 @@ def policies(self, value: Optional[pulumi.Input['UserPoolPoliciesArgs']]): @pulumi.getter def schema(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserPoolSchemaAttributeArgs']]]]: """ - The schema attributes for the new user pool. These attributes can be standard or custom attributes. - - > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. """ return pulumi.get(self, "schema") @@ -371,7 +365,7 @@ def schema(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserPoolSch @pulumi.getter(name="smsAuthenticationMessage") def sms_authentication_message(self) -> Optional[pulumi.Input[str]]: """ - A string representing the SMS authentication message. + The contents of the SMS authentication message. """ return pulumi.get(self, "sms_authentication_message") @@ -395,7 +389,7 @@ def sms_configuration(self, value: Optional[pulumi.Input['UserPoolSmsConfigurati @pulumi.getter(name="smsVerificationMessage") def sms_verification_message(self) -> Optional[pulumi.Input[str]]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "sms_verification_message") @@ -459,9 +453,7 @@ def user_pool_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[ @pulumi.getter(name="usernameAttributes") def username_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - - This user pool property cannot be updated. + Specifies whether a user can use an email address or phone number as a username when they sign up. """ return pulumi.get(self, "username_attributes") @@ -473,7 +465,9 @@ def username_attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @pulumi.getter(name="usernameConfiguration") def username_configuration(self) -> Optional[pulumi.Input['UserPoolUsernameConfigurationArgs']]: """ - You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + + This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . """ return pulumi.get(self, "username_configuration") @@ -533,13 +527,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['UserPoolAccountRecoverySettingArgs', 'UserPoolAccountRecoverySettingArgsDict']] account_recovery_setting: Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + :param pulumi.Input[Union['UserPoolAccountRecoverySettingArgs', 'UserPoolAccountRecoverySettingArgsDict']] account_recovery_setting: The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. :param pulumi.Input[Union['UserPoolAdminCreateUserConfigArgs', 'UserPoolAdminCreateUserConfigArgsDict']] admin_create_user_config: The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . :param pulumi.Input[Sequence[pulumi.Input[str]]] alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - - > This user pool property cannot be updated. :param pulumi.Input[Sequence[pulumi.Input[str]]] auto_verified_attributes: The attributes to be auto-verified. Possible values: *email* , *phone_number* . :param pulumi.Input[str] deletion_protection: When active, `DeletionProtection` prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you @@ -550,14 +542,15 @@ def __init__(__self__, > When you provide a value for any `DeviceConfiguration` field, you activate the Amazon Cognito device-remembering feature. :param pulumi.Input[Union['UserPoolEmailConfigurationArgs', 'UserPoolEmailConfigurationArgsDict']] email_configuration: The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool. - :param pulumi.Input[str] email_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . - :param pulumi.Input[str] email_verification_subject: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . - :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_mfas: Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + :param pulumi.Input[str] email_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . + :param pulumi.Input[str] email_verification_subject: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . + :param pulumi.Input[Sequence[pulumi.Input[str]]] enabled_mfas: Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: - - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . - Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` :param pulumi.Input[Union['UserPoolLambdaConfigArgs', 'UserPoolLambdaConfigArgsDict']] lambda_config: A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. :param pulumi.Input[str] mfa_configuration: The multi-factor authentication (MFA) configuration. Valid values include: @@ -567,12 +560,10 @@ def __init__(__self__, :param pulumi.Input[Union['UserPoolPoliciesArgs', 'UserPoolPoliciesArgsDict']] policies: A list of user pool policies. Contains the policy that sets password-complexity requirements. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . - :param pulumi.Input[Sequence[pulumi.Input[Union['UserPoolSchemaAttributeArgs', 'UserPoolSchemaAttributeArgsDict']]]] schema: The schema attributes for the new user pool. These attributes can be standard or custom attributes. - - > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. - :param pulumi.Input[str] sms_authentication_message: A string representing the SMS authentication message. + :param pulumi.Input[Sequence[pulumi.Input[Union['UserPoolSchemaAttributeArgs', 'UserPoolSchemaAttributeArgsDict']]]] schema: An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. + :param pulumi.Input[str] sms_authentication_message: The contents of the SMS authentication message. :param pulumi.Input[Union['UserPoolSmsConfigurationArgs', 'UserPoolSmsConfigurationArgsDict']] sms_configuration: The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account . - :param pulumi.Input[str] sms_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + :param pulumi.Input[str] sms_verification_message: This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . :param pulumi.Input[Union['UserPoolUserAttributeUpdateSettingsArgs', 'UserPoolUserAttributeUpdateSettingsArgsDict']] user_attribute_update_settings: The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . @@ -581,10 +572,10 @@ def __init__(__self__, For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . :param pulumi.Input[str] user_pool_name: A string used to name the user pool. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_pool_tags: The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. - :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . + :param pulumi.Input[Sequence[pulumi.Input[str]]] username_attributes: Specifies whether a user can use an email address or phone number as a username when they sign up. + :param pulumi.Input[Union['UserPoolUsernameConfigurationArgs', 'UserPoolUsernameConfigurationArgsDict']] username_configuration: Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. - This user pool property cannot be updated. - :param pulumi.Input[Union['UserPoolUsernameConfigurationArgs', 'UserPoolUsernameConfigurationArgsDict']] username_configuration: You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . :param pulumi.Input[Union['UserPoolVerificationMessageTemplateArgs', 'UserPoolVerificationMessageTemplateArgsDict']] verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. @@ -736,7 +727,7 @@ def get(resource_name: str, @pulumi.getter(name="accountRecoverySetting") def account_recovery_setting(self) -> pulumi.Output[Optional['outputs.UserPoolAccountRecoverySetting']]: """ - Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. + The available verified method a user can use to recover their password when they call `ForgotPassword` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email. """ return pulumi.get(self, "account_recovery_setting") @@ -755,8 +746,6 @@ def admin_create_user_config(self) -> pulumi.Output[Optional['outputs.UserPoolAd def alias_attributes(self) -> pulumi.Output[Optional[Sequence[str]]]: """ Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . - - > This user pool property cannot be updated. """ return pulumi.get(self, "alias_attributes") @@ -820,7 +809,7 @@ def email_configuration(self) -> pulumi.Output[Optional['outputs.UserPoolEmailCo @pulumi.getter(name="emailVerificationMessage") def email_verification_message(self) -> pulumi.Output[Optional[str]]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "email_verification_message") @@ -828,7 +817,7 @@ def email_verification_message(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="emailVerificationSubject") def email_verification_subject(self) -> pulumi.Output[Optional[str]]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "email_verification_subject") @@ -836,12 +825,13 @@ def email_verification_subject(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="enabledMfas") def enabled_mfas(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to "OFF" and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to "OFF". Can be one of the following values: + Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set `MfaConfiguration` to `OFF` and remove EnabledMfas. MFAs can only be all disabled if `MfaConfiguration` is `OFF` . After you enable `SMS_MFA` , you can only disable it by setting `MfaConfiguration` to `OFF` . Can be one of the following values: - - `SMS_MFA` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. + - `SMS_MFA` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for `SmsConfiguration` . - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. + - `EMAIL_OTP` - Enables MFA with email for the user pool. To select this option, you must provide values for `EmailConfiguration` and within those, set `EmailSendingAccount` to `DEVELOPER` . - Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` + Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` | `EMAIL_OTP` """ return pulumi.get(self, "enabled_mfas") @@ -879,7 +869,7 @@ def policies(self) -> pulumi.Output[Optional['outputs.UserPoolPolicies']]: @pulumi.getter(name="providerName") def provider_name(self) -> pulumi.Output[str]: """ - The provider name of the Amazon Cognito user pool, specified as a `String` . + A friendly name for the IdP. """ return pulumi.get(self, "provider_name") @@ -895,9 +885,7 @@ def provider_url(self) -> pulumi.Output[str]: @pulumi.getter def schema(self) -> pulumi.Output[Optional[Sequence['outputs.UserPoolSchemaAttribute']]]: """ - The schema attributes for the new user pool. These attributes can be standard or custom attributes. - - > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. + An array of schema attributes for the new user pool. These attributes can be standard or custom attributes. """ return pulumi.get(self, "schema") @@ -905,7 +893,7 @@ def schema(self) -> pulumi.Output[Optional[Sequence['outputs.UserPoolSchemaAttri @pulumi.getter(name="smsAuthenticationMessage") def sms_authentication_message(self) -> pulumi.Output[Optional[str]]: """ - A string representing the SMS authentication message. + The contents of the SMS authentication message. """ return pulumi.get(self, "sms_authentication_message") @@ -921,7 +909,7 @@ def sms_configuration(self) -> pulumi.Output[Optional['outputs.UserPoolSmsConfig @pulumi.getter(name="smsVerificationMessage") def sms_verification_message(self) -> pulumi.Output[Optional[str]]: """ - This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . + This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html) . """ return pulumi.get(self, "sms_verification_message") @@ -973,9 +961,7 @@ def user_pool_tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @pulumi.getter(name="usernameAttributes") def username_attributes(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: `phone_number` or `email` . - - This user pool property cannot be updated. + Specifies whether a user can use an email address or phone number as a username when they sign up. """ return pulumi.get(self, "username_attributes") @@ -983,7 +969,9 @@ def username_attributes(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter(name="usernameConfiguration") def username_configuration(self) -> pulumi.Output[Optional['outputs.UserPoolUsernameConfiguration']]: """ - You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. + Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to `False` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, `username` , `USERNAME` , or `UserName` , or for email, `email@example.com` or `EMaiL@eXamplE.Com` . For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. + + This configuration is immutable after you set it. For more information, see [UsernameConfigurationType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html) . """ return pulumi.get(self, "username_configuration") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_client.py b/sdk/python/pulumi_aws_native/cognito/user_pool_client.py index 44eaebc892..c47d339d47 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_client.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_client.py @@ -48,9 +48,13 @@ def __init__(__self__, *, :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool where you want to create a user pool client. :param pulumi.Input[int] access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + their access token for 10 hours. - The default time unit for `AccessTokenValidity` in an API request is hours. + The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your access + tokens are valid for one hour. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_o_auth_flows: The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the `/oauth2/token` endpoint. @@ -121,17 +125,31 @@ def __init__(__self__, *, For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. - The default time unit for `IdTokenValidity` in an API request is hours. + The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your ID + tokens are valid for one hour. :param pulumi.Input[Sequence[pulumi.Input[str]]] logout_urls: A list of allowed logout URLs for the IdPs. - :param pulumi.Input[str] prevent_user_existence_errors: Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + :param pulumi.Input[str] prevent_user_existence_errors: Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + + Valid values include: + + - `ENABLED` - This prevents user existence-related errors. + - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + + Defaults to `LEGACY` when you don't provide a value. :param pulumi.Input[Sequence[pulumi.Input[str]]] read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. :param pulumi.Input[int] refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + and retrieve new access and ID tokens for 10 days. + + The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. - The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + If you don't specify otherwise in the configuration of your app client, your refresh + tokens are valid for 30 days. :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` . :param pulumi.Input['UserPoolClientTokenValidityUnitsArgs'] token_validity_units: The units in which the validity times are represented. The default unit for RefreshToken is days, and default for ID and access tokens are hours. :param pulumi.Input[Sequence[pulumi.Input[str]]] write_attributes: The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list. An example of this kind of activity is when you present your user with a form to update their profile information and they change their last name. Your app then makes an [UpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html) API request and sets `family_name` to the new value. @@ -202,9 +220,13 @@ def access_token_validity(self) -> Optional[pulumi.Input[int]]: """ The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + their access token for 10 hours. - The default time unit for `AccessTokenValidity` in an API request is hours. + The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your access + tokens are valid for one hour. """ return pulumi.get(self, "access_token_validity") @@ -418,7 +440,10 @@ def id_token_validity(self) -> Optional[pulumi.Input[int]]: For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. - The default time unit for `IdTokenValidity` in an API request is hours. + The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your ID + tokens are valid for one hour. """ return pulumi.get(self, "id_token_validity") @@ -442,7 +467,14 @@ def logout_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter(name="preventUserExistenceErrors") def prevent_user_existence_errors(self) -> Optional[pulumi.Input[str]]: """ - Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + + Valid values include: + + - `ENABLED` - This prevents user existence-related errors. + - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + + Defaults to `LEGACY` when you don't provide a value. """ return pulumi.get(self, "prevent_user_existence_errors") @@ -470,9 +502,13 @@ def refresh_token_validity(self) -> Optional[pulumi.Input[int]]: """ The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + and retrieve new access and ID tokens for 10 days. + + The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. - The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + If you don't specify otherwise in the configuration of your app client, your refresh + tokens are valid for 30 days. """ return pulumi.get(self, "refresh_token_validity") @@ -556,9 +592,13 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + their access token for 10 hours. - The default time unit for `AccessTokenValidity` in an API request is hours. + The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your access + tokens are valid for one hour. :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_o_auth_flows: The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add `client_credentials` as the only allowed OAuth flow. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the `/oauth2/token` endpoint. @@ -629,17 +669,31 @@ def __init__(__self__, For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. - The default time unit for `IdTokenValidity` in an API request is hours. + The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your ID + tokens are valid for one hour. :param pulumi.Input[Sequence[pulumi.Input[str]]] logout_urls: A list of allowed logout URLs for the IdPs. - :param pulumi.Input[str] prevent_user_existence_errors: Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + :param pulumi.Input[str] prevent_user_existence_errors: Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + + Valid values include: + + - `ENABLED` - This prevents user existence-related errors. + - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + + Defaults to `LEGACY` when you don't provide a value. :param pulumi.Input[Sequence[pulumi.Input[str]]] read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. :param pulumi.Input[int] refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + and retrieve new access and ID tokens for 10 days. + + The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. - The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + If you don't specify otherwise in the configuration of your app client, your refresh + tokens are valid for 30 days. :param pulumi.Input[Sequence[pulumi.Input[str]]] supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: `COGNITO` , `Facebook` , `Google` , `SignInWithApple` , and `LoginWithAmazon` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP` . :param pulumi.Input[Union['UserPoolClientTokenValidityUnitsArgs', 'UserPoolClientTokenValidityUnitsArgsDict']] token_validity_units: The units in which the validity times are represented. The default unit for RefreshToken is days, and default for ID and access tokens are hours. :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool where you want to create a user pool client. @@ -788,9 +842,13 @@ def access_token_validity(self) -> pulumi.Output[Optional[int]]: """ The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for `AccessTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with their access token for 10 hours. + For example, when you set `AccessTokenValidity` to `10` and `TokenValidityUnits` to `hours` , your user can authorize access with + their access token for 10 hours. - The default time unit for `AccessTokenValidity` in an API request is hours. + The default time unit for `AccessTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your access + tokens are valid for one hour. """ return pulumi.get(self, "access_token_validity") @@ -965,7 +1023,10 @@ def id_token_validity(self) -> pulumi.Output[Optional[int]]: For example, when you set `IdTokenValidity` as `10` and `TokenValidityUnits` as `hours` , your user can authenticate their session with their ID token for 10 hours. - The default time unit for `IdTokenValidity` in an API request is hours. + The default time unit for `IdTokenValidity` in an API request is hours. *Valid range* is displayed below in seconds. + + If you don't specify otherwise in the configuration of your app client, your ID + tokens are valid for one hour. """ return pulumi.get(self, "id_token_validity") @@ -986,7 +1047,14 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="preventUserExistenceErrors") def prevent_user_existence_errors(self) -> pulumi.Output[Optional[str]]: """ - Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. + Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to `ENABLED` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs return a `UserNotFoundException` exception if the user doesn't exist in the user pool. + + Valid values include: + + - `ENABLED` - This prevents user existence-related errors. + - `LEGACY` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. + + Defaults to `LEGACY` when you don't provide a value. """ return pulumi.get(self, "prevent_user_existence_errors") @@ -1006,9 +1074,13 @@ def refresh_token_validity(self) -> pulumi.Output[Optional[int]]: """ The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. - For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. + For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session + and retrieve new access and ID tokens for 10 days. + + The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. - The default time unit for `RefreshTokenValidity` in an API request is days. You can't set `RefreshTokenValidity` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. + If you don't specify otherwise in the configuration of your app client, your refresh + tokens are valid for 30 days. """ return pulumi.get(self, "refresh_token_validity") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_domain.py b/sdk/python/pulumi_aws_native/cognito/user_pool_domain.py index 2b7d42efb9..5ba9a2f084 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_domain.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_domain.py @@ -26,10 +26,10 @@ def __init__(__self__, *, custom_domain_config: Optional[pulumi.Input['UserPoolDomainCustomDomainConfigTypeArgs']] = None): """ The set of arguments for constructing a UserPoolDomain resource. - :param pulumi.Input[str] domain: The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + :param pulumi.Input[str] domain: The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. - :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool where you want to associate a user pool domain. + :param pulumi.Input[str] user_pool_id: The ID of the user pool that is associated with the custom domain whose certificate you're updating. :param pulumi.Input['UserPoolDomainCustomDomainConfigTypeArgs'] custom_domain_config: The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM. """ pulumi.set(__self__, "domain", domain) @@ -41,7 +41,7 @@ def __init__(__self__, *, @pulumi.getter def domain(self) -> pulumi.Input[str]: """ - The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. """ @@ -55,7 +55,7 @@ def domain(self, value: pulumi.Input[str]): @pulumi.getter(name="userPoolId") def user_pool_id(self) -> pulumi.Input[str]: """ - The user pool ID for the user pool where you want to associate a user pool domain. + The ID of the user pool that is associated with the custom domain whose certificate you're updating. """ return pulumi.get(self, "user_pool_id") @@ -91,10 +91,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['UserPoolDomainCustomDomainConfigTypeArgs', 'UserPoolDomainCustomDomainConfigTypeArgsDict']] custom_domain_config: The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM. - :param pulumi.Input[str] domain: The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + :param pulumi.Input[str] domain: The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. - :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool where you want to associate a user pool domain. + :param pulumi.Input[str] user_pool_id: The ID of the user pool that is associated with the custom domain whose certificate you're updating. """ ... @overload @@ -200,7 +200,7 @@ def custom_domain_config(self) -> pulumi.Output[Optional['outputs.UserPoolDomain @pulumi.getter def domain(self) -> pulumi.Output[str]: """ - The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: `auth.example.com` . If you're using a prefix domain, this field denotes the first part of the domain before `.auth.[region].amazoncognito.com` . + The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be `auth.example.com` . This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names. """ @@ -210,7 +210,7 @@ def domain(self) -> pulumi.Output[str]: @pulumi.getter(name="userPoolId") def user_pool_id(self) -> pulumi.Output[str]: """ - The user pool ID for the user pool where you want to associate a user pool domain. + The ID of the user pool that is associated with the custom domain whose certificate you're updating. """ return pulumi.get(self, "user_pool_id") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_resource_server.py b/sdk/python/pulumi_aws_native/cognito/user_pool_resource_server.py index 6d7bd78c8e..21be36db1f 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_resource_server.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_resource_server.py @@ -27,7 +27,9 @@ def __init__(__self__, *, scopes: Optional[pulumi.Input[Sequence[pulumi.Input['UserPoolResourceServerResourceServerScopeTypeArgs']]]] = None): """ The set of arguments for constructing a UserPoolResourceServer resource. - :param pulumi.Input[str] identifier: A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + :param pulumi.Input[str] identifier: A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + + Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool. :param pulumi.Input[str] name: A friendly name for the resource server. :param pulumi.Input[Sequence[pulumi.Input['UserPoolResourceServerResourceServerScopeTypeArgs']]] scopes: A list of scopes. Each scope is a map with keys `ScopeName` and `ScopeDescription` . @@ -43,7 +45,9 @@ def __init__(__self__, *, @pulumi.getter def identifier(self) -> pulumi.Input[str]: """ - A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + + Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. """ return pulumi.get(self, "identifier") @@ -103,7 +107,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] identifier: A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + :param pulumi.Input[str] identifier: A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + + Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. :param pulumi.Input[str] name: A friendly name for the resource server. :param pulumi.Input[Sequence[pulumi.Input[Union['UserPoolResourceServerResourceServerScopeTypeArgs', 'UserPoolResourceServerResourceServerScopeTypeArgsDict']]]] scopes: A list of scopes. Each scope is a map with keys `ScopeName` and `ScopeDescription` . :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool. @@ -187,7 +193,9 @@ def get(resource_name: str, @pulumi.getter def identifier(self) -> pulumi.Output[str]: """ - A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: `https://my-weather-api.example.com` . + A unique resource server identifier for the resource server. The identifier can be an API friendly name like `solar-system-data` . You can also set an API URL like `https://solar-system-data-api.example.com` as your identifier. + + Amazon Cognito represents scopes in the access token in the format `$resource-server-identifier/$scope` . Longer scope-identifier strings increase the size of your access tokens. """ return pulumi.get(self, "identifier") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py b/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py index 99f0d80463..a289efbda0 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py @@ -28,7 +28,7 @@ def __init__(__self__, *, risk_exception_configuration: Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs']] = None): """ The set of arguments for constructing a UserPoolRiskConfigurationAttachment resource. - :param pulumi.Input[str] client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + :param pulumi.Input[str] client_id: The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. :param pulumi.Input[str] user_pool_id: The ID of the user pool that has the risk configuration applied. :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs'] account_takeover_risk_configuration: The settings for automated responses and notification templates for adaptive authentication with advanced security features. :param pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs'] compromised_credentials_risk_configuration: Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. @@ -47,7 +47,7 @@ def __init__(__self__, *, @pulumi.getter(name="clientId") def client_id(self) -> pulumi.Input[str]: """ - The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. """ return pulumi.get(self, "client_id") @@ -121,7 +121,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['UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgsDict']] account_takeover_risk_configuration: The settings for automated responses and notification templates for adaptive authentication with advanced security features. - :param pulumi.Input[str] client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + :param pulumi.Input[str] client_id: The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgsDict']] compromised_credentials_risk_configuration: Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgsDict']] risk_exception_configuration: Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. :param pulumi.Input[str] user_pool_id: The ID of the user pool that has the risk configuration applied. @@ -216,7 +216,7 @@ def account_takeover_risk_configuration(self) -> pulumi.Output[Optional['outputs @pulumi.getter(name="clientId") def client_id(self) -> pulumi.Output[str]: """ - The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). + The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings. """ return pulumi.get(self, "client_id") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_ui_customization_attachment.py b/sdk/python/pulumi_aws_native/cognito/user_pool_ui_customization_attachment.py index 48adc8dd12..11f863ed3d 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_ui_customization_attachment.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_ui_customization_attachment.py @@ -24,7 +24,7 @@ def __init__(__self__, *, css: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a UserPoolUiCustomizationAttachment resource. - :param pulumi.Input[str] client_id: The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + :param pulumi.Input[str] client_id: The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool. :param pulumi.Input[str] css: The CSS values in the UI customization. """ @@ -37,7 +37,7 @@ def __init__(__self__, *, @pulumi.getter(name="clientId") def client_id(self) -> pulumi.Input[str]: """ - The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. """ return pulumi.get(self, "client_id") @@ -84,7 +84,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] client_id: The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + :param pulumi.Input[str] client_id: The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. :param pulumi.Input[str] css: The CSS values in the UI customization. :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool. """ @@ -164,7 +164,7 @@ def get(resource_name: str, @pulumi.getter(name="clientId") def client_id(self) -> pulumi.Output[str]: """ - The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to `ALL` ). + The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings.. """ return pulumi.get(self, "client_id") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_user.py b/sdk/python/pulumi_aws_native/cognito/user_pool_user.py index e90df8d203..567ba6d325 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_user.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_user.py @@ -50,7 +50,16 @@ def __init__(__self__, *, If this parameter is set to `False` , the API throws an `AliasExistsException` error if the alias already exists. The default value is `False` . :param pulumi.Input[str] message_action: Set to `RESEND` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to `SUPPRESS` to suppress sending the message. You can specify only one value. - :param pulumi.Input[Sequence[pulumi.Input['UserPoolUserAttributeTypeArgs']]] user_attributes: An array of name-value pairs that contain user attributes and attribute values. + :param pulumi.Input[Sequence[pulumi.Input['UserPoolUserAttributeTypeArgs']]] user_attributes: An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + + For custom attributes, you must prepend the `custom:` prefix to the attribute name. + + To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + + In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + + - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. :param pulumi.Input[str] username: The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter. - The username can't be a duplicate of another username in the same user pool. @@ -156,7 +165,16 @@ def message_action(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="userAttributes") def user_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserPoolUserAttributeTypeArgs']]]]: """ - An array of name-value pairs that contain user attributes and attribute values. + An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + + For custom attributes, you must prepend the `custom:` prefix to the attribute name. + + To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + + In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + + - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. """ return pulumi.get(self, "user_attributes") @@ -234,7 +252,16 @@ def __init__(__self__, If this parameter is set to `False` , the API throws an `AliasExistsException` error if the alias already exists. The default value is `False` . :param pulumi.Input[str] message_action: Set to `RESEND` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to `SUPPRESS` to suppress sending the message. You can specify only one value. - :param pulumi.Input[Sequence[pulumi.Input[Union['UserPoolUserAttributeTypeArgs', 'UserPoolUserAttributeTypeArgsDict']]]] user_attributes: An array of name-value pairs that contain user attributes and attribute values. + :param pulumi.Input[Sequence[pulumi.Input[Union['UserPoolUserAttributeTypeArgs', 'UserPoolUserAttributeTypeArgsDict']]]] user_attributes: An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + + For custom attributes, you must prepend the `custom:` prefix to the attribute name. + + To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + + In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + + - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool where the user will be created. :param pulumi.Input[str] username: The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter. @@ -382,7 +409,16 @@ def message_action(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="userAttributes") def user_attributes(self) -> pulumi.Output[Optional[Sequence['outputs.UserPoolUserAttributeType']]]: """ - An array of name-value pairs that contain user attributes and attribute values. + An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than `Username` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to `AdminCreateUser` ) or the user should supply (when they sign up in response to your welcome message). + + For custom attributes, you must prepend the `custom:` prefix to the attribute name. + + To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. + + In your call to `AdminCreateUser` , you can set the `email_verified` attribute to `True` , and you can set the `phone_number_verified` attribute to `True` . You can also do this by calling [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) . + + - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the `email_verified` attribute is set to `True` , or if `"EMAIL"` is specified in the `DesiredDeliveryMediums` parameter. + - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the `phone_number_verified` attribute is set to `True` , or if `"SMS"` is specified in the `DesiredDeliveryMediums` parameter. """ return pulumi.get(self, "user_attributes") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_user_to_group_attachment.py b/sdk/python/pulumi_aws_native/cognito/user_pool_user_to_group_attachment.py index f30d665bf7..b14f123d7a 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_user_to_group_attachment.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_user_to_group_attachment.py @@ -26,6 +26,7 @@ def __init__(__self__, *, The set of arguments for constructing a UserPoolUserToGroupAttachment resource. :param pulumi.Input[str] group_name: The name of the group that you want to add your user to. :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool. + :param pulumi.Input[str] username: The user's username. """ pulumi.set(__self__, "group_name", group_name) pulumi.set(__self__, "user_pool_id", user_pool_id) @@ -58,6 +59,9 @@ def user_pool_id(self, value: pulumi.Input[str]): @property @pulumi.getter def username(self) -> pulumi.Input[str]: + """ + The user's username. + """ return pulumi.get(self, "username") @username.setter @@ -81,6 +85,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] group_name: The name of the group that you want to add your user to. :param pulumi.Input[str] user_pool_id: The user pool ID for the user pool. + :param pulumi.Input[str] username: The user's username. """ ... @overload @@ -175,5 +180,8 @@ def user_pool_id(self) -> pulumi.Output[str]: @property @pulumi.getter def username(self) -> pulumi.Output[str]: + """ + The user's username. + """ return pulumi.get(self, "username") diff --git a/sdk/python/pulumi_aws_native/ec2/_enums.py b/sdk/python/pulumi_aws_native/ec2/_enums.py index bc8f480986..f2ddda4f84 100644 --- a/sdk/python/pulumi_aws_native/ec2/_enums.py +++ b/sdk/python/pulumi_aws_native/ec2/_enums.py @@ -766,16 +766,27 @@ class VpcEndpointType(str, Enum): class VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat(str, Enum): + """ + Set log format. Default format is `json` . + + Valid values: `json` | `text` + """ JSON = "json" TEXT = "text" class VpnConnectionIkeVersionsRequestListValueValue(str, Enum): + """ + The IKE version. + """ IKEV1 = "ikev1" IKEV2 = "ikev2" class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue(str, Enum): + """ + The value for the encryption algorithm. + """ AES128 = "AES128" AES256 = "AES256" AES128_GCM16 = "AES128-GCM-16" @@ -783,6 +794,9 @@ class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue(str, Enum): class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue(str, Enum): + """ + The value for the integrity algorithm. + """ SHA1 = "SHA1" SHA2256 = "SHA2-256" SHA2384 = "SHA2-384" @@ -790,6 +804,9 @@ class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue(str, Enum): class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue(str, Enum): + """ + The encryption algorithm. + """ AES128 = "AES128" AES256 = "AES256" AES128_GCM16 = "AES128-GCM-16" @@ -797,6 +814,9 @@ class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue(str, Enum): class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue(str, Enum): + """ + The integrity algorithm. + """ SHA1 = "SHA1" SHA2256 = "SHA2-256" SHA2384 = "SHA2-384" @@ -804,11 +824,25 @@ class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue(str, Enum): class VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction(str, Enum): + """ + The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + + Valid Values: `clear` | `none` | `restart` + + Default: `clear` + """ CLEAR = "clear" NONE = "none" RESTART = "restart" class VpnConnectionVpnTunnelOptionsSpecificationStartupAction(str, Enum): + """ + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + + Valid Values: `add` | `start` + + Default: `add` + """ ADD = "add" START = "start" diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py index 622d928e17..f38d47166f 100644 --- a/sdk/python/pulumi_aws_native/ec2/_inputs.py +++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py @@ -15881,8 +15881,21 @@ def user_info_endpoint(self, value: Optional[pulumi.Input[str]]): if not MYPY: class VpnConnectionCloudwatchLogOptionsSpecificationArgsDict(TypedDict): log_enabled: NotRequired[pulumi.Input[bool]] + """ + Enable or disable VPN tunnel logging feature. Default value is `False` . + + Valid values: `True` | `False` + """ log_group_arn: NotRequired[pulumi.Input[str]] + """ + The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + """ log_output_format: NotRequired[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']] + """ + Set log format. Default format is `json` . + + Valid values: `json` | `text` + """ elif False: VpnConnectionCloudwatchLogOptionsSpecificationArgsDict: TypeAlias = Mapping[str, Any] @@ -15892,6 +15905,15 @@ def __init__(__self__, *, log_enabled: Optional[pulumi.Input[bool]] = None, log_group_arn: Optional[pulumi.Input[str]] = None, log_output_format: Optional[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']] = None): + """ + :param pulumi.Input[bool] log_enabled: Enable or disable VPN tunnel logging feature. Default value is `False` . + + Valid values: `True` | `False` + :param pulumi.Input[str] log_group_arn: The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + :param pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat'] log_output_format: Set log format. Default format is `json` . + + Valid values: `json` | `text` + """ if log_enabled is not None: pulumi.set(__self__, "log_enabled", log_enabled) if log_group_arn is not None: @@ -15902,6 +15924,11 @@ def __init__(__self__, *, @property @pulumi.getter(name="logEnabled") def log_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enable or disable VPN tunnel logging feature. Default value is `False` . + + Valid values: `True` | `False` + """ return pulumi.get(self, "log_enabled") @log_enabled.setter @@ -15911,6 +15938,9 @@ def log_enabled(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="logGroupArn") def log_group_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + """ return pulumi.get(self, "log_group_arn") @log_group_arn.setter @@ -15920,6 +15950,11 @@ def log_group_arn(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="logOutputFormat") def log_output_format(self) -> Optional[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']]: + """ + Set log format. Default format is `json` . + + Valid values: `json` | `text` + """ return pulumi.get(self, "log_output_format") @log_output_format.setter @@ -15930,6 +15965,9 @@ def log_output_format(self, value: Optional[pulumi.Input['VpnConnectionCloudwatc if not MYPY: class VpnConnectionIkeVersionsRequestListValueArgsDict(TypedDict): value: NotRequired[pulumi.Input['VpnConnectionIkeVersionsRequestListValueValue']] + """ + The IKE version. + """ elif False: VpnConnectionIkeVersionsRequestListValueArgsDict: TypeAlias = Mapping[str, Any] @@ -15937,12 +15975,18 @@ class VpnConnectionIkeVersionsRequestListValueArgsDict(TypedDict): class VpnConnectionIkeVersionsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionIkeVersionsRequestListValueValue']] = None): + """ + :param pulumi.Input['VpnConnectionIkeVersionsRequestListValueValue'] value: The IKE version. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[pulumi.Input['VpnConnectionIkeVersionsRequestListValueValue']]: + """ + The IKE version. + """ return pulumi.get(self, "value") @value.setter @@ -15953,6 +15997,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionIkeVersionsRequestLis if not MYPY: class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgsDict(TypedDict): value: NotRequired[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue']] + """ + The value for the encryption algorithm. + """ elif False: VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgsDict: TypeAlias = Mapping[str, Any] @@ -15960,12 +16007,18 @@ class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgsDict(TypedDict) class VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue']] = None): + """ + :param pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue'] value: The value for the encryption algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue']]: + """ + The value for the encryption algorithm. + """ return pulumi.get(self, "value") @value.setter @@ -15976,6 +16029,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase1EncryptionAlgor if not MYPY: class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgsDict(TypedDict): value: NotRequired[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue']] + """ + The value for the integrity algorithm. + """ elif False: VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgsDict: TypeAlias = Mapping[str, Any] @@ -15983,12 +16039,18 @@ class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgsDict(TypedDict): class VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue']] = None): + """ + :param pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue'] value: The value for the integrity algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue']]: + """ + The value for the integrity algorithm. + """ return pulumi.get(self, "value") @value.setter @@ -15999,6 +16061,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase1IntegrityAlgori if not MYPY: class VpnConnectionPhase1dhGroupNumbersRequestListValueArgsDict(TypedDict): value: NotRequired[pulumi.Input[int]] + """ + The Diffie-Hellmann group number. + """ elif False: VpnConnectionPhase1dhGroupNumbersRequestListValueArgsDict: TypeAlias = Mapping[str, Any] @@ -16006,12 +16071,18 @@ class VpnConnectionPhase1dhGroupNumbersRequestListValueArgsDict(TypedDict): class VpnConnectionPhase1dhGroupNumbersRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] value: The Diffie-Hellmann group number. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[pulumi.Input[int]]: + """ + The Diffie-Hellmann group number. + """ return pulumi.get(self, "value") @value.setter @@ -16022,6 +16093,9 @@ def value(self, value: Optional[pulumi.Input[int]]): if not MYPY: class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgsDict(TypedDict): value: NotRequired[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue']] + """ + The encryption algorithm. + """ elif False: VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgsDict: TypeAlias = Mapping[str, Any] @@ -16029,12 +16103,18 @@ class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgsDict(TypedDict) class VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue']] = None): + """ + :param pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue'] value: The encryption algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue']]: + """ + The encryption algorithm. + """ return pulumi.get(self, "value") @value.setter @@ -16045,6 +16125,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase2EncryptionAlgor if not MYPY: class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgsDict(TypedDict): value: NotRequired[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue']] + """ + The integrity algorithm. + """ elif False: VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgsDict: TypeAlias = Mapping[str, Any] @@ -16052,12 +16135,18 @@ class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgsDict(TypedDict): class VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue']] = None): + """ + :param pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue'] value: The integrity algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue']]: + """ + The integrity algorithm. + """ return pulumi.get(self, "value") @value.setter @@ -16068,6 +16157,9 @@ def value(self, value: Optional[pulumi.Input['VpnConnectionPhase2IntegrityAlgori if not MYPY: class VpnConnectionPhase2dhGroupNumbersRequestListValueArgsDict(TypedDict): value: NotRequired[pulumi.Input[int]] + """ + The Diffie-Hellmann group number. + """ elif False: VpnConnectionPhase2dhGroupNumbersRequestListValueArgsDict: TypeAlias = Mapping[str, Any] @@ -16075,12 +16167,18 @@ class VpnConnectionPhase2dhGroupNumbersRequestListValueArgsDict(TypedDict): class VpnConnectionPhase2dhGroupNumbersRequestListValueArgs: def __init__(__self__, *, value: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] value: The Diffie-Hellmann group number. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[pulumi.Input[int]]: + """ + The Diffie-Hellmann group number. + """ return pulumi.get(self, "value") @value.setter @@ -16091,6 +16189,9 @@ def value(self, value: Optional[pulumi.Input[int]]): if not MYPY: class VpnConnectionVpnTunnelLogOptionsSpecificationArgsDict(TypedDict): cloudwatch_log_options: NotRequired[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationArgsDict']] + """ + Options for sending VPN tunnel logs to CloudWatch. + """ elif False: VpnConnectionVpnTunnelLogOptionsSpecificationArgsDict: TypeAlias = Mapping[str, Any] @@ -16098,12 +16199,18 @@ class VpnConnectionVpnTunnelLogOptionsSpecificationArgsDict(TypedDict): class VpnConnectionVpnTunnelLogOptionsSpecificationArgs: def __init__(__self__, *, cloudwatch_log_options: Optional[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationArgs']] = None): + """ + :param pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationArgs'] cloudwatch_log_options: Options for sending VPN tunnel logs to CloudWatch. + """ if cloudwatch_log_options is not None: pulumi.set(__self__, "cloudwatch_log_options", cloudwatch_log_options) @property @pulumi.getter(name="cloudwatchLogOptions") def cloudwatch_log_options(self) -> Optional[pulumi.Input['VpnConnectionCloudwatchLogOptionsSpecificationArgs']]: + """ + Options for sending VPN tunnel logs to CloudWatch. + """ return pulumi.get(self, "cloudwatch_log_options") @cloudwatch_log_options.setter @@ -16117,27 +16224,124 @@ class VpnConnectionVpnTunnelOptionsSpecificationArgsDict(TypedDict): The tunnel options for a single VPN tunnel. """ dpd_timeout_action: NotRequired[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction']] + """ + The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + + Valid Values: `clear` | `none` | `restart` + + Default: `clear` + """ dpd_timeout_seconds: NotRequired[pulumi.Input[int]] + """ + The number of seconds after which a DPD timeout occurs. + + Constraints: A value greater than or equal to 30. + + Default: `30` + """ enable_tunnel_lifecycle_control: NotRequired[pulumi.Input[bool]] + """ + Turn on or off tunnel endpoint lifecycle control feature. + """ ike_versions: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionIkeVersionsRequestListValueArgsDict']]]] + """ + The IKE versions that are permitted for the VPN tunnel. + + Valid values: `ikev1` | `ikev2` + """ log_options: NotRequired[pulumi.Input['VpnConnectionVpnTunnelLogOptionsSpecificationArgsDict']] + """ + Options for logging VPN tunnel activity. + """ phase1_encryption_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgsDict']]]] + """ + One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + """ phase1_integrity_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgsDict']]]] + """ + One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + """ phase1_lifetime_seconds: NotRequired[pulumi.Input[int]] + """ + The lifetime for phase 1 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 28,800. + + Default: `28800` + """ phase1dh_group_numbers: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1dhGroupNumbersRequestListValueArgsDict']]]] + """ + One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + """ phase2_encryption_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgsDict']]]] + """ + One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + """ phase2_integrity_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgsDict']]]] + """ + One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + """ phase2_lifetime_seconds: NotRequired[pulumi.Input[int]] + """ + The lifetime for phase 2 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + + Default: `3600` + """ phase2dh_group_numbers: NotRequired[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2dhGroupNumbersRequestListValueArgsDict']]]] + """ + One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + """ pre_shared_key: NotRequired[pulumi.Input[str]] """ The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). """ rekey_fuzz_percentage: NotRequired[pulumi.Input[int]] + """ + The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + + Constraints: A value between 0 and 100. + + Default: `100` + """ rekey_margin_time_seconds: NotRequired[pulumi.Input[int]] + """ + The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + + Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + + Default: `270` + """ replay_window_size: NotRequired[pulumi.Input[int]] + """ + The number of packets in an IKE replay window. + + Constraints: A value between 64 and 2048. + + Default: `1024` + """ startup_action: NotRequired[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationStartupAction']] + """ + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + + Valid Values: `add` | `start` + + Default: `add` + """ tunnel_inside_cidr: NotRequired[pulumi.Input[str]] """ The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. @@ -16151,6 +16355,11 @@ class VpnConnectionVpnTunnelOptionsSpecificationArgsDict(TypedDict): + ``169.254.169.252/30`` """ tunnel_inside_ipv6_cidr: NotRequired[pulumi.Input[str]] + """ + The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + + Constraints: A size /126 CIDR block from the local `fd00::/8` range. + """ elif False: VpnConnectionVpnTunnelOptionsSpecificationArgsDict: TypeAlias = Mapping[str, Any] @@ -16179,8 +16388,71 @@ def __init__(__self__, *, tunnel_inside_ipv6_cidr: Optional[pulumi.Input[str]] = None): """ The tunnel options for a single VPN tunnel. + :param pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction'] dpd_timeout_action: The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + + Valid Values: `clear` | `none` | `restart` + + Default: `clear` + :param pulumi.Input[int] dpd_timeout_seconds: The number of seconds after which a DPD timeout occurs. + + Constraints: A value greater than or equal to 30. + + Default: `30` + :param pulumi.Input[bool] enable_tunnel_lifecycle_control: Turn on or off tunnel endpoint lifecycle control feature. + :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionIkeVersionsRequestListValueArgs']]] ike_versions: The IKE versions that are permitted for the VPN tunnel. + + Valid values: `ikev1` | `ikev2` + :param pulumi.Input['VpnConnectionVpnTunnelLogOptionsSpecificationArgs'] log_options: Options for logging VPN tunnel activity. + :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs']]] phase1_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs']]] phase1_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + :param pulumi.Input[int] phase1_lifetime_seconds: The lifetime for phase 1 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 28,800. + + Default: `28800` + :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1dhGroupNumbersRequestListValueArgs']]] phase1dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs']]] phase2_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs']]] phase2_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + :param pulumi.Input[int] phase2_lifetime_seconds: The lifetime for phase 2 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + + Default: `3600` + :param pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2dhGroupNumbersRequestListValueArgs']]] phase2dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` :param pulumi.Input[str] pre_shared_key: The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). + :param pulumi.Input[int] rekey_fuzz_percentage: The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + + Constraints: A value between 0 and 100. + + Default: `100` + :param pulumi.Input[int] rekey_margin_time_seconds: The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + + Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + + Default: `270` + :param pulumi.Input[int] replay_window_size: The number of packets in an IKE replay window. + + Constraints: A value between 64 and 2048. + + Default: `1024` + :param pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationStartupAction'] startup_action: The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + + Valid Values: `add` | `start` + + Default: `add` :param pulumi.Input[str] tunnel_inside_cidr: The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: + ``169.254.0.0/30`` @@ -16190,6 +16462,9 @@ def __init__(__self__, *, + ``169.254.4.0/30`` + ``169.254.5.0/30`` + ``169.254.169.252/30`` + :param pulumi.Input[str] tunnel_inside_ipv6_cidr: The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + + Constraints: A size /126 CIDR block from the local `fd00::/8` range. """ if dpd_timeout_action is not None: pulumi.set(__self__, "dpd_timeout_action", dpd_timeout_action) @@ -16235,6 +16510,13 @@ def __init__(__self__, *, @property @pulumi.getter(name="dpdTimeoutAction") def dpd_timeout_action(self) -> Optional[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction']]: + """ + The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + + Valid Values: `clear` | `none` | `restart` + + Default: `clear` + """ return pulumi.get(self, "dpd_timeout_action") @dpd_timeout_action.setter @@ -16244,6 +16526,13 @@ def dpd_timeout_action(self, value: Optional[pulumi.Input['VpnConnectionVpnTunne @property @pulumi.getter(name="dpdTimeoutSeconds") def dpd_timeout_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The number of seconds after which a DPD timeout occurs. + + Constraints: A value greater than or equal to 30. + + Default: `30` + """ return pulumi.get(self, "dpd_timeout_seconds") @dpd_timeout_seconds.setter @@ -16253,6 +16542,9 @@ def dpd_timeout_seconds(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="enableTunnelLifecycleControl") def enable_tunnel_lifecycle_control(self) -> Optional[pulumi.Input[bool]]: + """ + Turn on or off tunnel endpoint lifecycle control feature. + """ return pulumi.get(self, "enable_tunnel_lifecycle_control") @enable_tunnel_lifecycle_control.setter @@ -16262,6 +16554,11 @@ def enable_tunnel_lifecycle_control(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="ikeVersions") def ike_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionIkeVersionsRequestListValueArgs']]]]: + """ + The IKE versions that are permitted for the VPN tunnel. + + Valid values: `ikev1` | `ikev2` + """ return pulumi.get(self, "ike_versions") @ike_versions.setter @@ -16271,6 +16568,9 @@ def ike_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnCo @property @pulumi.getter(name="logOptions") def log_options(self) -> Optional[pulumi.Input['VpnConnectionVpnTunnelLogOptionsSpecificationArgs']]: + """ + Options for logging VPN tunnel activity. + """ return pulumi.get(self, "log_options") @log_options.setter @@ -16280,6 +16580,11 @@ def log_options(self, value: Optional[pulumi.Input['VpnConnectionVpnTunnelLogOpt @property @pulumi.getter(name="phase1EncryptionAlgorithms") def phase1_encryption_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueArgs']]]]: + """ + One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + """ return pulumi.get(self, "phase1_encryption_algorithms") @phase1_encryption_algorithms.setter @@ -16289,6 +16594,11 @@ def phase1_encryption_algorithms(self, value: Optional[pulumi.Input[Sequence[pul @property @pulumi.getter(name="phase1IntegrityAlgorithms") def phase1_integrity_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueArgs']]]]: + """ + One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + """ return pulumi.get(self, "phase1_integrity_algorithms") @phase1_integrity_algorithms.setter @@ -16298,6 +16608,13 @@ def phase1_integrity_algorithms(self, value: Optional[pulumi.Input[Sequence[pulu @property @pulumi.getter(name="phase1LifetimeSeconds") def phase1_lifetime_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The lifetime for phase 1 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 28,800. + + Default: `28800` + """ return pulumi.get(self, "phase1_lifetime_seconds") @phase1_lifetime_seconds.setter @@ -16307,6 +16624,11 @@ def phase1_lifetime_seconds(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="phase1dhGroupNumbers") def phase1dh_group_numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase1dhGroupNumbersRequestListValueArgs']]]]: + """ + One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + """ return pulumi.get(self, "phase1dh_group_numbers") @phase1dh_group_numbers.setter @@ -16316,6 +16638,11 @@ def phase1dh_group_numbers(self, value: Optional[pulumi.Input[Sequence[pulumi.In @property @pulumi.getter(name="phase2EncryptionAlgorithms") def phase2_encryption_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueArgs']]]]: + """ + One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + """ return pulumi.get(self, "phase2_encryption_algorithms") @phase2_encryption_algorithms.setter @@ -16325,6 +16652,11 @@ def phase2_encryption_algorithms(self, value: Optional[pulumi.Input[Sequence[pul @property @pulumi.getter(name="phase2IntegrityAlgorithms") def phase2_integrity_algorithms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueArgs']]]]: + """ + One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + """ return pulumi.get(self, "phase2_integrity_algorithms") @phase2_integrity_algorithms.setter @@ -16334,6 +16666,13 @@ def phase2_integrity_algorithms(self, value: Optional[pulumi.Input[Sequence[pulu @property @pulumi.getter(name="phase2LifetimeSeconds") def phase2_lifetime_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The lifetime for phase 2 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + + Default: `3600` + """ return pulumi.get(self, "phase2_lifetime_seconds") @phase2_lifetime_seconds.setter @@ -16343,6 +16682,11 @@ def phase2_lifetime_seconds(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="phase2dhGroupNumbers") def phase2dh_group_numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnConnectionPhase2dhGroupNumbersRequestListValueArgs']]]]: + """ + One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + """ return pulumi.get(self, "phase2dh_group_numbers") @phase2dh_group_numbers.setter @@ -16365,6 +16709,13 @@ def pre_shared_key(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="rekeyFuzzPercentage") def rekey_fuzz_percentage(self) -> Optional[pulumi.Input[int]]: + """ + The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + + Constraints: A value between 0 and 100. + + Default: `100` + """ return pulumi.get(self, "rekey_fuzz_percentage") @rekey_fuzz_percentage.setter @@ -16374,6 +16725,13 @@ def rekey_fuzz_percentage(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="rekeyMarginTimeSeconds") def rekey_margin_time_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + + Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + + Default: `270` + """ return pulumi.get(self, "rekey_margin_time_seconds") @rekey_margin_time_seconds.setter @@ -16383,6 +16741,13 @@ def rekey_margin_time_seconds(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="replayWindowSize") def replay_window_size(self) -> Optional[pulumi.Input[int]]: + """ + The number of packets in an IKE replay window. + + Constraints: A value between 64 and 2048. + + Default: `1024` + """ return pulumi.get(self, "replay_window_size") @replay_window_size.setter @@ -16392,6 +16757,13 @@ def replay_window_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="startupAction") def startup_action(self) -> Optional[pulumi.Input['VpnConnectionVpnTunnelOptionsSpecificationStartupAction']]: + """ + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + + Valid Values: `add` | `start` + + Default: `add` + """ return pulumi.get(self, "startup_action") @startup_action.setter @@ -16421,6 +16793,11 @@ def tunnel_inside_cidr(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="tunnelInsideIpv6Cidr") def tunnel_inside_ipv6_cidr(self) -> Optional[pulumi.Input[str]]: + """ + The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + + Constraints: A size /126 CIDR block from the local `fd00::/8` range. + """ return pulumi.get(self, "tunnel_inside_ipv6_cidr") @tunnel_inside_ipv6_cidr.setter diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py index 2a55c32b02..54ec959223 100644 --- a/sdk/python/pulumi_aws_native/ec2/outputs.py +++ b/sdk/python/pulumi_aws_native/ec2/outputs.py @@ -14136,6 +14136,15 @@ def __init__(__self__, *, log_enabled: Optional[bool] = None, log_group_arn: Optional[str] = None, log_output_format: Optional['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat'] = None): + """ + :param bool log_enabled: Enable or disable VPN tunnel logging feature. Default value is `False` . + + Valid values: `True` | `False` + :param str log_group_arn: The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + :param 'VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat' log_output_format: Set log format. Default format is `json` . + + Valid values: `json` | `text` + """ if log_enabled is not None: pulumi.set(__self__, "log_enabled", log_enabled) if log_group_arn is not None: @@ -14146,16 +14155,29 @@ def __init__(__self__, *, @property @pulumi.getter(name="logEnabled") def log_enabled(self) -> Optional[bool]: + """ + Enable or disable VPN tunnel logging feature. Default value is `False` . + + Valid values: `True` | `False` + """ return pulumi.get(self, "log_enabled") @property @pulumi.getter(name="logGroupArn") def log_group_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. + """ return pulumi.get(self, "log_group_arn") @property @pulumi.getter(name="logOutputFormat") def log_output_format(self) -> Optional['VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat']: + """ + Set log format. Default format is `json` . + + Valid values: `json` | `text` + """ return pulumi.get(self, "log_output_format") @@ -14163,12 +14185,18 @@ def log_output_format(self) -> Optional['VpnConnectionCloudwatchLogOptionsSpecif class VpnConnectionIkeVersionsRequestListValue(dict): def __init__(__self__, *, value: Optional['VpnConnectionIkeVersionsRequestListValueValue'] = None): + """ + :param 'VpnConnectionIkeVersionsRequestListValueValue' value: The IKE version. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional['VpnConnectionIkeVersionsRequestListValueValue']: + """ + The IKE version. + """ return pulumi.get(self, "value") @@ -14176,12 +14204,18 @@ def value(self) -> Optional['VpnConnectionIkeVersionsRequestListValueValue']: class VpnConnectionPhase1EncryptionAlgorithmsRequestListValue(dict): def __init__(__self__, *, value: Optional['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue'] = None): + """ + :param 'VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue' value: The value for the encryption algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional['VpnConnectionPhase1EncryptionAlgorithmsRequestListValueValue']: + """ + The value for the encryption algorithm. + """ return pulumi.get(self, "value") @@ -14189,12 +14223,18 @@ def value(self) -> Optional['VpnConnectionPhase1EncryptionAlgorithmsRequestListV class VpnConnectionPhase1IntegrityAlgorithmsRequestListValue(dict): def __init__(__self__, *, value: Optional['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue'] = None): + """ + :param 'VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue' value: The value for the integrity algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional['VpnConnectionPhase1IntegrityAlgorithmsRequestListValueValue']: + """ + The value for the integrity algorithm. + """ return pulumi.get(self, "value") @@ -14202,12 +14242,18 @@ def value(self) -> Optional['VpnConnectionPhase1IntegrityAlgorithmsRequestListVa class VpnConnectionPhase1dhGroupNumbersRequestListValue(dict): def __init__(__self__, *, value: Optional[int] = None): + """ + :param int value: The Diffie-Hellmann group number. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[int]: + """ + The Diffie-Hellmann group number. + """ return pulumi.get(self, "value") @@ -14215,12 +14261,18 @@ def value(self) -> Optional[int]: class VpnConnectionPhase2EncryptionAlgorithmsRequestListValue(dict): def __init__(__self__, *, value: Optional['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue'] = None): + """ + :param 'VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue' value: The encryption algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional['VpnConnectionPhase2EncryptionAlgorithmsRequestListValueValue']: + """ + The encryption algorithm. + """ return pulumi.get(self, "value") @@ -14228,12 +14280,18 @@ def value(self) -> Optional['VpnConnectionPhase2EncryptionAlgorithmsRequestListV class VpnConnectionPhase2IntegrityAlgorithmsRequestListValue(dict): def __init__(__self__, *, value: Optional['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue'] = None): + """ + :param 'VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue' value: The integrity algorithm. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional['VpnConnectionPhase2IntegrityAlgorithmsRequestListValueValue']: + """ + The integrity algorithm. + """ return pulumi.get(self, "value") @@ -14241,12 +14299,18 @@ def value(self) -> Optional['VpnConnectionPhase2IntegrityAlgorithmsRequestListVa class VpnConnectionPhase2dhGroupNumbersRequestListValue(dict): def __init__(__self__, *, value: Optional[int] = None): + """ + :param int value: The Diffie-Hellmann group number. + """ if value is not None: pulumi.set(__self__, "value", value) @property @pulumi.getter def value(self) -> Optional[int]: + """ + The Diffie-Hellmann group number. + """ return pulumi.get(self, "value") @@ -14271,12 +14335,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, cloudwatch_log_options: Optional['outputs.VpnConnectionCloudwatchLogOptionsSpecification'] = None): + """ + :param 'VpnConnectionCloudwatchLogOptionsSpecification' cloudwatch_log_options: Options for sending VPN tunnel logs to CloudWatch. + """ if cloudwatch_log_options is not None: pulumi.set(__self__, "cloudwatch_log_options", cloudwatch_log_options) @property @pulumi.getter(name="cloudwatchLogOptions") def cloudwatch_log_options(self) -> Optional['outputs.VpnConnectionCloudwatchLogOptionsSpecification']: + """ + Options for sending VPN tunnel logs to CloudWatch. + """ return pulumi.get(self, "cloudwatch_log_options") @@ -14363,8 +14433,71 @@ def __init__(__self__, *, tunnel_inside_ipv6_cidr: Optional[str] = None): """ The tunnel options for a single VPN tunnel. + :param 'VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction' dpd_timeout_action: The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + + Valid Values: `clear` | `none` | `restart` + + Default: `clear` + :param int dpd_timeout_seconds: The number of seconds after which a DPD timeout occurs. + + Constraints: A value greater than or equal to 30. + + Default: `30` + :param bool enable_tunnel_lifecycle_control: Turn on or off tunnel endpoint lifecycle control feature. + :param Sequence['VpnConnectionIkeVersionsRequestListValue'] ike_versions: The IKE versions that are permitted for the VPN tunnel. + + Valid values: `ikev1` | `ikev2` + :param 'VpnConnectionVpnTunnelLogOptionsSpecification' log_options: Options for logging VPN tunnel activity. + :param Sequence['VpnConnectionPhase1EncryptionAlgorithmsRequestListValue'] phase1_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + :param Sequence['VpnConnectionPhase1IntegrityAlgorithmsRequestListValue'] phase1_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + :param int phase1_lifetime_seconds: The lifetime for phase 1 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 28,800. + + Default: `28800` + :param Sequence['VpnConnectionPhase1dhGroupNumbersRequestListValue'] phase1dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + :param Sequence['VpnConnectionPhase2EncryptionAlgorithmsRequestListValue'] phase2_encryption_algorithms: One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + :param Sequence['VpnConnectionPhase2IntegrityAlgorithmsRequestListValue'] phase2_integrity_algorithms: One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + :param int phase2_lifetime_seconds: The lifetime for phase 2 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + + Default: `3600` + :param Sequence['VpnConnectionPhase2dhGroupNumbersRequestListValue'] phase2dh_group_numbers: One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` :param str pre_shared_key: The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway. Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0). + :param int rekey_fuzz_percentage: The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + + Constraints: A value between 0 and 100. + + Default: `100` + :param int rekey_margin_time_seconds: The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + + Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + + Default: `270` + :param int replay_window_size: The number of packets in an IKE replay window. + + Constraints: A value between 64 and 2048. + + Default: `1024` + :param 'VpnConnectionVpnTunnelOptionsSpecificationStartupAction' startup_action: The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + + Valid Values: `add` | `start` + + Default: `add` :param str tunnel_inside_cidr: The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used: + ``169.254.0.0/30`` @@ -14374,6 +14507,9 @@ def __init__(__self__, *, + ``169.254.4.0/30`` + ``169.254.5.0/30`` + ``169.254.169.252/30`` + :param str tunnel_inside_ipv6_cidr: The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + + Constraints: A size /126 CIDR block from the local `fd00::/8` range. """ if dpd_timeout_action is not None: pulumi.set(__self__, "dpd_timeout_action", dpd_timeout_action) @@ -14419,66 +14555,135 @@ def __init__(__self__, *, @property @pulumi.getter(name="dpdTimeoutAction") def dpd_timeout_action(self) -> Optional['VpnConnectionVpnTunnelOptionsSpecificationDpdTimeoutAction']: + """ + The action to take after DPD timeout occurs. Specify `restart` to restart the IKE initiation. Specify `clear` to end the IKE session. + + Valid Values: `clear` | `none` | `restart` + + Default: `clear` + """ return pulumi.get(self, "dpd_timeout_action") @property @pulumi.getter(name="dpdTimeoutSeconds") def dpd_timeout_seconds(self) -> Optional[int]: + """ + The number of seconds after which a DPD timeout occurs. + + Constraints: A value greater than or equal to 30. + + Default: `30` + """ return pulumi.get(self, "dpd_timeout_seconds") @property @pulumi.getter(name="enableTunnelLifecycleControl") def enable_tunnel_lifecycle_control(self) -> Optional[bool]: + """ + Turn on or off tunnel endpoint lifecycle control feature. + """ return pulumi.get(self, "enable_tunnel_lifecycle_control") @property @pulumi.getter(name="ikeVersions") def ike_versions(self) -> Optional[Sequence['outputs.VpnConnectionIkeVersionsRequestListValue']]: + """ + The IKE versions that are permitted for the VPN tunnel. + + Valid values: `ikev1` | `ikev2` + """ return pulumi.get(self, "ike_versions") @property @pulumi.getter(name="logOptions") def log_options(self) -> Optional['outputs.VpnConnectionVpnTunnelLogOptionsSpecification']: + """ + Options for logging VPN tunnel activity. + """ return pulumi.get(self, "log_options") @property @pulumi.getter(name="phase1EncryptionAlgorithms") def phase1_encryption_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase1EncryptionAlgorithmsRequestListValue']]: + """ + One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + """ return pulumi.get(self, "phase1_encryption_algorithms") @property @pulumi.getter(name="phase1IntegrityAlgorithms") def phase1_integrity_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase1IntegrityAlgorithmsRequestListValue']]: + """ + One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + """ return pulumi.get(self, "phase1_integrity_algorithms") @property @pulumi.getter(name="phase1LifetimeSeconds") def phase1_lifetime_seconds(self) -> Optional[int]: + """ + The lifetime for phase 1 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 28,800. + + Default: `28800` + """ return pulumi.get(self, "phase1_lifetime_seconds") @property @pulumi.getter(name="phase1dhGroupNumbers") def phase1dh_group_numbers(self) -> Optional[Sequence['outputs.VpnConnectionPhase1dhGroupNumbersRequestListValue']]: + """ + One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations. + + Valid values: `2` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + """ return pulumi.get(self, "phase1dh_group_numbers") @property @pulumi.getter(name="phase2EncryptionAlgorithms") def phase2_encryption_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase2EncryptionAlgorithmsRequestListValue']]: + """ + One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `AES128` | `AES256` | `AES128-GCM-16` | `AES256-GCM-16` + """ return pulumi.get(self, "phase2_encryption_algorithms") @property @pulumi.getter(name="phase2IntegrityAlgorithms") def phase2_integrity_algorithms(self) -> Optional[Sequence['outputs.VpnConnectionPhase2IntegrityAlgorithmsRequestListValue']]: + """ + One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `SHA1` | `SHA2-256` | `SHA2-384` | `SHA2-512` + """ return pulumi.get(self, "phase2_integrity_algorithms") @property @pulumi.getter(name="phase2LifetimeSeconds") def phase2_lifetime_seconds(self) -> Optional[int]: + """ + The lifetime for phase 2 of the IKE negotiation, in seconds. + + Constraints: A value between 900 and 3,600. The value must be less than the value for `Phase1LifetimeSeconds` . + + Default: `3600` + """ return pulumi.get(self, "phase2_lifetime_seconds") @property @pulumi.getter(name="phase2dhGroupNumbers") def phase2dh_group_numbers(self) -> Optional[Sequence['outputs.VpnConnectionPhase2dhGroupNumbersRequestListValue']]: + """ + One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations. + + Valid values: `2` | `5` | `14` | `15` | `16` | `17` | `18` | `19` | `20` | `21` | `22` | `23` | `24` + """ return pulumi.get(self, "phase2dh_group_numbers") @property @@ -14493,21 +14698,49 @@ def pre_shared_key(self) -> Optional[str]: @property @pulumi.getter(name="rekeyFuzzPercentage") def rekey_fuzz_percentage(self) -> Optional[int]: + """ + The percentage of the rekey window (determined by `RekeyMarginTimeSeconds` ) during which the rekey time is randomly selected. + + Constraints: A value between 0 and 100. + + Default: `100` + """ return pulumi.get(self, "rekey_fuzz_percentage") @property @pulumi.getter(name="rekeyMarginTimeSeconds") def rekey_margin_time_seconds(self) -> Optional[int]: + """ + The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for `RekeyFuzzPercentage` . + + Constraints: A value between 60 and half of `Phase2LifetimeSeconds` . + + Default: `270` + """ return pulumi.get(self, "rekey_margin_time_seconds") @property @pulumi.getter(name="replayWindowSize") def replay_window_size(self) -> Optional[int]: + """ + The number of packets in an IKE replay window. + + Constraints: A value between 64 and 2048. + + Default: `1024` + """ return pulumi.get(self, "replay_window_size") @property @pulumi.getter(name="startupAction") def startup_action(self) -> Optional['VpnConnectionVpnTunnelOptionsSpecificationStartupAction']: + """ + The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify `start` for AWS to initiate the IKE negotiation. + + Valid Values: `add` | `start` + + Default: `add` + """ return pulumi.get(self, "startup_action") @property @@ -14529,6 +14762,11 @@ def tunnel_inside_cidr(self) -> Optional[str]: @property @pulumi.getter(name="tunnelInsideIpv6Cidr") def tunnel_inside_ipv6_cidr(self) -> Optional[str]: + """ + The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway. + + Constraints: A size /126 CIDR block from the local `fd00::/8` range. + """ return pulumi.get(self, "tunnel_inside_ipv6_cidr") diff --git a/sdk/python/pulumi_aws_native/ecs/_inputs.py b/sdk/python/pulumi_aws_native/ecs/_inputs.py index 6537648bd0..092f0e8e49 100644 --- a/sdk/python/pulumi_aws_native/ecs/_inputs.py +++ b/sdk/python/pulumi_aws_native/ecs/_inputs.py @@ -6869,8 +6869,21 @@ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str if not MYPY: class TaskSetCapacityProviderStrategyItemArgsDict(TypedDict): base: NotRequired[pulumi.Input[int]] + """ + The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + """ capacity_provider: NotRequired[pulumi.Input[str]] + """ + The short name of the capacity provider. + """ weight: NotRequired[pulumi.Input[int]] + """ + The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + + If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + + An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + """ elif False: TaskSetCapacityProviderStrategyItemArgsDict: TypeAlias = Mapping[str, Any] @@ -6880,6 +6893,15 @@ def __init__(__self__, *, base: Optional[pulumi.Input[int]] = None, capacity_provider: Optional[pulumi.Input[str]] = None, weight: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] base: The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + :param pulumi.Input[str] capacity_provider: The short name of the capacity provider. + :param pulumi.Input[int] weight: The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + + If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + + An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + """ if base is not None: pulumi.set(__self__, "base", base) if capacity_provider is not None: @@ -6890,6 +6912,9 @@ def __init__(__self__, *, @property @pulumi.getter def base(self) -> Optional[pulumi.Input[int]]: + """ + The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + """ return pulumi.get(self, "base") @base.setter @@ -6899,6 +6924,9 @@ def base(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="capacityProvider") def capacity_provider(self) -> Optional[pulumi.Input[str]]: + """ + The short name of the capacity provider. + """ return pulumi.get(self, "capacity_provider") @capacity_provider.setter @@ -6908,6 +6936,13 @@ def capacity_provider(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def weight(self) -> Optional[pulumi.Input[int]]: + """ + The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + + If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + + An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + """ return pulumi.get(self, "weight") @weight.setter diff --git a/sdk/python/pulumi_aws_native/ecs/outputs.py b/sdk/python/pulumi_aws_native/ecs/outputs.py index 7d3401b747..1d8538721f 100644 --- a/sdk/python/pulumi_aws_native/ecs/outputs.py +++ b/sdk/python/pulumi_aws_native/ecs/outputs.py @@ -5409,6 +5409,15 @@ def __init__(__self__, *, base: Optional[int] = None, capacity_provider: Optional[str] = None, weight: Optional[int] = None): + """ + :param int base: The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + :param str capacity_provider: The short name of the capacity provider. + :param int weight: The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + + If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + + An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + """ if base is not None: pulumi.set(__self__, "base", base) if capacity_provider is not None: @@ -5419,16 +5428,29 @@ def __init__(__self__, *, @property @pulumi.getter def base(self) -> Optional[int]: + """ + The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of `0` is used. + """ return pulumi.get(self, "base") @property @pulumi.getter(name="capacityProvider") def capacity_provider(self) -> Optional[str]: + """ + The short name of the capacity provider. + """ return pulumi.get(self, "capacity_provider") @property @pulumi.getter def weight(self) -> Optional[int]: + """ + The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The `weight` value is taken into consideration after the `base` value, if defined, is satisfied. + + If no `weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of `0` , any `RunTask` or `CreateService` actions using the capacity provider strategy will fail. + + An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of `1` , then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for *capacityProviderA* and a weight of `4` for *capacityProviderB* , then for every one task that's run using *capacityProviderA* , four tasks would use *capacityProviderB* . + """ return pulumi.get(self, "weight") diff --git a/sdk/python/pulumi_aws_native/ecs/task_set.py b/sdk/python/pulumi_aws_native/ecs/task_set.py index 889b7c15cb..751a5b515c 100644 --- a/sdk/python/pulumi_aws_native/ecs/task_set.py +++ b/sdk/python/pulumi_aws_native/ecs/task_set.py @@ -41,6 +41,7 @@ def __init__(__self__, *, :param pulumi.Input[str] cluster: The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. :param pulumi.Input[str] service: The short name or full Amazon Resource Name (ARN) of the service to create the task set in. :param pulumi.Input[str] task_definition: The short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use. + :param pulumi.Input[Sequence[pulumi.Input['TaskSetCapacityProviderStrategyItemArgs']]] capacity_provider_strategy: The capacity provider strategy that are associated with the task set. :param pulumi.Input[str] external_id: An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. :param pulumi.Input['TaskSetLaunchType'] launch_type: The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. :param pulumi.Input[Sequence[pulumi.Input['TaskSetLoadBalancerArgs']]] load_balancers: A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. @@ -121,6 +122,9 @@ def task_definition(self, value: pulumi.Input[str]): @property @pulumi.getter(name="capacityProviderStrategy") def capacity_provider_strategy(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskSetCapacityProviderStrategyItemArgs']]]]: + """ + The capacity provider strategy that are associated with the task set. + """ return pulumi.get(self, "capacity_provider_strategy") @capacity_provider_strategy.setter @@ -257,6 +261,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['TaskSetCapacityProviderStrategyItemArgs', 'TaskSetCapacityProviderStrategyItemArgsDict']]]] capacity_provider_strategy: The capacity provider strategy that are associated with the task set. :param pulumi.Input[str] cluster: The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in. :param pulumi.Input[str] external_id: An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. :param pulumi.Input['TaskSetLaunchType'] launch_type: The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. @@ -393,6 +398,9 @@ def aws_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="capacityProviderStrategy") def capacity_provider_strategy(self) -> pulumi.Output[Optional[Sequence['outputs.TaskSetCapacityProviderStrategyItem']]]: + """ + The capacity provider strategy that are associated with the task set. + """ return pulumi.get(self, "capacity_provider_strategy") @property diff --git a/sdk/python/pulumi_aws_native/gamelift/_enums.py b/sdk/python/pulumi_aws_native/gamelift/_enums.py index a9cab60dba..b52cf20ddf 100644 --- a/sdk/python/pulumi_aws_native/gamelift/_enums.py +++ b/sdk/python/pulumi_aws_native/gamelift/_enums.py @@ -11,6 +11,7 @@ 'ContainerGroupDefinitionContainerPortRangeProtocol', 'ContainerGroupDefinitionOperatingSystem', 'ContainerGroupDefinitionSchedulingStrategy', + 'ContainerGroupDefinitionStatus', 'FleetApplyCapacity', 'FleetCertificateConfigurationCertificateType', 'FleetComputeType', @@ -85,6 +86,15 @@ class ContainerGroupDefinitionSchedulingStrategy(str, Enum): DAEMON = "DAEMON" +class ContainerGroupDefinitionStatus(str, Enum): + """ + A string indicating ContainerGroupDefinition status. + """ + READY = "READY" + COPYING = "COPYING" + FAILED = "FAILED" + + class FleetApplyCapacity(str, Enum): """ Determines whether to apply fleet or location capacities on fleet creation. diff --git a/sdk/python/pulumi_aws_native/gamelift/container_group_definition.py b/sdk/python/pulumi_aws_native/gamelift/container_group_definition.py index 265fa0ed40..df963d8318 100644 --- a/sdk/python/pulumi_aws_native/gamelift/container_group_definition.py +++ b/sdk/python/pulumi_aws_native/gamelift/container_group_definition.py @@ -30,6 +30,8 @@ def __init__(__self__, *, total_memory_limit: pulumi.Input[int], name: Optional[pulumi.Input[str]] = None, scheduling_strategy: Optional[pulumi.Input['ContainerGroupDefinitionSchedulingStrategy']] = None, + source_version_number: Optional[pulumi.Input[int]] = None, + support_container_definitions: Optional[pulumi.Input[Sequence[Any]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a ContainerGroupDefinition resource. @@ -39,6 +41,8 @@ def __init__(__self__, *, :param pulumi.Input[int] total_memory_limit: The maximum amount of memory (in MiB) to allocate for this container group. :param pulumi.Input[str] name: A descriptive label for the container group definition. :param pulumi.Input['ContainerGroupDefinitionSchedulingStrategy'] scheduling_strategy: Specifies whether the container group includes replica or daemon containers. + :param pulumi.Input[int] source_version_number: A specific ContainerGroupDefinition version to be updated + :param pulumi.Input[Sequence[Any]] support_container_definitions: A collection of support container definitions that define the containers in this group. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. """ pulumi.set(__self__, "container_definitions", container_definitions) @@ -49,6 +53,10 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if scheduling_strategy is not None: pulumi.set(__self__, "scheduling_strategy", scheduling_strategy) + if source_version_number is not None: + pulumi.set(__self__, "source_version_number", source_version_number) + if support_container_definitions is not None: + pulumi.set(__self__, "support_container_definitions", support_container_definitions) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -124,6 +132,30 @@ def scheduling_strategy(self) -> Optional[pulumi.Input['ContainerGroupDefinition def scheduling_strategy(self, value: Optional[pulumi.Input['ContainerGroupDefinitionSchedulingStrategy']]): pulumi.set(self, "scheduling_strategy", value) + @property + @pulumi.getter(name="sourceVersionNumber") + def source_version_number(self) -> Optional[pulumi.Input[int]]: + """ + A specific ContainerGroupDefinition version to be updated + """ + return pulumi.get(self, "source_version_number") + + @source_version_number.setter + def source_version_number(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "source_version_number", value) + + @property + @pulumi.getter(name="supportContainerDefinitions") + def support_container_definitions(self) -> Optional[pulumi.Input[Sequence[Any]]]: + """ + A collection of support container definitions that define the containers in this group. + """ + return pulumi.get(self, "support_container_definitions") + + @support_container_definitions.setter + def support_container_definitions(self, value: Optional[pulumi.Input[Sequence[Any]]]): + pulumi.set(self, "support_container_definitions", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: @@ -146,6 +178,8 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, operating_system: Optional[pulumi.Input['ContainerGroupDefinitionOperatingSystem']] = None, scheduling_strategy: Optional[pulumi.Input['ContainerGroupDefinitionSchedulingStrategy']] = None, + source_version_number: Optional[pulumi.Input[int]] = None, + support_container_definitions: Optional[pulumi.Input[Sequence[Any]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, total_cpu_limit: Optional[pulumi.Input[int]] = None, total_memory_limit: Optional[pulumi.Input[int]] = None, @@ -159,6 +193,8 @@ def __init__(__self__, :param pulumi.Input[str] name: A descriptive label for the container group definition. :param pulumi.Input['ContainerGroupDefinitionOperatingSystem'] operating_system: The operating system of the container group :param pulumi.Input['ContainerGroupDefinitionSchedulingStrategy'] scheduling_strategy: Specifies whether the container group includes replica or daemon containers. + :param pulumi.Input[int] source_version_number: A specific ContainerGroupDefinition version to be updated + :param pulumi.Input[Sequence[Any]] support_container_definitions: A collection of support container definitions that define the containers in this group. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: An array of key-value pairs to apply to this resource. :param pulumi.Input[int] total_cpu_limit: The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.) :param pulumi.Input[int] total_memory_limit: The maximum amount of memory (in MiB) to allocate for this container group. @@ -191,6 +227,8 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, operating_system: Optional[pulumi.Input['ContainerGroupDefinitionOperatingSystem']] = None, scheduling_strategy: Optional[pulumi.Input['ContainerGroupDefinitionSchedulingStrategy']] = None, + source_version_number: Optional[pulumi.Input[int]] = None, + support_container_definitions: Optional[pulumi.Input[Sequence[Any]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, total_cpu_limit: Optional[pulumi.Input[int]] = None, total_memory_limit: Optional[pulumi.Input[int]] = None, @@ -211,6 +249,8 @@ def _internal_init(__self__, raise TypeError("Missing required property 'operating_system'") __props__.__dict__["operating_system"] = operating_system __props__.__dict__["scheduling_strategy"] = scheduling_strategy + __props__.__dict__["source_version_number"] = source_version_number + __props__.__dict__["support_container_definitions"] = support_container_definitions __props__.__dict__["tags"] = tags if total_cpu_limit is None and not opts.urn: raise TypeError("Missing required property 'total_cpu_limit'") @@ -220,6 +260,8 @@ def _internal_init(__self__, __props__.__dict__["total_memory_limit"] = total_memory_limit __props__.__dict__["container_group_definition_arn"] = None __props__.__dict__["creation_time"] = None + __props__.__dict__["status"] = None + __props__.__dict__["status_reason"] = None replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["containerDefinitions[*]", "name", "operatingSystem", "schedulingStrategy", "totalCpuLimit", "totalMemoryLimit"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(ContainerGroupDefinition, __self__).__init__( @@ -250,6 +292,10 @@ def get(resource_name: str, __props__.__dict__["name"] = None __props__.__dict__["operating_system"] = None __props__.__dict__["scheduling_strategy"] = None + __props__.__dict__["source_version_number"] = None + __props__.__dict__["status"] = None + __props__.__dict__["status_reason"] = None + __props__.__dict__["support_container_definitions"] = None __props__.__dict__["tags"] = None __props__.__dict__["total_cpu_limit"] = None __props__.__dict__["total_memory_limit"] = None @@ -303,6 +349,38 @@ def scheduling_strategy(self) -> pulumi.Output[Optional['ContainerGroupDefinitio """ return pulumi.get(self, "scheduling_strategy") + @property + @pulumi.getter(name="sourceVersionNumber") + def source_version_number(self) -> pulumi.Output[Optional[int]]: + """ + A specific ContainerGroupDefinition version to be updated + """ + return pulumi.get(self, "source_version_number") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['ContainerGroupDefinitionStatus']: + """ + A string indicating ContainerGroupDefinition status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="statusReason") + def status_reason(self) -> pulumi.Output[str]: + """ + A string indicating the reason for ContainerGroupDefinition status. + """ + return pulumi.get(self, "status_reason") + + @property + @pulumi.getter(name="supportContainerDefinitions") + def support_container_definitions(self) -> pulumi.Output[Optional[Sequence[Any]]]: + """ + A collection of support container definitions that define the containers in this group. + """ + return pulumi.get(self, "support_container_definitions") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: diff --git a/sdk/python/pulumi_aws_native/gamelift/get_container_group_definition.py b/sdk/python/pulumi_aws_native/gamelift/get_container_group_definition.py index 8b3bfb66aa..848548a80a 100644 --- a/sdk/python/pulumi_aws_native/gamelift/get_container_group_definition.py +++ b/sdk/python/pulumi_aws_native/gamelift/get_container_group_definition.py @@ -14,6 +14,7 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from .. import outputs as _root_outputs +from ._enums import * __all__ = [ 'GetContainerGroupDefinitionResult', @@ -24,13 +25,25 @@ @pulumi.output_type class GetContainerGroupDefinitionResult: - def __init__(__self__, container_group_definition_arn=None, creation_time=None, tags=None): + def __init__(__self__, container_group_definition_arn=None, creation_time=None, source_version_number=None, status=None, status_reason=None, support_container_definitions=None, tags=None): if container_group_definition_arn and not isinstance(container_group_definition_arn, str): raise TypeError("Expected argument 'container_group_definition_arn' to be a str") pulumi.set(__self__, "container_group_definition_arn", container_group_definition_arn) if creation_time and not isinstance(creation_time, str): raise TypeError("Expected argument 'creation_time' to be a str") pulumi.set(__self__, "creation_time", creation_time) + if source_version_number and not isinstance(source_version_number, int): + raise TypeError("Expected argument 'source_version_number' to be a int") + pulumi.set(__self__, "source_version_number", source_version_number) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if status_reason and not isinstance(status_reason, str): + raise TypeError("Expected argument 'status_reason' to be a str") + pulumi.set(__self__, "status_reason", status_reason) + if support_container_definitions and not isinstance(support_container_definitions, list): + raise TypeError("Expected argument 'support_container_definitions' to be a list") + pulumi.set(__self__, "support_container_definitions", support_container_definitions) if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) @@ -51,6 +64,38 @@ def creation_time(self) -> Optional[str]: """ return pulumi.get(self, "creation_time") + @property + @pulumi.getter(name="sourceVersionNumber") + def source_version_number(self) -> Optional[int]: + """ + A specific ContainerGroupDefinition version to be updated + """ + return pulumi.get(self, "source_version_number") + + @property + @pulumi.getter + def status(self) -> Optional['ContainerGroupDefinitionStatus']: + """ + A string indicating ContainerGroupDefinition status. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="statusReason") + def status_reason(self) -> Optional[str]: + """ + A string indicating the reason for ContainerGroupDefinition status. + """ + return pulumi.get(self, "status_reason") + + @property + @pulumi.getter(name="supportContainerDefinitions") + def support_container_definitions(self) -> Optional[Sequence[Any]]: + """ + A collection of support container definitions that define the containers in this group. + """ + return pulumi.get(self, "support_container_definitions") + @property @pulumi.getter def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: @@ -68,6 +113,10 @@ def __await__(self): return GetContainerGroupDefinitionResult( container_group_definition_arn=self.container_group_definition_arn, creation_time=self.creation_time, + source_version_number=self.source_version_number, + status=self.status, + status_reason=self.status_reason, + support_container_definitions=self.support_container_definitions, tags=self.tags) @@ -87,6 +136,10 @@ def get_container_group_definition(name: Optional[str] = None, return AwaitableGetContainerGroupDefinitionResult( container_group_definition_arn=pulumi.get(__ret__, 'container_group_definition_arn'), creation_time=pulumi.get(__ret__, 'creation_time'), + source_version_number=pulumi.get(__ret__, 'source_version_number'), + status=pulumi.get(__ret__, 'status'), + status_reason=pulumi.get(__ret__, 'status_reason'), + support_container_definitions=pulumi.get(__ret__, 'support_container_definitions'), tags=pulumi.get(__ret__, 'tags')) def get_container_group_definition_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetContainerGroupDefinitionResult]: @@ -103,4 +156,8 @@ def get_container_group_definition_output(name: Optional[pulumi.Input[str]] = No return __ret__.apply(lambda __response__: GetContainerGroupDefinitionResult( container_group_definition_arn=pulumi.get(__response__, 'container_group_definition_arn'), creation_time=pulumi.get(__response__, 'creation_time'), + source_version_number=pulumi.get(__response__, 'source_version_number'), + status=pulumi.get(__response__, 'status'), + status_reason=pulumi.get(__response__, 'status_reason'), + support_container_definitions=pulumi.get(__response__, 'support_container_definitions'), tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/glue/schema.py b/sdk/python/pulumi_aws_native/glue/schema.py index 77421c4a9b..89e7943b37 100644 --- a/sdk/python/pulumi_aws_native/glue/schema.py +++ b/sdk/python/pulumi_aws_native/glue/schema.py @@ -26,26 +26,25 @@ class SchemaArgs: def __init__(__self__, *, compatibility: pulumi.Input['SchemaCompatibility'], data_format: pulumi.Input['SchemaDataFormat'], - schema_definition: pulumi.Input[str], checkpoint_version: Optional[pulumi.Input['SchemaVersionArgs']] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, registry: Optional[pulumi.Input['SchemaRegistryArgs']] = None, + schema_definition: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a Schema resource. :param pulumi.Input['SchemaCompatibility'] compatibility: Compatibility setting for the schema. :param pulumi.Input['SchemaDataFormat'] data_format: Data format name to use for the schema. Accepted values: 'AVRO', 'JSON', 'PROTOBUF' - :param pulumi.Input[str] schema_definition: Definition for the initial schema version in plain-text. :param pulumi.Input['SchemaVersionArgs'] checkpoint_version: Specify the `VersionNumber` or the `IsLatest` for setting the checkpoint for the schema. This is only required for updating a checkpoint. :param pulumi.Input[str] description: A description of the schema. If description is not provided, there will not be any default value for this. :param pulumi.Input[str] name: Name of the schema. :param pulumi.Input['SchemaRegistryArgs'] registry: The registry where a schema is stored. + :param pulumi.Input[str] schema_definition: Definition for the initial schema version in plain-text. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: List of tags to tag the schema """ pulumi.set(__self__, "compatibility", compatibility) pulumi.set(__self__, "data_format", data_format) - pulumi.set(__self__, "schema_definition", schema_definition) if checkpoint_version is not None: pulumi.set(__self__, "checkpoint_version", checkpoint_version) if description is not None: @@ -54,6 +53,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if registry is not None: pulumi.set(__self__, "registry", registry) + if schema_definition is not None: + pulumi.set(__self__, "schema_definition", schema_definition) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -81,18 +82,6 @@ def data_format(self) -> pulumi.Input['SchemaDataFormat']: def data_format(self, value: pulumi.Input['SchemaDataFormat']): pulumi.set(self, "data_format", value) - @property - @pulumi.getter(name="schemaDefinition") - def schema_definition(self) -> pulumi.Input[str]: - """ - Definition for the initial schema version in plain-text. - """ - return pulumi.get(self, "schema_definition") - - @schema_definition.setter - def schema_definition(self, value: pulumi.Input[str]): - pulumi.set(self, "schema_definition", value) - @property @pulumi.getter(name="checkpointVersion") def checkpoint_version(self) -> Optional[pulumi.Input['SchemaVersionArgs']]: @@ -141,6 +130,18 @@ def registry(self) -> Optional[pulumi.Input['SchemaRegistryArgs']]: def registry(self, value: Optional[pulumi.Input['SchemaRegistryArgs']]): pulumi.set(self, "registry", value) + @property + @pulumi.getter(name="schemaDefinition") + def schema_definition(self) -> Optional[pulumi.Input[str]]: + """ + Definition for the initial schema version in plain-text. + """ + return pulumi.get(self, "schema_definition") + + @schema_definition.setter + def schema_definition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "schema_definition", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: @@ -233,8 +234,6 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["name"] = name __props__.__dict__["registry"] = registry - if schema_definition is None and not opts.urn: - raise TypeError("Missing required property 'schema_definition'") __props__.__dict__["schema_definition"] = schema_definition __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None @@ -341,7 +340,7 @@ def registry(self) -> pulumi.Output[Optional['outputs.SchemaRegistry']]: @property @pulumi.getter(name="schemaDefinition") - def schema_definition(self) -> pulumi.Output[str]: + def schema_definition(self) -> pulumi.Output[Optional[str]]: """ Definition for the initial schema version in plain-text. """ diff --git a/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py b/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py index d038166720..51096f4edc 100644 --- a/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py +++ b/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py @@ -103,8 +103,7 @@ def __init__(__self__, *, + *AT_TIMESTAMP* - Specify a time from which to start reading records. :param pulumi.Input[float] starting_position_timestamp: With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of tags to add to the event source mapping. - - > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. :param pulumi.Input[Sequence[pulumi.Input[str]]] topics: The name of the Kafka topic. :param pulumi.Input[int] tumbling_window_in_seconds: (Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window. """ @@ -456,8 +455,7 @@ def starting_position_timestamp(self, value: Optional[pulumi.Input[float]]): def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: """ A list of tags to add to the event source mapping. - - > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. """ return pulumi.get(self, "tags") @@ -586,8 +584,7 @@ def __init__(__self__, + *AT_TIMESTAMP* - Specify a time from which to start reading records. :param pulumi.Input[float] starting_position_timestamp: With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of tags to add to the event source mapping. - - > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. :param pulumi.Input[Sequence[pulumi.Input[str]]] topics: The name of the Kafka topic. :param pulumi.Input[int] tumbling_window_in_seconds: (Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window. """ @@ -965,8 +962,7 @@ def starting_position_timestamp(self) -> pulumi.Output[Optional[float]]: def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: """ A list of tags to add to the event source mapping. - - > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py b/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py index f2d96b78b1..a1958a6982 100644 --- a/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py +++ b/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py @@ -260,8 +260,7 @@ def source_access_configurations(self) -> Optional[Sequence['outputs.EventSource def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: """ A list of tags to add to the event source mapping. - - > You must have the `lambda:TagResource` , `lambda:UntagResource` , and `lambda:ListTags` permissions for your [IAM principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. + You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/lambda_/get_version.py b/sdk/python/pulumi_aws_native/lambda_/get_version.py index b33054b26d..936516ba88 100644 --- a/sdk/python/pulumi_aws_native/lambda_/get_version.py +++ b/sdk/python/pulumi_aws_native/lambda_/get_version.py @@ -23,13 +23,10 @@ @pulumi.output_type class GetVersionResult: - def __init__(__self__, function_arn=None, policy=None, version=None): + def __init__(__self__, function_arn=None, version=None): if function_arn and not isinstance(function_arn, str): raise TypeError("Expected argument 'function_arn' to be a str") pulumi.set(__self__, "function_arn", function_arn) - if policy and not isinstance(policy, dict): - raise TypeError("Expected argument 'policy' to be a dict") - pulumi.set(__self__, "policy", policy) if version and not isinstance(version, str): raise TypeError("Expected argument 'version' to be a str") pulumi.set(__self__, "version", version) @@ -42,16 +39,6 @@ def function_arn(self) -> Optional[str]: """ return pulumi.get(self, "function_arn") - @property - @pulumi.getter - def policy(self) -> Optional[Any]: - """ - The resource policy of your function - - Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - """ - return pulumi.get(self, "policy") - @property @pulumi.getter def version(self) -> Optional[str]: @@ -68,7 +55,6 @@ def __await__(self): yield self return GetVersionResult( function_arn=self.function_arn, - policy=self.policy, version=self.version) @@ -87,7 +73,6 @@ def get_version(function_arn: Optional[str] = None, return AwaitableGetVersionResult( function_arn=pulumi.get(__ret__, 'function_arn'), - policy=pulumi.get(__ret__, 'policy'), version=pulumi.get(__ret__, 'version')) def get_version_output(function_arn: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVersionResult]: @@ -103,5 +88,4 @@ def get_version_output(function_arn: Optional[pulumi.Input[str]] = None, __ret__ = pulumi.runtime.invoke_output('aws-native:lambda:getVersion', __args__, opts=opts, typ=GetVersionResult) return __ret__.apply(lambda __response__: GetVersionResult( function_arn=pulumi.get(__response__, 'function_arn'), - policy=pulumi.get(__response__, 'policy'), version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_aws_native/lambda_/version.py b/sdk/python/pulumi_aws_native/lambda_/version.py index 96a6bbe45d..29f88c598e 100644 --- a/sdk/python/pulumi_aws_native/lambda_/version.py +++ b/sdk/python/pulumi_aws_native/lambda_/version.py @@ -24,7 +24,6 @@ def __init__(__self__, *, function_name: pulumi.Input[str], code_sha256: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - policy: Optional[Any] = None, provisioned_concurrency_config: Optional[pulumi.Input['VersionProvisionedConcurrencyConfigurationArgs']] = None, runtime_policy: Optional[pulumi.Input['VersionRuntimePolicyArgs']] = None): """ @@ -32,9 +31,6 @@ def __init__(__self__, *, :param pulumi.Input[str] function_name: The name of the Lambda function. :param pulumi.Input[str] code_sha256: Only publish a version if the hash value matches the value that's specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. Updates are not supported for this property. :param pulumi.Input[str] description: A description for the version to override the description in the function configuration. Updates are not supported for this property. - :param Any policy: The resource policy of your function - - Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. :param pulumi.Input['VersionProvisionedConcurrencyConfigurationArgs'] provisioned_concurrency_config: Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. :param pulumi.Input['VersionRuntimePolicyArgs'] runtime_policy: Specifies the runtime management configuration of a function. Displays runtimeVersionArn only for Manual. """ @@ -43,8 +39,6 @@ def __init__(__self__, *, pulumi.set(__self__, "code_sha256", code_sha256) if description is not None: pulumi.set(__self__, "description", description) - if policy is not None: - pulumi.set(__self__, "policy", policy) if provisioned_concurrency_config is not None: pulumi.set(__self__, "provisioned_concurrency_config", provisioned_concurrency_config) if runtime_policy is not None: @@ -86,20 +80,6 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) - @property - @pulumi.getter - def policy(self) -> Optional[Any]: - """ - The resource policy of your function - - Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - """ - return pulumi.get(self, "policy") - - @policy.setter - def policy(self, value: Optional[Any]): - pulumi.set(self, "policy", value) - @property @pulumi.getter(name="provisionedConcurrencyConfig") def provisioned_concurrency_config(self) -> Optional[pulumi.Input['VersionProvisionedConcurrencyConfigurationArgs']]: @@ -133,7 +113,6 @@ def __init__(__self__, code_sha256: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, function_name: Optional[pulumi.Input[str]] = None, - policy: Optional[Any] = None, provisioned_concurrency_config: Optional[pulumi.Input[Union['VersionProvisionedConcurrencyConfigurationArgs', 'VersionProvisionedConcurrencyConfigurationArgsDict']]] = None, runtime_policy: Optional[pulumi.Input[Union['VersionRuntimePolicyArgs', 'VersionRuntimePolicyArgsDict']]] = None, __props__=None): @@ -145,9 +124,6 @@ def __init__(__self__, :param pulumi.Input[str] code_sha256: Only publish a version if the hash value matches the value that's specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. Updates are not supported for this property. :param pulumi.Input[str] description: A description for the version to override the description in the function configuration. Updates are not supported for this property. :param pulumi.Input[str] function_name: The name of the Lambda function. - :param Any policy: The resource policy of your function - - Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. :param pulumi.Input[Union['VersionProvisionedConcurrencyConfigurationArgs', 'VersionProvisionedConcurrencyConfigurationArgsDict']] provisioned_concurrency_config: Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property. :param pulumi.Input[Union['VersionRuntimePolicyArgs', 'VersionRuntimePolicyArgsDict']] runtime_policy: Specifies the runtime management configuration of a function. Displays runtimeVersionArn only for Manual. """ @@ -178,7 +154,6 @@ def _internal_init(__self__, code_sha256: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, function_name: Optional[pulumi.Input[str]] = None, - policy: Optional[Any] = None, provisioned_concurrency_config: Optional[pulumi.Input[Union['VersionProvisionedConcurrencyConfigurationArgs', 'VersionProvisionedConcurrencyConfigurationArgsDict']]] = None, runtime_policy: Optional[pulumi.Input[Union['VersionRuntimePolicyArgs', 'VersionRuntimePolicyArgsDict']]] = None, __props__=None): @@ -195,7 +170,6 @@ def _internal_init(__self__, if function_name is None and not opts.urn: raise TypeError("Missing required property 'function_name'") __props__.__dict__["function_name"] = function_name - __props__.__dict__["policy"] = policy __props__.__dict__["provisioned_concurrency_config"] = provisioned_concurrency_config __props__.__dict__["runtime_policy"] = runtime_policy __props__.__dict__["function_arn"] = None @@ -228,7 +202,6 @@ def get(resource_name: str, __props__.__dict__["description"] = None __props__.__dict__["function_arn"] = None __props__.__dict__["function_name"] = None - __props__.__dict__["policy"] = None __props__.__dict__["provisioned_concurrency_config"] = None __props__.__dict__["runtime_policy"] = None __props__.__dict__["version"] = None @@ -266,16 +239,6 @@ def function_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "function_name") - @property - @pulumi.getter - def policy(self) -> pulumi.Output[Optional[Any]]: - """ - The resource policy of your function - - Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Lambda::Version` for more information about the expected schema for this property. - """ - return pulumi.get(self, "policy") - @property @pulumi.getter(name="provisionedConcurrencyConfig") def provisioned_concurrency_config(self) -> pulumi.Output[Optional['outputs.VersionProvisionedConcurrencyConfiguration']]: diff --git a/sdk/python/pulumi_aws_native/organizations/_enums.py b/sdk/python/pulumi_aws_native/organizations/_enums.py index 250a060055..2a1a37e4b2 100644 --- a/sdk/python/pulumi_aws_native/organizations/_enums.py +++ b/sdk/python/pulumi_aws_native/organizations/_enums.py @@ -39,9 +39,10 @@ class OrganizationFeatureSet(str, Enum): class PolicyType(str, Enum): """ - The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY """ SERVICE_CONTROL_POLICY = "SERVICE_CONTROL_POLICY" AISERVICES_OPT_OUT_POLICY = "AISERVICES_OPT_OUT_POLICY" BACKUP_POLICY = "BACKUP_POLICY" TAG_POLICY = "TAG_POLICY" + CHATBOT_POLICY = "CHATBOT_POLICY" diff --git a/sdk/python/pulumi_aws_native/organizations/policy.py b/sdk/python/pulumi_aws_native/organizations/policy.py index 54301fa927..fe01df3deb 100644 --- a/sdk/python/pulumi_aws_native/organizations/policy.py +++ b/sdk/python/pulumi_aws_native/organizations/policy.py @@ -33,7 +33,7 @@ def __init__(__self__, *, :param Any content: The Policy text content. For AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::Organizations::Policy` for more information about the expected schema for this property. - :param pulumi.Input['PolicyType'] type: The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + :param pulumi.Input['PolicyType'] type: The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY :param pulumi.Input[str] description: Human readable description of the policy :param pulumi.Input[str] name: Name of the Policy :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of tags that you want to attach to the newly created policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. @@ -68,7 +68,7 @@ def content(self, value: Any): @pulumi.getter def type(self) -> pulumi.Input['PolicyType']: """ - The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY """ return pulumi.get(self, "type") @@ -149,7 +149,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Name of the Policy :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of tags that you want to attach to the newly created policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to null. :param pulumi.Input[Sequence[pulumi.Input[str]]] target_ids: List of unique identifiers (IDs) of the root, OU, or account that you want to attach the policy to - :param pulumi.Input['PolicyType'] type: The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + :param pulumi.Input['PolicyType'] type: The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY """ ... @overload @@ -308,7 +308,7 @@ def target_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def type(self) -> pulumi.Output['PolicyType']: """ - The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY + The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws_native/qbusiness/data_source.py b/sdk/python/pulumi_aws_native/qbusiness/data_source.py index 44fa66371c..c96e16eb42 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/data_source.py +++ b/sdk/python/pulumi_aws_native/qbusiness/data_source.py @@ -37,12 +37,17 @@ def __init__(__self__, *, """ The set of arguments for constructing a DataSource resource. :param pulumi.Input[str] application_id: The identifier of the Amazon Q Business application the data source will be attached to. - :param Any configuration: Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + :param Any configuration: Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + + Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + + - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) You can find configuration templates for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. :param pulumi.Input[str] display_name: The name of the Amazon Q Business data source. @@ -91,12 +96,17 @@ def application_id(self, value: pulumi.Input[str]): @pulumi.getter def configuration(self) -> Any: """ - Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + + Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + + - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) You can find configuration templates for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. """ @@ -229,12 +239,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] application_id: The identifier of the Amazon Q Business application the data source will be attached to. - :param Any configuration: Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + :param Any configuration: Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + + Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + + - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) You can find configuration templates for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. :param pulumi.Input[str] description: A description for the data source connector. @@ -371,12 +386,17 @@ def application_id(self) -> pulumi.Output[str]: @pulumi.getter def configuration(self) -> pulumi.Output[Any]: """ - Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + + Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + + - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) You can find configuration templates for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. """ diff --git a/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py b/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py index 13c73473b4..871cd9f136 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py +++ b/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py @@ -74,12 +74,17 @@ def __init__(__self__, configuration=None, created_at=None, data_source_arn=None @pulumi.getter def configuration(self) -> Optional[Any]: """ - Use this property to specify a JSON or YAML schema with configuration information specific to your data source connector to connect your data source repository to Amazon Q Business . You must use the JSON or YAML schema provided by Amazon Q . + Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector. + + Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas: + + - [Amazon S3 JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html) + - [Web Crawler JSON schema](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html) You can find configuration templates for your specific data source using the following steps: - - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source connector of your choice. - - Then, from that specific data source connector's page, select *Using AWS CloudFormation* to find the schemas for your data source connector, including parameter descriptions and examples. + - Navigate to the [Supported connectors](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html) page in the Amazon Q Business User Guide, and select the data source of your choice. + - Then, from your specific data source connector page, select *Using the API* . You will find the JSON schema for your data source, including parameter descriptions, in this section. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::QBusiness::DataSource` for more information about the expected schema for this property. """ diff --git a/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py b/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py index 4fc30732ec..79b7ffcd96 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py +++ b/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py @@ -26,7 +26,7 @@ @pulumi.output_type class GetWebExperienceResult: - def __init__(__self__, created_at=None, default_endpoint=None, identity_provider_configuration=None, role_arn=None, sample_prompts_control_mode=None, status=None, subtitle=None, tags=None, title=None, updated_at=None, web_experience_arn=None, web_experience_id=None, welcome_message=None): + def __init__(__self__, created_at=None, default_endpoint=None, identity_provider_configuration=None, origins=None, role_arn=None, sample_prompts_control_mode=None, status=None, subtitle=None, tags=None, title=None, updated_at=None, web_experience_arn=None, web_experience_id=None, welcome_message=None): if created_at and not isinstance(created_at, str): raise TypeError("Expected argument 'created_at' to be a str") pulumi.set(__self__, "created_at", created_at) @@ -36,6 +36,9 @@ def __init__(__self__, created_at=None, default_endpoint=None, identity_provider if identity_provider_configuration and not isinstance(identity_provider_configuration, dict): raise TypeError("Expected argument 'identity_provider_configuration' to be a dict") pulumi.set(__self__, "identity_provider_configuration", identity_provider_configuration) + if origins and not isinstance(origins, list): + raise TypeError("Expected argument 'origins' to be a list") + pulumi.set(__self__, "origins", origins) if role_arn and not isinstance(role_arn, str): raise TypeError("Expected argument 'role_arn' to be a str") pulumi.set(__self__, "role_arn", role_arn) @@ -91,6 +94,11 @@ def identity_provider_configuration(self) -> Optional[Any]: """ return pulumi.get(self, "identity_provider_configuration") + @property + @pulumi.getter + def origins(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "origins") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: @@ -183,6 +191,7 @@ def __await__(self): created_at=self.created_at, default_endpoint=self.default_endpoint, identity_provider_configuration=self.identity_provider_configuration, + origins=self.origins, role_arn=self.role_arn, sample_prompts_control_mode=self.sample_prompts_control_mode, status=self.status, @@ -215,6 +224,7 @@ def get_web_experience(application_id: Optional[str] = None, created_at=pulumi.get(__ret__, 'created_at'), default_endpoint=pulumi.get(__ret__, 'default_endpoint'), identity_provider_configuration=pulumi.get(__ret__, 'identity_provider_configuration'), + origins=pulumi.get(__ret__, 'origins'), role_arn=pulumi.get(__ret__, 'role_arn'), sample_prompts_control_mode=pulumi.get(__ret__, 'sample_prompts_control_mode'), status=pulumi.get(__ret__, 'status'), @@ -244,6 +254,7 @@ def get_web_experience_output(application_id: Optional[pulumi.Input[str]] = None created_at=pulumi.get(__response__, 'created_at'), default_endpoint=pulumi.get(__response__, 'default_endpoint'), identity_provider_configuration=pulumi.get(__response__, 'identity_provider_configuration'), + origins=pulumi.get(__response__, 'origins'), role_arn=pulumi.get(__response__, 'role_arn'), sample_prompts_control_mode=pulumi.get(__response__, 'sample_prompts_control_mode'), status=pulumi.get(__response__, 'status'), diff --git a/sdk/python/pulumi_aws_native/qbusiness/web_experience.py b/sdk/python/pulumi_aws_native/qbusiness/web_experience.py index 6567a82fe5..fa78ad4452 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/web_experience.py +++ b/sdk/python/pulumi_aws_native/qbusiness/web_experience.py @@ -26,6 +26,7 @@ class WebExperienceArgs: def __init__(__self__, *, application_id: pulumi.Input[str], identity_provider_configuration: Optional[pulumi.Input[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgs']]] = None, + origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, role_arn: Optional[pulumi.Input[str]] = None, sample_prompts_control_mode: Optional[pulumi.Input['WebExperienceSamplePromptsControlMode']] = None, subtitle: Optional[pulumi.Input[str]] = None, @@ -48,6 +49,8 @@ def __init__(__self__, *, pulumi.set(__self__, "application_id", application_id) if identity_provider_configuration is not None: pulumi.set(__self__, "identity_provider_configuration", identity_provider_configuration) + if origins is not None: + pulumi.set(__self__, "origins", origins) if role_arn is not None: pulumi.set(__self__, "role_arn", role_arn) if sample_prompts_control_mode is not None: @@ -85,6 +88,15 @@ def identity_provider_configuration(self) -> Optional[pulumi.Input[Union['WebExp def identity_provider_configuration(self, value: Optional[pulumi.Input[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgs']]]): pulumi.set(self, "identity_provider_configuration", value) + @property + @pulumi.getter + def origins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "origins") + + @origins.setter + def origins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "origins", value) + @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[pulumi.Input[str]]: @@ -167,6 +179,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, application_id: Optional[pulumi.Input[str]] = None, identity_provider_configuration: Optional[pulumi.Input[Union[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration0PropertiesArgsDict'], Union['WebExperienceIdentityProviderConfiguration1PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgsDict']]]] = None, + origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, role_arn: Optional[pulumi.Input[str]] = None, sample_prompts_control_mode: Optional[pulumi.Input['WebExperienceSamplePromptsControlMode']] = None, subtitle: Optional[pulumi.Input[str]] = None, @@ -216,6 +229,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, application_id: Optional[pulumi.Input[str]] = None, identity_provider_configuration: Optional[pulumi.Input[Union[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration0PropertiesArgsDict'], Union['WebExperienceIdentityProviderConfiguration1PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgsDict']]]] = None, + origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, role_arn: Optional[pulumi.Input[str]] = None, sample_prompts_control_mode: Optional[pulumi.Input['WebExperienceSamplePromptsControlMode']] = None, subtitle: Optional[pulumi.Input[str]] = None, @@ -235,6 +249,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'application_id'") __props__.__dict__["application_id"] = application_id __props__.__dict__["identity_provider_configuration"] = identity_provider_configuration + __props__.__dict__["origins"] = origins __props__.__dict__["role_arn"] = role_arn __props__.__dict__["sample_prompts_control_mode"] = sample_prompts_control_mode __props__.__dict__["subtitle"] = subtitle @@ -275,6 +290,7 @@ def get(resource_name: str, __props__.__dict__["created_at"] = None __props__.__dict__["default_endpoint"] = None __props__.__dict__["identity_provider_configuration"] = None + __props__.__dict__["origins"] = None __props__.__dict__["role_arn"] = None __props__.__dict__["sample_prompts_control_mode"] = None __props__.__dict__["status"] = None @@ -319,6 +335,11 @@ def identity_provider_configuration(self) -> pulumi.Output[Optional[Any]]: """ return pulumi.get(self, "identity_provider_configuration") + @property + @pulumi.getter + def origins(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "origins") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws_native/quicksight/_enums.py b/sdk/python/pulumi_aws_native/quicksight/_enums.py index 92cb9ec57f..171e5be343 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_enums.py +++ b/sdk/python/pulumi_aws_native/quicksight/_enums.py @@ -2048,6 +2048,7 @@ class DataSourceType(str, Enum): PRESTO = "PRESTO" REDSHIFT = "REDSHIFT" S3 = "S3" + S3_TABLES = "S3_TABLES" SALESFORCE = "SALESFORCE" SERVICENOW = "SERVICENOW" SNOWFLAKE = "SNOWFLAKE" diff --git a/sdk/python/pulumi_aws_native/quicksight/_inputs.py b/sdk/python/pulumi_aws_native/quicksight/_inputs.py index d3f36eb06b..712d856d3f 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_inputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/_inputs.py @@ -12963,6 +12963,9 @@ class AnalysisDestinationParameterValueConfigurationArgsDict(TypedDict): The configuration that selects all options. """ source_column: NotRequired[pulumi.Input['AnalysisColumnIdentifierArgsDict']] + """ + A column of a data set. + """ source_field: NotRequired[pulumi.Input[str]] """ The source field ID of the destination parameter. @@ -12985,6 +12988,7 @@ def __init__(__self__, *, """ :param pulumi.Input['AnalysisCustomValuesConfigurationArgs'] custom_values_configuration: The configuration of custom values for destination parameter in `DestinationParameterValueConfiguration` . :param pulumi.Input['AnalysisSelectAllValueOptions'] select_all_value_options: The configuration that selects all options. + :param pulumi.Input['AnalysisColumnIdentifierArgs'] source_column: A column of a data set. :param pulumi.Input[str] source_field: The source field ID of the destination parameter. :param pulumi.Input[str] source_parameter_name: The source parameter name of the destination parameter. """ @@ -13026,6 +13030,9 @@ def select_all_value_options(self, value: Optional[pulumi.Input['AnalysisSelectA @property @pulumi.getter(name="sourceColumn") def source_column(self) -> Optional[pulumi.Input['AnalysisColumnIdentifierArgs']]: + """ + A column of a data set. + """ return pulumi.get(self, "source_column") @source_column.setter @@ -51856,6 +51863,9 @@ class DashboardDestinationParameterValueConfigurationArgsDict(TypedDict): The configuration that selects all options. """ source_column: NotRequired[pulumi.Input['DashboardColumnIdentifierArgsDict']] + """ + A column of a data set. + """ source_field: NotRequired[pulumi.Input[str]] """ The source field ID of the destination parameter. @@ -51878,6 +51888,7 @@ def __init__(__self__, *, """ :param pulumi.Input['DashboardCustomValuesConfigurationArgs'] custom_values_configuration: The configuration of custom values for destination parameter in `DestinationParameterValueConfiguration` . :param pulumi.Input['DashboardSelectAllValueOptions'] select_all_value_options: The configuration that selects all options. + :param pulumi.Input['DashboardColumnIdentifierArgs'] source_column: A column of a data set. :param pulumi.Input[str] source_field: The source field ID of the destination parameter. :param pulumi.Input[str] source_parameter_name: The source parameter name of the destination parameter. """ @@ -51919,6 +51930,9 @@ def select_all_value_options(self, value: Optional[pulumi.Input['DashboardSelect @property @pulumi.getter(name="sourceColumn") def source_column(self) -> Optional[pulumi.Input['DashboardColumnIdentifierArgs']]: + """ + A column of a data set. + """ return pulumi.get(self, "source_column") @source_column.setter @@ -81996,10 +82010,6 @@ class DataSetCustomSqlArgsDict(TypedDict): """

A physical table type built from the results of the custom SQL query.

""" - columns: pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgsDict']]] - """ -

The column schema from the SQL query result set.

- """ data_source_arn: pulumi.Input[str] """

The Amazon Resource Name (ARN) of the data source.

@@ -82012,39 +82022,32 @@ class DataSetCustomSqlArgsDict(TypedDict): """

The SQL query.

""" + columns: NotRequired[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgsDict']]]] + """ +

The column schema from the SQL query result set.

+ """ elif False: DataSetCustomSqlArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class DataSetCustomSqlArgs: def __init__(__self__, *, - columns: pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]], data_source_arn: pulumi.Input[str], name: pulumi.Input[str], - sql_query: pulumi.Input[str]): + sql_query: pulumi.Input[str], + columns: Optional[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]] = None): """

A physical table type built from the results of the custom SQL query.

- :param pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]] columns:

The column schema from the SQL query result set.

:param pulumi.Input[str] data_source_arn:

The Amazon Resource Name (ARN) of the data source.

:param pulumi.Input[str] name:

A display name for the SQL query result.

:param pulumi.Input[str] sql_query:

The SQL query.

+ :param pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]] columns:

The column schema from the SQL query result set.

""" - pulumi.set(__self__, "columns", columns) pulumi.set(__self__, "data_source_arn", data_source_arn) pulumi.set(__self__, "name", name) pulumi.set(__self__, "sql_query", sql_query) - - @property - @pulumi.getter - def columns(self) -> pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]: - """ -

The column schema from the SQL query result set.

- """ - return pulumi.get(self, "columns") - - @columns.setter - def columns(self, value: pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]): - pulumi.set(self, "columns", value) + if columns is not None: + pulumi.set(__self__, "columns", columns) @property @pulumi.getter(name="dataSourceArn") @@ -82082,6 +82085,18 @@ def sql_query(self) -> pulumi.Input[str]: def sql_query(self, value: pulumi.Input[str]): pulumi.set(self, "sql_query", value) + @property + @pulumi.getter + def columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]]: + """ +

The column schema from the SQL query result set.

+ """ + return pulumi.get(self, "columns") + + @columns.setter + def columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]]): + pulumi.set(self, "columns", value) + if not MYPY: class DataSetDatasetParameterArgsDict(TypedDict): @@ -83696,10 +83711,6 @@ class DataSetRelationalTableArgsDict(TypedDict): """

The Amazon Resource Name (ARN) for the data source.

""" - input_columns: pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgsDict']]] - """ -

The column schema of the table.

- """ name: pulumi.Input[str] """

The name of the relational table.

@@ -83708,6 +83719,10 @@ class DataSetRelationalTableArgsDict(TypedDict): """

The catalog associated with a table.

""" + input_columns: NotRequired[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgsDict']]]] + """ +

The column schema of the table.

+ """ schema: NotRequired[pulumi.Input[str]] """

The schema name. This name applies to certain relational database engines.

@@ -83719,23 +83734,24 @@ class DataSetRelationalTableArgsDict(TypedDict): class DataSetRelationalTableArgs: def __init__(__self__, *, data_source_arn: pulumi.Input[str], - input_columns: pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]], name: pulumi.Input[str], catalog: Optional[pulumi.Input[str]] = None, + input_columns: Optional[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]] = None, schema: Optional[pulumi.Input[str]] = None): """

A physical table type for relational data sources.

:param pulumi.Input[str] data_source_arn:

The Amazon Resource Name (ARN) for the data source.

- :param pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]] input_columns:

The column schema of the table.

:param pulumi.Input[str] name:

The name of the relational table.

:param pulumi.Input[str] catalog:

The catalog associated with a table.

+ :param pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]] input_columns:

The column schema of the table.

:param pulumi.Input[str] schema:

The schema name. This name applies to certain relational database engines.

""" pulumi.set(__self__, "data_source_arn", data_source_arn) - pulumi.set(__self__, "input_columns", input_columns) pulumi.set(__self__, "name", name) if catalog is not None: pulumi.set(__self__, "catalog", catalog) + if input_columns is not None: + pulumi.set(__self__, "input_columns", input_columns) if schema is not None: pulumi.set(__self__, "schema", schema) @@ -83751,18 +83767,6 @@ def data_source_arn(self) -> pulumi.Input[str]: def data_source_arn(self, value: pulumi.Input[str]): pulumi.set(self, "data_source_arn", value) - @property - @pulumi.getter(name="inputColumns") - def input_columns(self) -> pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]: - """ -

The column schema of the table.

- """ - return pulumi.get(self, "input_columns") - - @input_columns.setter - def input_columns(self, value: pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]): - pulumi.set(self, "input_columns", value) - @property @pulumi.getter def name(self) -> pulumi.Input[str]: @@ -83787,6 +83791,18 @@ def catalog(self) -> Optional[pulumi.Input[str]]: def catalog(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "catalog", value) + @property + @pulumi.getter(name="inputColumns") + def input_columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]]: + """ +

The column schema of the table.

+ """ + return pulumi.get(self, "input_columns") + + @input_columns.setter + def input_columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataSetInputColumnArgs']]]]): + pulumi.set(self, "input_columns", value) + @property @pulumi.getter def schema(self) -> Optional[pulumi.Input[str]]: @@ -84543,6 +84559,9 @@ class DataSetTransformOperationArgsDict(TypedDict): An operation that filters rows based on some condition. """ override_dataset_parameter_operation: NotRequired[pulumi.Input['DataSetOverrideDatasetParameterOperationArgsDict']] + """ + A transform operation that overrides the dataset parameter values that are defined in another dataset. + """ project_operation: NotRequired[pulumi.Input['DataSetProjectOperationArgsDict']] """ An operation that projects columns. Operations that come after a projection can only refer to projected columns. @@ -84576,6 +84595,7 @@ def __init__(__self__, *, :param pulumi.Input['DataSetCastColumnTypeOperationArgs'] cast_column_type_operation: A transform operation that casts a column to a different type. :param pulumi.Input['DataSetCreateColumnsOperationArgs'] create_columns_operation: An operation that creates calculated columns. Columns created in one such operation form a lexical closure. :param pulumi.Input['DataSetFilterOperationArgs'] filter_operation: An operation that filters rows based on some condition. + :param pulumi.Input['DataSetOverrideDatasetParameterOperationArgs'] override_dataset_parameter_operation: A transform operation that overrides the dataset parameter values that are defined in another dataset. :param pulumi.Input['DataSetProjectOperationArgs'] project_operation: An operation that projects columns. Operations that come after a projection can only refer to projected columns. :param pulumi.Input['DataSetRenameColumnOperationArgs'] rename_column_operation: An operation that renames a column. :param pulumi.Input['DataSetTagColumnOperationArgs'] tag_column_operation: An operation that tags a column with additional information. @@ -84636,6 +84656,9 @@ def filter_operation(self, value: Optional[pulumi.Input['DataSetFilterOperationA @property @pulumi.getter(name="overrideDatasetParameterOperation") def override_dataset_parameter_operation(self) -> Optional[pulumi.Input['DataSetOverrideDatasetParameterOperationArgs']]: + """ + A transform operation that overrides the dataset parameter values that are defined in another dataset. + """ return pulumi.get(self, "override_dataset_parameter_operation") @override_dataset_parameter_operation.setter @@ -97367,6 +97390,9 @@ class TemplateDestinationParameterValueConfigurationArgsDict(TypedDict): The configuration that selects all options. """ source_column: NotRequired[pulumi.Input['TemplateColumnIdentifierArgsDict']] + """ + A column of a data set. + """ source_field: NotRequired[pulumi.Input[str]] """ The source field ID of the destination parameter. @@ -97389,6 +97415,7 @@ def __init__(__self__, *, """ :param pulumi.Input['TemplateCustomValuesConfigurationArgs'] custom_values_configuration: The configuration of custom values for destination parameter in `DestinationParameterValueConfiguration` . :param pulumi.Input['TemplateSelectAllValueOptions'] select_all_value_options: The configuration that selects all options. + :param pulumi.Input['TemplateColumnIdentifierArgs'] source_column: A column of a data set. :param pulumi.Input[str] source_field: The source field ID of the destination parameter. :param pulumi.Input[str] source_parameter_name: The source parameter name of the destination parameter. """ @@ -97430,6 +97457,9 @@ def select_all_value_options(self, value: Optional[pulumi.Input['TemplateSelectA @property @pulumi.getter(name="sourceColumn") def source_column(self) -> Optional[pulumi.Input['TemplateColumnIdentifierArgs']]: + """ + A column of a data set. + """ return pulumi.get(self, "source_column") @source_column.setter @@ -126487,6 +126517,9 @@ class ThemeConfigurationArgsDict(TypedDict): Display options related to sheets. """ typography: NotRequired[pulumi.Input['ThemeTypographyArgsDict']] + """ + Determines the typography options. + """ ui_color_palette: NotRequired[pulumi.Input['ThemeUiColorPaletteArgsDict']] """ Color properties that apply to the UI and to charts, excluding the colors that apply to data. @@ -126506,6 +126539,7 @@ def __init__(__self__, *, a theme.

:param pulumi.Input['ThemeDataColorPaletteArgs'] data_color_palette: Color properties that apply to chart data colors. :param pulumi.Input['ThemeSheetStyleArgs'] sheet: Display options related to sheets. + :param pulumi.Input['ThemeTypographyArgs'] typography: Determines the typography options. :param pulumi.Input['ThemeUiColorPaletteArgs'] ui_color_palette: Color properties that apply to the UI and to charts, excluding the colors that apply to data. """ if data_color_palette is not None: @@ -126544,6 +126578,9 @@ def sheet(self, value: Optional[pulumi.Input['ThemeSheetStyleArgs']]): @property @pulumi.getter def typography(self) -> Optional[pulumi.Input['ThemeTypographyArgs']]: + """ + Determines the typography options. + """ return pulumi.get(self, "typography") @typography.setter diff --git a/sdk/python/pulumi_aws_native/quicksight/analysis.py b/sdk/python/pulumi_aws_native/quicksight/analysis.py index ec89c3e692..8896578bc7 100644 --- a/sdk/python/pulumi_aws_native/quicksight/analysis.py +++ b/sdk/python/pulumi_aws_native/quicksight/analysis.py @@ -28,6 +28,7 @@ def __init__(__self__, *, aws_account_id: pulumi.Input[str], definition: Optional[pulumi.Input['AnalysisDefinitionArgs']] = None, errors: Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisErrorArgs']]]] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input['AnalysisParametersArgs']] = None, permissions: Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisResourcePermissionArgs']]]] = None, @@ -62,6 +63,8 @@ def __init__(__self__, *, pulumi.set(__self__, "definition", definition) if errors is not None: pulumi.set(__self__, "errors", errors) + if folder_arns is not None: + pulumi.set(__self__, "folder_arns", folder_arns) if name is not None: pulumi.set(__self__, "name", name) if parameters is not None: @@ -126,6 +129,15 @@ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisErrorAr def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisErrorArgs']]]]): pulumi.set(self, "errors", value) + @property + @pulumi.getter(name="folderArns") + def folder_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "folder_arns") + + @folder_arns.setter + def folder_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "folder_arns", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -248,6 +260,7 @@ def __init__(__self__, aws_account_id: Optional[pulumi.Input[str]] = None, definition: Optional[pulumi.Input[Union['AnalysisDefinitionArgs', 'AnalysisDefinitionArgsDict']]] = None, errors: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AnalysisErrorArgs', 'AnalysisErrorArgsDict']]]]] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Union['AnalysisParametersArgs', 'AnalysisParametersArgsDict']]] = None, permissions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AnalysisResourcePermissionArgs', 'AnalysisResourcePermissionArgsDict']]]]] = None, @@ -308,6 +321,7 @@ def _internal_init(__self__, aws_account_id: Optional[pulumi.Input[str]] = None, definition: Optional[pulumi.Input[Union['AnalysisDefinitionArgs', 'AnalysisDefinitionArgsDict']]] = None, errors: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AnalysisErrorArgs', 'AnalysisErrorArgsDict']]]]] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Union['AnalysisParametersArgs', 'AnalysisParametersArgsDict']]] = None, permissions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AnalysisResourcePermissionArgs', 'AnalysisResourcePermissionArgsDict']]]]] = None, @@ -334,6 +348,7 @@ def _internal_init(__self__, __props__.__dict__["aws_account_id"] = aws_account_id __props__.__dict__["definition"] = definition __props__.__dict__["errors"] = errors + __props__.__dict__["folder_arns"] = folder_arns __props__.__dict__["name"] = name __props__.__dict__["parameters"] = parameters __props__.__dict__["permissions"] = permissions @@ -378,6 +393,7 @@ def get(resource_name: str, __props__.__dict__["data_set_arns"] = None __props__.__dict__["definition"] = None __props__.__dict__["errors"] = None + __props__.__dict__["folder_arns"] = None __props__.__dict__["last_updated_time"] = None __props__.__dict__["name"] = None __props__.__dict__["parameters"] = None @@ -443,6 +459,11 @@ def errors(self) -> pulumi.Output[Optional[Sequence['outputs.AnalysisError']]]: """ return pulumi.get(self, "errors") + @property + @pulumi.getter(name="folderArns") + def folder_arns(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "folder_arns") + @property @pulumi.getter(name="lastUpdatedTime") def last_updated_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/quicksight/dashboard.py b/sdk/python/pulumi_aws_native/quicksight/dashboard.py index f4e9711f37..d31db03c8c 100644 --- a/sdk/python/pulumi_aws_native/quicksight/dashboard.py +++ b/sdk/python/pulumi_aws_native/quicksight/dashboard.py @@ -28,6 +28,7 @@ def __init__(__self__, *, dashboard_id: pulumi.Input[str], dashboard_publish_options: Optional[pulumi.Input['DashboardPublishOptionsArgs']] = None, definition: Optional[pulumi.Input['DashboardVersionDefinitionArgs']] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, link_entities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, link_sharing_configuration: Optional[pulumi.Input['DashboardLinkSharingConfigurationArgs']] = None, name: Optional[pulumi.Input[str]] = None, @@ -68,6 +69,8 @@ def __init__(__self__, *, pulumi.set(__self__, "dashboard_publish_options", dashboard_publish_options) if definition is not None: pulumi.set(__self__, "definition", definition) + if folder_arns is not None: + pulumi.set(__self__, "folder_arns", folder_arns) if link_entities is not None: pulumi.set(__self__, "link_entities", link_entities) if link_sharing_configuration is not None: @@ -138,6 +141,15 @@ def definition(self) -> Optional[pulumi.Input['DashboardVersionDefinitionArgs']] def definition(self, value: Optional[pulumi.Input['DashboardVersionDefinitionArgs']]): pulumi.set(self, "definition", value) + @property + @pulumi.getter(name="folderArns") + def folder_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "folder_arns") + + @folder_arns.setter + def folder_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "folder_arns", value) + @property @pulumi.getter(name="linkEntities") def link_entities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -272,6 +284,7 @@ def __init__(__self__, dashboard_id: Optional[pulumi.Input[str]] = None, dashboard_publish_options: Optional[pulumi.Input[Union['DashboardPublishOptionsArgs', 'DashboardPublishOptionsArgsDict']]] = None, definition: Optional[pulumi.Input[Union['DashboardVersionDefinitionArgs', 'DashboardVersionDefinitionArgsDict']]] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, link_entities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, link_sharing_configuration: Optional[pulumi.Input[Union['DashboardLinkSharingConfigurationArgs', 'DashboardLinkSharingConfigurationArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, @@ -338,6 +351,7 @@ def _internal_init(__self__, dashboard_id: Optional[pulumi.Input[str]] = None, dashboard_publish_options: Optional[pulumi.Input[Union['DashboardPublishOptionsArgs', 'DashboardPublishOptionsArgsDict']]] = None, definition: Optional[pulumi.Input[Union['DashboardVersionDefinitionArgs', 'DashboardVersionDefinitionArgsDict']]] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, link_entities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, link_sharing_configuration: Optional[pulumi.Input[Union['DashboardLinkSharingConfigurationArgs', 'DashboardLinkSharingConfigurationArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, @@ -365,6 +379,7 @@ def _internal_init(__self__, __props__.__dict__["dashboard_id"] = dashboard_id __props__.__dict__["dashboard_publish_options"] = dashboard_publish_options __props__.__dict__["definition"] = definition + __props__.__dict__["folder_arns"] = folder_arns __props__.__dict__["link_entities"] = link_entities __props__.__dict__["link_sharing_configuration"] = link_sharing_configuration __props__.__dict__["name"] = name @@ -410,6 +425,7 @@ def get(resource_name: str, __props__.__dict__["dashboard_id"] = None __props__.__dict__["dashboard_publish_options"] = None __props__.__dict__["definition"] = None + __props__.__dict__["folder_arns"] = None __props__.__dict__["last_published_time"] = None __props__.__dict__["last_updated_time"] = None __props__.__dict__["link_entities"] = None @@ -474,6 +490,11 @@ def dashboard_publish_options(self) -> pulumi.Output[Optional['outputs.Dashboard def definition(self) -> pulumi.Output[Optional['outputs.DashboardVersionDefinition']]: return pulumi.get(self, "definition") + @property + @pulumi.getter(name="folderArns") + def folder_arns(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "folder_arns") + @property @pulumi.getter(name="lastPublishedTime") def last_published_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/quicksight/data_source.py b/sdk/python/pulumi_aws_native/quicksight/data_source.py index c09f3f2434..17d6f29bc2 100644 --- a/sdk/python/pulumi_aws_native/quicksight/data_source.py +++ b/sdk/python/pulumi_aws_native/quicksight/data_source.py @@ -31,6 +31,7 @@ def __init__(__self__, *, data_source_id: Optional[pulumi.Input[str]] = None, data_source_parameters: Optional[pulumi.Input['DataSourceParametersArgs']] = None, error_info: Optional[pulumi.Input['DataSourceErrorInfoArgs']] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, permissions: Optional[pulumi.Input[Sequence[pulumi.Input['DataSourceResourcePermissionArgs']]]] = None, ssl_properties: Optional[pulumi.Input['DataSourceSslPropertiesArgs']] = None, @@ -74,6 +75,8 @@ def __init__(__self__, *, pulumi.set(__self__, "data_source_parameters", data_source_parameters) if error_info is not None: pulumi.set(__self__, "error_info", error_info) + if folder_arns is not None: + pulumi.set(__self__, "folder_arns", folder_arns) if name is not None: pulumi.set(__self__, "name", name) if permissions is not None: @@ -179,6 +182,15 @@ def error_info(self) -> Optional[pulumi.Input['DataSourceErrorInfoArgs']]: def error_info(self, value: Optional[pulumi.Input['DataSourceErrorInfoArgs']]): pulumi.set(self, "error_info", value) + @property + @pulumi.getter(name="folderArns") + def folder_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "folder_arns") + + @folder_arns.setter + def folder_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "folder_arns", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -251,6 +263,7 @@ def __init__(__self__, data_source_id: Optional[pulumi.Input[str]] = None, data_source_parameters: Optional[pulumi.Input[Union['DataSourceParametersArgs', 'DataSourceParametersArgsDict']]] = None, error_info: Optional[pulumi.Input[Union['DataSourceErrorInfoArgs', 'DataSourceErrorInfoArgsDict']]] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, permissions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataSourceResourcePermissionArgs', 'DataSourceResourcePermissionArgsDict']]]]] = None, ssl_properties: Optional[pulumi.Input[Union['DataSourceSslPropertiesArgs', 'DataSourceSslPropertiesArgsDict']]] = None, @@ -316,6 +329,7 @@ def _internal_init(__self__, data_source_id: Optional[pulumi.Input[str]] = None, data_source_parameters: Optional[pulumi.Input[Union['DataSourceParametersArgs', 'DataSourceParametersArgsDict']]] = None, error_info: Optional[pulumi.Input[Union['DataSourceErrorInfoArgs', 'DataSourceErrorInfoArgsDict']]] = None, + folder_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, permissions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataSourceResourcePermissionArgs', 'DataSourceResourcePermissionArgsDict']]]]] = None, ssl_properties: Optional[pulumi.Input[Union['DataSourceSslPropertiesArgs', 'DataSourceSslPropertiesArgsDict']]] = None, @@ -337,6 +351,7 @@ def _internal_init(__self__, __props__.__dict__["data_source_id"] = data_source_id __props__.__dict__["data_source_parameters"] = data_source_parameters __props__.__dict__["error_info"] = error_info + __props__.__dict__["folder_arns"] = folder_arns __props__.__dict__["name"] = name __props__.__dict__["permissions"] = permissions __props__.__dict__["ssl_properties"] = ssl_properties @@ -381,6 +396,7 @@ def get(resource_name: str, __props__.__dict__["data_source_id"] = None __props__.__dict__["data_source_parameters"] = None __props__.__dict__["error_info"] = None + __props__.__dict__["folder_arns"] = None __props__.__dict__["last_updated_time"] = None __props__.__dict__["name"] = None __props__.__dict__["permissions"] = None @@ -463,6 +479,11 @@ def error_info(self) -> pulumi.Output[Optional['outputs.DataSourceErrorInfo']]: """ return pulumi.get(self, "error_info") + @property + @pulumi.getter(name="folderArns") + def folder_arns(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "folder_arns") + @property @pulumi.getter(name="lastUpdatedTime") def last_updated_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/quicksight/folder.py b/sdk/python/pulumi_aws_native/quicksight/folder.py index c958369103..b31216ce23 100644 --- a/sdk/python/pulumi_aws_native/quicksight/folder.py +++ b/sdk/python/pulumi_aws_native/quicksight/folder.py @@ -34,10 +34,14 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a Folder resource. + :param pulumi.Input[str] aws_account_id: The ID for the AWS account where you want to create the folder. :param pulumi.Input[str] folder_id: The ID of the folder. :param pulumi.Input['FolderType'] folder_type: The type of folder it is. :param pulumi.Input[str] name: A display name for the folder. - :param pulumi.Input[str] parent_folder_arn: A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + :param pulumi.Input[str] parent_folder_arn: The Amazon Resource Name (ARN) for the folder. + :param pulumi.Input[Sequence[pulumi.Input['FolderResourcePermissionArgs']]] permissions: A structure that describes the principals and the resource-level permissions of a folder. + + To specify no permissions, omit `Permissions` . :param pulumi.Input['FolderSharingModel'] sharing_model: The sharing scope of the folder. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of tags for the folders that you want to apply overrides to. """ @@ -61,6 +65,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="awsAccountId") def aws_account_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID for the AWS account where you want to create the folder. + """ return pulumi.get(self, "aws_account_id") @aws_account_id.setter @@ -107,7 +114,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="parentFolderArn") def parent_folder_arn(self) -> Optional[pulumi.Input[str]]: """ - A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + The Amazon Resource Name (ARN) for the folder. """ return pulumi.get(self, "parent_folder_arn") @@ -118,6 +125,11 @@ def parent_folder_arn(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FolderResourcePermissionArgs']]]]: + """ + A structure that describes the principals and the resource-level permissions of a folder. + + To specify no permissions, omit `Permissions` . + """ return pulumi.get(self, "permissions") @permissions.setter @@ -168,10 +180,14 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] aws_account_id: The ID for the AWS account where you want to create the folder. :param pulumi.Input[str] folder_id: The ID of the folder. :param pulumi.Input['FolderType'] folder_type: The type of folder it is. :param pulumi.Input[str] name: A display name for the folder. - :param pulumi.Input[str] parent_folder_arn: A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + :param pulumi.Input[str] parent_folder_arn: The Amazon Resource Name (ARN) for the folder. + :param pulumi.Input[Sequence[pulumi.Input[Union['FolderResourcePermissionArgs', 'FolderResourcePermissionArgsDict']]]] permissions: A structure that describes the principals and the resource-level permissions of a folder. + + To specify no permissions, omit `Permissions` . :param pulumi.Input['FolderSharingModel'] sharing_model: The sharing scope of the folder. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of tags for the folders that you want to apply overrides to. """ @@ -275,6 +291,9 @@ def arn(self) -> pulumi.Output[str]: @property @pulumi.getter(name="awsAccountId") def aws_account_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID for the AWS account where you want to create the folder. + """ return pulumi.get(self, "aws_account_id") @property @@ -321,13 +340,18 @@ def name(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="parentFolderArn") def parent_folder_arn(self) -> pulumi.Output[Optional[str]]: """ - A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved. + The Amazon Resource Name (ARN) for the folder. """ return pulumi.get(self, "parent_folder_arn") @property @pulumi.getter def permissions(self) -> pulumi.Output[Optional[Sequence['outputs.FolderResourcePermission']]]: + """ + A structure that describes the principals and the resource-level permissions of a folder. + + To specify no permissions, omit `Permissions` . + """ return pulumi.get(self, "permissions") @property diff --git a/sdk/python/pulumi_aws_native/quicksight/get_folder.py b/sdk/python/pulumi_aws_native/quicksight/get_folder.py index 0efa5dc095..f2646d727b 100644 --- a/sdk/python/pulumi_aws_native/quicksight/get_folder.py +++ b/sdk/python/pulumi_aws_native/quicksight/get_folder.py @@ -80,6 +80,11 @@ def name(self) -> Optional[str]: @property @pulumi.getter def permissions(self) -> Optional[Sequence['outputs.FolderResourcePermission']]: + """ + A structure that describes the principals and the resource-level permissions of a folder. + + To specify no permissions, omit `Permissions` . + """ return pulumi.get(self, "permissions") @property @@ -112,6 +117,7 @@ def get_folder(aws_account_id: Optional[str] = None, Definition of the AWS::QuickSight::Folder Resource Type. + :param str aws_account_id: The ID for the AWS account where you want to create the folder. :param str folder_id: The ID of the folder. """ __args__ = dict() @@ -134,6 +140,7 @@ def get_folder_output(aws_account_id: Optional[pulumi.Input[str]] = None, Definition of the AWS::QuickSight::Folder Resource Type. + :param str aws_account_id: The ID for the AWS account where you want to create the folder. :param str folder_id: The ID of the folder. """ __args__ = dict() diff --git a/sdk/python/pulumi_aws_native/quicksight/outputs.py b/sdk/python/pulumi_aws_native/quicksight/outputs.py index 78fc0e64b8..f3b44f23fe 100644 --- a/sdk/python/pulumi_aws_native/quicksight/outputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/outputs.py @@ -9821,6 +9821,7 @@ def __init__(__self__, *, """ :param 'AnalysisCustomValuesConfiguration' custom_values_configuration: The configuration of custom values for destination parameter in `DestinationParameterValueConfiguration` . :param 'AnalysisSelectAllValueOptions' select_all_value_options: The configuration that selects all options. + :param 'AnalysisColumnIdentifier' source_column: A column of a data set. :param str source_field: The source field ID of the destination parameter. :param str source_parameter_name: The source parameter name of the destination parameter. """ @@ -9854,6 +9855,9 @@ def select_all_value_options(self) -> Optional['AnalysisSelectAllValueOptions']: @property @pulumi.getter(name="sourceColumn") def source_column(self) -> Optional['outputs.AnalysisColumnIdentifier']: + """ + A column of a data set. + """ return pulumi.get(self, "source_column") @property @@ -41573,6 +41577,7 @@ def __init__(__self__, *, """ :param 'DashboardCustomValuesConfiguration' custom_values_configuration: The configuration of custom values for destination parameter in `DestinationParameterValueConfiguration` . :param 'DashboardSelectAllValueOptions' select_all_value_options: The configuration that selects all options. + :param 'DashboardColumnIdentifier' source_column: A column of a data set. :param str source_field: The source field ID of the destination parameter. :param str source_parameter_name: The source parameter name of the destination parameter. """ @@ -41606,6 +41611,9 @@ def select_all_value_options(self) -> Optional['DashboardSelectAllValueOptions'] @property @pulumi.getter(name="sourceColumn") def source_column(self) -> Optional['outputs.DashboardColumnIdentifier']: + """ + A column of a data set. + """ return pulumi.get(self, "source_column") @property @@ -66276,29 +66284,22 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - columns: Sequence['outputs.DataSetInputColumn'], data_source_arn: str, name: str, - sql_query: str): + sql_query: str, + columns: Optional[Sequence['outputs.DataSetInputColumn']] = None): """

A physical table type built from the results of the custom SQL query.

- :param Sequence['DataSetInputColumn'] columns:

The column schema from the SQL query result set.

:param str data_source_arn:

The Amazon Resource Name (ARN) of the data source.

:param str name:

A display name for the SQL query result.

:param str sql_query:

The SQL query.

+ :param Sequence['DataSetInputColumn'] columns:

The column schema from the SQL query result set.

""" - pulumi.set(__self__, "columns", columns) pulumi.set(__self__, "data_source_arn", data_source_arn) pulumi.set(__self__, "name", name) pulumi.set(__self__, "sql_query", sql_query) - - @property - @pulumi.getter - def columns(self) -> Sequence['outputs.DataSetInputColumn']: - """ -

The column schema from the SQL query result set.

- """ - return pulumi.get(self, "columns") + if columns is not None: + pulumi.set(__self__, "columns", columns) @property @pulumi.getter(name="dataSourceArn") @@ -66324,6 +66325,14 @@ def sql_query(self) -> str: """ return pulumi.get(self, "sql_query") + @property + @pulumi.getter + def columns(self) -> Optional[Sequence['outputs.DataSetInputColumn']]: + """ +

The column schema from the SQL query result set.

+ """ + return pulumi.get(self, "columns") + @pulumi.output_type class DataSetDatasetParameter(dict): @@ -67854,23 +67863,24 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, data_source_arn: str, - input_columns: Sequence['outputs.DataSetInputColumn'], name: str, catalog: Optional[str] = None, + input_columns: Optional[Sequence['outputs.DataSetInputColumn']] = None, schema: Optional[str] = None): """

A physical table type for relational data sources.

:param str data_source_arn:

The Amazon Resource Name (ARN) for the data source.

- :param Sequence['DataSetInputColumn'] input_columns:

The column schema of the table.

:param str name:

The name of the relational table.

:param str catalog:

The catalog associated with a table.

+ :param Sequence['DataSetInputColumn'] input_columns:

The column schema of the table.

:param str schema:

The schema name. This name applies to certain relational database engines.

""" pulumi.set(__self__, "data_source_arn", data_source_arn) - pulumi.set(__self__, "input_columns", input_columns) pulumi.set(__self__, "name", name) if catalog is not None: pulumi.set(__self__, "catalog", catalog) + if input_columns is not None: + pulumi.set(__self__, "input_columns", input_columns) if schema is not None: pulumi.set(__self__, "schema", schema) @@ -67882,14 +67892,6 @@ def data_source_arn(self) -> str: """ return pulumi.get(self, "data_source_arn") - @property - @pulumi.getter(name="inputColumns") - def input_columns(self) -> Sequence['outputs.DataSetInputColumn']: - """ -

The column schema of the table.

- """ - return pulumi.get(self, "input_columns") - @property @pulumi.getter def name(self) -> str: @@ -67906,6 +67908,14 @@ def catalog(self) -> Optional[str]: """ return pulumi.get(self, "catalog") + @property + @pulumi.getter(name="inputColumns") + def input_columns(self) -> Optional[Sequence['outputs.DataSetInputColumn']]: + """ +

The column schema of the table.

+ """ + return pulumi.get(self, "input_columns") + @property @pulumi.getter def schema(self) -> Optional[str]: @@ -68570,6 +68580,7 @@ def __init__(__self__, *, :param 'DataSetCastColumnTypeOperation' cast_column_type_operation: A transform operation that casts a column to a different type. :param 'DataSetCreateColumnsOperation' create_columns_operation: An operation that creates calculated columns. Columns created in one such operation form a lexical closure. :param 'DataSetFilterOperation' filter_operation: An operation that filters rows based on some condition. + :param 'DataSetOverrideDatasetParameterOperation' override_dataset_parameter_operation: A transform operation that overrides the dataset parameter values that are defined in another dataset. :param 'DataSetProjectOperation' project_operation: An operation that projects columns. Operations that come after a projection can only refer to projected columns. :param 'DataSetRenameColumnOperation' rename_column_operation: An operation that renames a column. :param 'DataSetTagColumnOperation' tag_column_operation: An operation that tags a column with additional information. @@ -68618,6 +68629,9 @@ def filter_operation(self) -> Optional['outputs.DataSetFilterOperation']: @property @pulumi.getter(name="overrideDatasetParameterOperation") def override_dataset_parameter_operation(self) -> Optional['outputs.DataSetOverrideDatasetParameterOperation']: + """ + A transform operation that overrides the dataset parameter values that are defined in another dataset. + """ return pulumi.get(self, "override_dataset_parameter_operation") @property @@ -79074,6 +79088,7 @@ def __init__(__self__, *, """ :param 'TemplateCustomValuesConfiguration' custom_values_configuration: The configuration of custom values for destination parameter in `DestinationParameterValueConfiguration` . :param 'TemplateSelectAllValueOptions' select_all_value_options: The configuration that selects all options. + :param 'TemplateColumnIdentifier' source_column: A column of a data set. :param str source_field: The source field ID of the destination parameter. :param str source_parameter_name: The source parameter name of the destination parameter. """ @@ -79107,6 +79122,9 @@ def select_all_value_options(self) -> Optional['TemplateSelectAllValueOptions']: @property @pulumi.getter(name="sourceColumn") def source_column(self) -> Optional['outputs.TemplateColumnIdentifier']: + """ + A column of a data set. + """ return pulumi.get(self, "source_column") @property @@ -102881,6 +102899,7 @@ def __init__(__self__, *, a theme.

:param 'ThemeDataColorPalette' data_color_palette: Color properties that apply to chart data colors. :param 'ThemeSheetStyle' sheet: Display options related to sheets. + :param 'ThemeTypography' typography: Determines the typography options. :param 'ThemeUiColorPalette' ui_color_palette: Color properties that apply to the UI and to charts, excluding the colors that apply to data. """ if data_color_palette is not None: @@ -102911,6 +102930,9 @@ def sheet(self) -> Optional['outputs.ThemeSheetStyle']: @property @pulumi.getter def typography(self) -> Optional['outputs.ThemeTypography']: + """ + Determines the typography options. + """ return pulumi.get(self, "typography") @property diff --git a/sdk/python/pulumi_aws_native/rds/db_instance.py b/sdk/python/pulumi_aws_native/rds/db_instance.py index 3fcd8b5c81..be5346c27b 100644 --- a/sdk/python/pulumi_aws_native/rds/db_instance.py +++ b/sdk/python/pulumi_aws_native/rds/db_instance.py @@ -287,16 +287,13 @@ def __init__(__self__, *, + ``CharacterSetName`` + ``DBClusterIdentifier`` + ``DBName`` - + ``DeleteAutomatedBackups`` + ``KmsKeyId`` + ``MasterUsername`` + ``MasterUserPassword`` - + ``PerformanceInsightsKMSKeyId`` - + ``PerformanceInsightsRetentionPeriod`` + ``PromotionTier`` + ``SourceDBInstanceIdentifier`` + ``SourceRegion`` - + ``StorageEncrypted`` (for an encrypted snapshot) + + ``StorageEncrypted`` (for an unencrypted snapshot) + ``Timezone`` *Amazon Aurora* @@ -1206,16 +1203,13 @@ def db_snapshot_identifier(self) -> Optional[pulumi.Input[str]]: + ``CharacterSetName`` + ``DBClusterIdentifier`` + ``DBName`` - + ``DeleteAutomatedBackups`` + ``KmsKeyId`` + ``MasterUsername`` + ``MasterUserPassword`` - + ``PerformanceInsightsKMSKeyId`` - + ``PerformanceInsightsRetentionPeriod`` + ``PromotionTier`` + ``SourceDBInstanceIdentifier`` + ``SourceRegion`` - + ``StorageEncrypted`` (for an encrypted snapshot) + + ``StorageEncrypted`` (for an unencrypted snapshot) + ``Timezone`` *Amazon Aurora* @@ -2461,16 +2455,13 @@ def __init__(__self__, + ``CharacterSetName`` + ``DBClusterIdentifier`` + ``DBName`` - + ``DeleteAutomatedBackups`` + ``KmsKeyId`` + ``MasterUsername`` + ``MasterUserPassword`` - + ``PerformanceInsightsKMSKeyId`` - + ``PerformanceInsightsRetentionPeriod`` + ``PromotionTier`` + ``SourceDBInstanceIdentifier`` + ``SourceRegion`` - + ``StorageEncrypted`` (for an encrypted snapshot) + + ``StorageEncrypted`` (for an unencrypted snapshot) + ``Timezone`` *Amazon Aurora* @@ -3466,16 +3457,13 @@ def db_snapshot_identifier(self) -> pulumi.Output[Optional[str]]: + ``CharacterSetName`` + ``DBClusterIdentifier`` + ``DBName`` - + ``DeleteAutomatedBackups`` + ``KmsKeyId`` + ``MasterUsername`` + ``MasterUserPassword`` - + ``PerformanceInsightsKMSKeyId`` - + ``PerformanceInsightsRetentionPeriod`` + ``PromotionTier`` + ``SourceDBInstanceIdentifier`` + ``SourceRegion`` - + ``StorageEncrypted`` (for an encrypted snapshot) + + ``StorageEncrypted`` (for an unencrypted snapshot) + ``Timezone`` *Amazon Aurora* diff --git a/sdk/python/pulumi_aws_native/rds/get_db_subnet_group.py b/sdk/python/pulumi_aws_native/rds/get_db_subnet_group.py index 3357b32f12..3dc6b0c9b5 100644 --- a/sdk/python/pulumi_aws_native/rds/get_db_subnet_group.py +++ b/sdk/python/pulumi_aws_native/rds/get_db_subnet_group.py @@ -24,10 +24,13 @@ @pulumi.output_type class GetDbSubnetGroupResult: - def __init__(__self__, db_subnet_group_description=None, tags=None): + def __init__(__self__, db_subnet_group_description=None, subnet_ids=None, tags=None): if db_subnet_group_description and not isinstance(db_subnet_group_description, str): raise TypeError("Expected argument 'db_subnet_group_description' to be a str") pulumi.set(__self__, "db_subnet_group_description", db_subnet_group_description) + if subnet_ids and not isinstance(subnet_ids, list): + raise TypeError("Expected argument 'subnet_ids' to be a list") + pulumi.set(__self__, "subnet_ids", subnet_ids) if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) @@ -40,6 +43,14 @@ def db_subnet_group_description(self) -> Optional[str]: """ return pulumi.get(self, "db_subnet_group_description") + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Optional[Sequence[str]]: + """ + The EC2 Subnet IDs for the DB subnet group. + """ + return pulumi.get(self, "subnet_ids") + @property @pulumi.getter def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: @@ -56,6 +67,7 @@ def __await__(self): yield self return GetDbSubnetGroupResult( db_subnet_group_description=self.db_subnet_group_description, + subnet_ids=self.subnet_ids, tags=self.tags) @@ -81,6 +93,7 @@ def get_db_subnet_group(db_subnet_group_name: Optional[str] = None, return AwaitableGetDbSubnetGroupResult( db_subnet_group_description=pulumi.get(__ret__, 'db_subnet_group_description'), + subnet_ids=pulumi.get(__ret__, 'subnet_ids'), tags=pulumi.get(__ret__, 'tags')) def get_db_subnet_group_output(db_subnet_group_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDbSubnetGroupResult]: @@ -103,4 +116,5 @@ def get_db_subnet_group_output(db_subnet_group_name: Optional[pulumi.Input[str]] __ret__ = pulumi.runtime.invoke_output('aws-native:rds:getDbSubnetGroup', __args__, opts=opts, typ=GetDbSubnetGroupResult) return __ret__.apply(lambda __response__: GetDbSubnetGroupResult( db_subnet_group_description=pulumi.get(__response__, 'db_subnet_group_description'), + subnet_ids=pulumi.get(__response__, 'subnet_ids'), tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/sagemaker/get_image_version.py b/sdk/python/pulumi_aws_native/sagemaker/get_image_version.py index 1bff8f1577..43f28abf44 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/get_image_version.py +++ b/sdk/python/pulumi_aws_native/sagemaker/get_image_version.py @@ -128,7 +128,7 @@ def vendor_guidance(self) -> Optional['ImageVersionVendorGuidance']: @pulumi.getter def version(self) -> Optional[int]: """ - The version number. + The version of the image. """ return pulumi.get(self, "version") diff --git a/sdk/python/pulumi_aws_native/sagemaker/image_version.py b/sdk/python/pulumi_aws_native/sagemaker/image_version.py index 36ead6644a..c570168026 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/image_version.py +++ b/sdk/python/pulumi_aws_native/sagemaker/image_version.py @@ -403,7 +403,7 @@ def vendor_guidance(self) -> pulumi.Output[Optional['ImageVersionVendorGuidance' @pulumi.getter def version(self) -> pulumi.Output[int]: """ - The version number. + The version of the image. """ return pulumi.get(self, "version") diff --git a/sdk/python/pulumi_aws_native/sqs/get_queue.py b/sdk/python/pulumi_aws_native/sqs/get_queue.py index c5ffffed67..d06341bbb1 100644 --- a/sdk/python/pulumi_aws_native/sqs/get_queue.py +++ b/sdk/python/pulumi_aws_native/sqs/get_queue.py @@ -129,11 +129,11 @@ def kms_data_key_reuse_period_seconds(self) -> Optional[int]: @pulumi.getter(name="kmsMasterKeyId") def kms_master_key_id(self) -> Optional[str]: """ - The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* """ return pulumi.get(self, "kms_master_key_id") @@ -174,12 +174,12 @@ def receive_message_wait_time_seconds(self) -> Optional[int]: def redrive_allow_policy(self) -> Optional[Any]: """ The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. - + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. """ @@ -190,8 +190,8 @@ def redrive_allow_policy(self) -> Optional[Any]: def redrive_policy(self) -> Optional[Any]: """ The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. *JSON* @@ -266,7 +266,7 @@ def get_queue(queue_url: Optional[str] = None, + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. - For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. :param str queue_url: Returns the URLs of the queues from the policy. @@ -304,7 +304,7 @@ def get_queue_output(queue_url: Optional[pulumi.Input[str]] = None, + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. - For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. :param str queue_url: Returns the URLs of the queues from the policy. diff --git a/sdk/python/pulumi_aws_native/sqs/queue.py b/sdk/python/pulumi_aws_native/sqs/queue.py index 3b41243b8a..96cbe8dfea 100644 --- a/sdk/python/pulumi_aws_native/sqs/queue.py +++ b/sdk/python/pulumi_aws_native/sqs/queue.py @@ -43,34 +43,34 @@ def __init__(__self__, *, :param pulumi.Input[str] deduplication_scope: For high throughput for FIFO queues, specifies whether message deduplication occurs at the message group or queue level. Valid values are ``messageGroup`` and ``queue``. To enable high throughput for a FIFO queue, set this attribute to ``messageGroup`` *and* set the ``FifoThroughputLimit`` attribute to ``perMessageGroupId``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*. :param pulumi.Input[int] delay_seconds: The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of ``0`` to ``900`` (15 minutes). The default value is ``0``. - :param pulumi.Input[bool] fifo_queue: If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + :param pulumi.Input[bool] fifo_queue: If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. :param pulumi.Input[str] fifo_throughput_limit: For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``. To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*. :param pulumi.Input[int] kms_data_key_reuse_period_seconds: The length of time in seconds for which SQS can reuse a data key to encrypt or decrypt messages before calling KMS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes). A shorter time period provides better security, but results in more calls to KMS, which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Developer Guide*. - :param pulumi.Input[str] kms_master_key_id: The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + :param pulumi.Input[str] kms_master_key_id: The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* :param pulumi.Input[int] maximum_message_size: The limit of how many bytes that a message can contain before SQS rejects it. You can specify an integer value from ``1,024`` bytes (1 KiB) to ``262,144`` bytes (256 KiB). The default value is ``262,144`` (256 KiB). :param pulumi.Input[int] message_retention_period: The number of seconds that SQS retains a message. You can specify an integer value from ``60`` seconds (1 minute) to ``1,209,600`` seconds (14 days). The default value is ``345,600`` seconds (4 days). - :param pulumi.Input[str] queue_name: A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + :param pulumi.Input[str] queue_name: A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. :param pulumi.Input[int] receive_message_wait_time_seconds: Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Developer Guide*. :param Any redrive_allow_policy: The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. - + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. :param Any redrive_policy: The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. *JSON* @@ -160,7 +160,7 @@ def delay_seconds(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="fifoQueue") def fifo_queue(self) -> Optional[pulumi.Input[bool]]: """ - If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. """ return pulumi.get(self, "fifo_queue") @@ -198,11 +198,11 @@ def kms_data_key_reuse_period_seconds(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="kmsMasterKeyId") def kms_master_key_id(self) -> Optional[pulumi.Input[str]]: """ - The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* """ return pulumi.get(self, "kms_master_key_id") @@ -238,7 +238,7 @@ def message_retention_period(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="queueName") def queue_name(self) -> Optional[pulumi.Input[str]]: """ - A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. """ @@ -265,12 +265,12 @@ def receive_message_wait_time_seconds(self, value: Optional[pulumi.Input[int]]): def redrive_allow_policy(self) -> Optional[Any]: """ The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. - + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. """ @@ -285,8 +285,8 @@ def redrive_allow_policy(self, value: Optional[Any]): def redrive_policy(self) -> Optional[Any]: """ The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. *JSON* @@ -373,7 +373,7 @@ def __init__(__self__, + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. - For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. ## Example Usage ### Example @@ -487,34 +487,34 @@ def __init__(__self__, :param pulumi.Input[str] deduplication_scope: For high throughput for FIFO queues, specifies whether message deduplication occurs at the message group or queue level. Valid values are ``messageGroup`` and ``queue``. To enable high throughput for a FIFO queue, set this attribute to ``messageGroup`` *and* set the ``FifoThroughputLimit`` attribute to ``perMessageGroupId``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*. :param pulumi.Input[int] delay_seconds: The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of ``0`` to ``900`` (15 minutes). The default value is ``0``. - :param pulumi.Input[bool] fifo_queue: If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + :param pulumi.Input[bool] fifo_queue: If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. :param pulumi.Input[str] fifo_throughput_limit: For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``. To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*. :param pulumi.Input[int] kms_data_key_reuse_period_seconds: The length of time in seconds for which SQS can reuse a data key to encrypt or decrypt messages before calling KMS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes). A shorter time period provides better security, but results in more calls to KMS, which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Developer Guide*. - :param pulumi.Input[str] kms_master_key_id: The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + :param pulumi.Input[str] kms_master_key_id: The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* :param pulumi.Input[int] maximum_message_size: The limit of how many bytes that a message can contain before SQS rejects it. You can specify an integer value from ``1,024`` bytes (1 KiB) to ``262,144`` bytes (256 KiB). The default value is ``262,144`` (256 KiB). :param pulumi.Input[int] message_retention_period: The number of seconds that SQS retains a message. You can specify an integer value from ``60`` seconds (1 minute) to ``1,209,600`` seconds (14 days). The default value is ``345,600`` seconds (4 days). - :param pulumi.Input[str] queue_name: A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + :param pulumi.Input[str] queue_name: A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. :param pulumi.Input[int] receive_message_wait_time_seconds: Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Developer Guide*. :param Any redrive_allow_policy: The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. - + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. :param Any redrive_policy: The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. *JSON* @@ -545,7 +545,7 @@ def __init__(__self__, + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name. + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues. - For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. + For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. ## Example Usage ### Example @@ -792,7 +792,7 @@ def delay_seconds(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="fifoQueue") def fifo_queue(self) -> pulumi.Output[Optional[bool]]: """ - If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. """ return pulumi.get(self, "fifo_queue") @@ -818,11 +818,11 @@ def kms_data_key_reuse_period_seconds(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="kmsMasterKeyId") def kms_master_key_id(self) -> pulumi.Output[Optional[str]]: """ - The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following: + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* - + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper + + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide* """ return pulumi.get(self, "kms_master_key_id") @@ -846,7 +846,7 @@ def message_retention_period(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="queueName") def queue_name(self) -> pulumi.Output[Optional[str]]: """ - A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*. + A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. """ @@ -873,12 +873,12 @@ def receive_message_wait_time_seconds(self) -> pulumi.Output[Optional[int]]: def redrive_allow_policy(self) -> pulumi.Output[Optional[Any]]: """ The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows: - + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: - + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. - + ``denyAll``: No source queues can specify this queue as the dead-letter queue. - + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. + + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are: + + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue. + + ``denyAll``: No source queues can specify this queue as the dead-letter queue. + + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue. - + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. + + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``. Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SQS::Queue` for more information about the expected schema for this property. """ @@ -889,8 +889,8 @@ def redrive_allow_policy(self) -> pulumi.Output[Optional[Any]]: def redrive_policy(self) -> pulumi.Output[Optional[Any]]: """ The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows: - + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. - + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. + + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded. + + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue. The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. *JSON* diff --git a/sdk/python/pulumi_aws_native/ssmquicksetup/_inputs.py b/sdk/python/pulumi_aws_native/ssmquicksetup/_inputs.py index e96594c903..0353a4c393 100644 --- a/sdk/python/pulumi_aws_native/ssmquicksetup/_inputs.py +++ b/sdk/python/pulumi_aws_native/ssmquicksetup/_inputs.py @@ -282,7 +282,7 @@ class ConfigurationManagerConfigurationDefinitionArgsDict(TypedDict): - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". - `RebootOption` - - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . - `IsPolicyAttachAllowed` - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". @@ -616,7 +616,7 @@ def __init__(__self__, *, - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". - `RebootOption` - - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . - `IsPolicyAttachAllowed` - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". @@ -937,7 +937,7 @@ def parameters(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". - `RebootOption` - - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . - `IsPolicyAttachAllowed` - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". diff --git a/sdk/python/pulumi_aws_native/ssmquicksetup/outputs.py b/sdk/python/pulumi_aws_native/ssmquicksetup/outputs.py index b3df6f3f81..ce03f7f25d 100644 --- a/sdk/python/pulumi_aws_native/ssmquicksetup/outputs.py +++ b/sdk/python/pulumi_aws_native/ssmquicksetup/outputs.py @@ -307,7 +307,7 @@ def __init__(__self__, *, - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". - `RebootOption` - - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . - `IsPolicyAttachAllowed` - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". @@ -628,7 +628,7 @@ def parameters(self) -> Mapping[str, str]: - Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is " `false` ". - `RebootOption` - - Description: (Optional) A boolean value that determines whether instances are rebooted after patches are installed. The default value is " `false` ". + - Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` . - `IsPolicyAttachAllowed` - Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is " `false` ". diff --git a/sdk/python/pulumi_aws_native/transfer/__init__.py b/sdk/python/pulumi_aws_native/transfer/__init__.py index f193b00c90..bdcf5ac2d2 100644 --- a/sdk/python/pulumi_aws_native/transfer/__init__.py +++ b/sdk/python/pulumi_aws_native/transfer/__init__.py @@ -13,8 +13,10 @@ from .get_certificate import * from .get_connector import * from .get_profile import * +from .get_server import * from .get_workflow import * from .profile import * +from .server import * from .workflow import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws_native/transfer/_enums.py b/sdk/python/pulumi_aws_native/transfer/_enums.py index 039e55acf1..f5baa2443c 100644 --- a/sdk/python/pulumi_aws_native/transfer/_enums.py +++ b/sdk/python/pulumi_aws_native/transfer/_enums.py @@ -15,6 +15,15 @@ 'ConnectorAs2ConfigPropertiesMdnSigningAlgorithm', 'ConnectorAs2ConfigPropertiesSigningAlgorithm', 'ProfileType', + 'ServerAs2Transport', + 'ServerDirectoryListingOptimization', + 'ServerDomain', + 'ServerEndpointType', + 'ServerIdentityProviderType', + 'ServerProtocol', + 'ServerSetStatOption', + 'ServerSftpAuthenticationMethods', + 'ServerTlsSessionResumptionMode', 'WorkflowStepCopyStepDetailsPropertiesOverwriteExisting', 'WorkflowStepDecryptStepDetailsPropertiesOverwriteExisting', 'WorkflowStepDecryptStepDetailsPropertiesType', @@ -114,6 +123,61 @@ class ProfileType(str, Enum): PARTNER = "PARTNER" +class ServerAs2Transport(str, Enum): + HTTP = "HTTP" + + +class ServerDirectoryListingOptimization(str, Enum): + """ + Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility. + """ + ENABLED = "ENABLED" + DISABLED = "DISABLED" + + +class ServerDomain(str, Enum): + S3 = "S3" + EFS = "EFS" + + +class ServerEndpointType(str, Enum): + PUBLIC = "PUBLIC" + VPC = "VPC" + VPC_ENDPOINT = "VPC_ENDPOINT" + + +class ServerIdentityProviderType(str, Enum): + SERVICE_MANAGED = "SERVICE_MANAGED" + API_GATEWAY = "API_GATEWAY" + AWS_DIRECTORY_SERVICE = "AWS_DIRECTORY_SERVICE" + AWS_LAMBDA = "AWS_LAMBDA" + + +class ServerProtocol(str, Enum): + SFTP = "SFTP" + FTP = "FTP" + FTPS = "FTPS" + AS2 = "AS2" + + +class ServerSetStatOption(str, Enum): + DEFAULT = "DEFAULT" + ENABLE_NO_OP = "ENABLE_NO_OP" + + +class ServerSftpAuthenticationMethods(str, Enum): + PASSWORD = "PASSWORD" + PUBLIC_KEY = "PUBLIC_KEY" + PUBLIC_KEY_OR_PASSWORD = "PUBLIC_KEY_OR_PASSWORD" + PUBLIC_KEY_AND_PASSWORD = "PUBLIC_KEY_AND_PASSWORD" + + +class ServerTlsSessionResumptionMode(str, Enum): + DISABLED = "DISABLED" + ENABLED = "ENABLED" + ENFORCED = "ENFORCED" + + class WorkflowStepCopyStepDetailsPropertiesOverwriteExisting(str, Enum): """ A flag that indicates whether or not to overwrite an existing file of the same name. The default is FALSE. diff --git a/sdk/python/pulumi_aws_native/transfer/_inputs.py b/sdk/python/pulumi_aws_native/transfer/_inputs.py index 6369b7f865..bb2faadb38 100644 --- a/sdk/python/pulumi_aws_native/transfer/_inputs.py +++ b/sdk/python/pulumi_aws_native/transfer/_inputs.py @@ -18,6 +18,18 @@ __all__ = [ 'As2ConfigPropertiesArgs', 'As2ConfigPropertiesArgsDict', + 'ServerEndpointDetailsArgs', + 'ServerEndpointDetailsArgsDict', + 'ServerIdentityProviderDetailsArgs', + 'ServerIdentityProviderDetailsArgsDict', + 'ServerProtocolDetailsArgs', + 'ServerProtocolDetailsArgsDict', + 'ServerS3StorageOptionsArgs', + 'ServerS3StorageOptionsArgsDict', + 'ServerWorkflowDetailsArgs', + 'ServerWorkflowDetailsArgsDict', + 'ServerWorkflowDetailArgs', + 'ServerWorkflowDetailArgsDict', 'SftpConfigPropertiesArgs', 'SftpConfigPropertiesArgsDict', 'WorkflowEfsInputFileLocationArgs', @@ -242,6 +254,642 @@ def signing_algorithm(self, value: Optional[pulumi.Input['ConnectorAs2ConfigProp pulumi.set(self, "signing_algorithm", value) +if not MYPY: + class ServerEndpointDetailsArgsDict(TypedDict): + address_allocation_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + + An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + + This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + + > This property can only be set as follows: + > + > - `EndpointType` must be set to `VPC` + > - The Transfer Family server must be offline. + > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + > - Call the `UpdateServer` API to set or change this parameter. + """ + security_group_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + A list of security groups IDs that are available to attach to your server's endpoint. + + > This property can only be set when `EndpointType` is set to `VPC` . + > + > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + """ + subnet_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + A list of subnet IDs that are required to host your server endpoint in your VPC. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ + vpc_endpoint_id: NotRequired[pulumi.Input[str]] + """ + The ID of the VPC endpoint. + + > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + """ + vpc_id: NotRequired[pulumi.Input[str]] + """ + The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ +elif False: + ServerEndpointDetailsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ServerEndpointDetailsArgs: + def __init__(__self__, *, + address_allocation_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + vpc_endpoint_id: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] address_allocation_ids: A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + + An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + + This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + + > This property can only be set as follows: + > + > - `EndpointType` must be set to `VPC` + > - The Transfer Family server must be offline. + > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + > - Call the `UpdateServer` API to set or change this parameter. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: A list of security groups IDs that are available to attach to your server's endpoint. + + > This property can only be set when `EndpointType` is set to `VPC` . + > + > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of subnet IDs that are required to host your server endpoint in your VPC. + + > This property can only be set when `EndpointType` is set to `VPC` . + :param pulumi.Input[str] vpc_endpoint_id: The ID of the VPC endpoint. + + > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + :param pulumi.Input[str] vpc_id: The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ + if address_allocation_ids is not None: + pulumi.set(__self__, "address_allocation_ids", address_allocation_ids) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if subnet_ids is not None: + pulumi.set(__self__, "subnet_ids", subnet_ids) + if vpc_endpoint_id is not None: + pulumi.set(__self__, "vpc_endpoint_id", vpc_endpoint_id) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="addressAllocationIds") + def address_allocation_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + + An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + + This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + + > This property can only be set as follows: + > + > - `EndpointType` must be set to `VPC` + > - The Transfer Family server must be offline. + > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + > - Call the `UpdateServer` API to set or change this parameter. + """ + return pulumi.get(self, "address_allocation_ids") + + @address_allocation_ids.setter + def address_allocation_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "address_allocation_ids", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of security groups IDs that are available to attach to your server's endpoint. + + > This property can only be set when `EndpointType` is set to `VPC` . + > + > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of subnet IDs that are required to host your server endpoint in your VPC. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ + return pulumi.get(self, "subnet_ids") + + @subnet_ids.setter + def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "subnet_ids", value) + + @property + @pulumi.getter(name="vpcEndpointId") + def vpc_endpoint_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the VPC endpoint. + + > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + """ + return pulumi.get(self, "vpc_endpoint_id") + + @vpc_endpoint_id.setter + def vpc_endpoint_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_endpoint_id", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + +if not MYPY: + class ServerIdentityProviderDetailsArgsDict(TypedDict): + directory_id: NotRequired[pulumi.Input[str]] + """ + The identifier of the AWS Directory Service directory that you want to use as your identity provider. + """ + function: NotRequired[pulumi.Input[str]] + """ + The ARN for a Lambda function to use for the Identity provider. + """ + invocation_role: NotRequired[pulumi.Input[str]] + """ + This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + """ + sftp_authentication_methods: NotRequired[pulumi.Input['ServerSftpAuthenticationMethods']] + """ + For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + + - `PASSWORD` - users must provide their password to connect. + - `PUBLIC_KEY` - users must provide their private key to connect. + - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + """ + url: NotRequired[pulumi.Input[str]] + """ + Provides the location of the service endpoint used to authenticate users. + """ +elif False: + ServerIdentityProviderDetailsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ServerIdentityProviderDetailsArgs: + def __init__(__self__, *, + directory_id: Optional[pulumi.Input[str]] = None, + function: Optional[pulumi.Input[str]] = None, + invocation_role: Optional[pulumi.Input[str]] = None, + sftp_authentication_methods: Optional[pulumi.Input['ServerSftpAuthenticationMethods']] = None, + url: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] directory_id: The identifier of the AWS Directory Service directory that you want to use as your identity provider. + :param pulumi.Input[str] function: The ARN for a Lambda function to use for the Identity provider. + :param pulumi.Input[str] invocation_role: This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + :param pulumi.Input['ServerSftpAuthenticationMethods'] sftp_authentication_methods: For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + + - `PASSWORD` - users must provide their password to connect. + - `PUBLIC_KEY` - users must provide their private key to connect. + - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + :param pulumi.Input[str] url: Provides the location of the service endpoint used to authenticate users. + """ + if directory_id is not None: + pulumi.set(__self__, "directory_id", directory_id) + if function is not None: + pulumi.set(__self__, "function", function) + if invocation_role is not None: + pulumi.set(__self__, "invocation_role", invocation_role) + if sftp_authentication_methods is not None: + pulumi.set(__self__, "sftp_authentication_methods", sftp_authentication_methods) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="directoryId") + def directory_id(self) -> Optional[pulumi.Input[str]]: + """ + The identifier of the AWS Directory Service directory that you want to use as your identity provider. + """ + return pulumi.get(self, "directory_id") + + @directory_id.setter + def directory_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "directory_id", value) + + @property + @pulumi.getter + def function(self) -> Optional[pulumi.Input[str]]: + """ + The ARN for a Lambda function to use for the Identity provider. + """ + return pulumi.get(self, "function") + + @function.setter + def function(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "function", value) + + @property + @pulumi.getter(name="invocationRole") + def invocation_role(self) -> Optional[pulumi.Input[str]]: + """ + This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + """ + return pulumi.get(self, "invocation_role") + + @invocation_role.setter + def invocation_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "invocation_role", value) + + @property + @pulumi.getter(name="sftpAuthenticationMethods") + def sftp_authentication_methods(self) -> Optional[pulumi.Input['ServerSftpAuthenticationMethods']]: + """ + For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + + - `PASSWORD` - users must provide their password to connect. + - `PUBLIC_KEY` - users must provide their private key to connect. + - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + """ + return pulumi.get(self, "sftp_authentication_methods") + + @sftp_authentication_methods.setter + def sftp_authentication_methods(self, value: Optional[pulumi.Input['ServerSftpAuthenticationMethods']]): + pulumi.set(self, "sftp_authentication_methods", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Provides the location of the service endpoint used to authenticate users. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +if not MYPY: + class ServerProtocolDetailsArgsDict(TypedDict): + as2_transports: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServerAs2Transport']]]] + """ + List of `As2Transport` objects. + """ + passive_ip: NotRequired[pulumi.Input[str]] + """ + Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + + `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + + Replace `0.0.0.0` in the example above with the actual IP address you want to use. + + > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + + *Special values* + + The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + """ + set_stat_option: NotRequired[pulumi.Input['ServerSetStatOption']] + """ + Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + + Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + + Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + + > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + """ + tls_session_resumption_mode: NotRequired[pulumi.Input['ServerTlsSessionResumptionMode']] + """ + A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + + - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + + > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + """ +elif False: + ServerProtocolDetailsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ServerProtocolDetailsArgs: + def __init__(__self__, *, + as2_transports: Optional[pulumi.Input[Sequence[pulumi.Input['ServerAs2Transport']]]] = None, + passive_ip: Optional[pulumi.Input[str]] = None, + set_stat_option: Optional[pulumi.Input['ServerSetStatOption']] = None, + tls_session_resumption_mode: Optional[pulumi.Input['ServerTlsSessionResumptionMode']] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['ServerAs2Transport']]] as2_transports: List of `As2Transport` objects. + :param pulumi.Input[str] passive_ip: Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + + `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + + Replace `0.0.0.0` in the example above with the actual IP address you want to use. + + > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + + *Special values* + + The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + :param pulumi.Input['ServerSetStatOption'] set_stat_option: Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + + Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + + Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + + > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + :param pulumi.Input['ServerTlsSessionResumptionMode'] tls_session_resumption_mode: A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + + - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + + > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + """ + if as2_transports is not None: + pulumi.set(__self__, "as2_transports", as2_transports) + if passive_ip is not None: + pulumi.set(__self__, "passive_ip", passive_ip) + if set_stat_option is not None: + pulumi.set(__self__, "set_stat_option", set_stat_option) + if tls_session_resumption_mode is not None: + pulumi.set(__self__, "tls_session_resumption_mode", tls_session_resumption_mode) + + @property + @pulumi.getter(name="as2Transports") + def as2_transports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerAs2Transport']]]]: + """ + List of `As2Transport` objects. + """ + return pulumi.get(self, "as2_transports") + + @as2_transports.setter + def as2_transports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerAs2Transport']]]]): + pulumi.set(self, "as2_transports", value) + + @property + @pulumi.getter(name="passiveIp") + def passive_ip(self) -> Optional[pulumi.Input[str]]: + """ + Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + + `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + + Replace `0.0.0.0` in the example above with the actual IP address you want to use. + + > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + + *Special values* + + The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + """ + return pulumi.get(self, "passive_ip") + + @passive_ip.setter + def passive_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "passive_ip", value) + + @property + @pulumi.getter(name="setStatOption") + def set_stat_option(self) -> Optional[pulumi.Input['ServerSetStatOption']]: + """ + Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + + Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + + Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + + > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + """ + return pulumi.get(self, "set_stat_option") + + @set_stat_option.setter + def set_stat_option(self, value: Optional[pulumi.Input['ServerSetStatOption']]): + pulumi.set(self, "set_stat_option", value) + + @property + @pulumi.getter(name="tlsSessionResumptionMode") + def tls_session_resumption_mode(self) -> Optional[pulumi.Input['ServerTlsSessionResumptionMode']]: + """ + A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + + - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + + > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + """ + return pulumi.get(self, "tls_session_resumption_mode") + + @tls_session_resumption_mode.setter + def tls_session_resumption_mode(self, value: Optional[pulumi.Input['ServerTlsSessionResumptionMode']]): + pulumi.set(self, "tls_session_resumption_mode", value) + + +if not MYPY: + class ServerS3StorageOptionsArgsDict(TypedDict): + directory_listing_optimization: NotRequired[pulumi.Input['ServerDirectoryListingOptimization']] + """ + Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ +elif False: + ServerS3StorageOptionsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ServerS3StorageOptionsArgs: + def __init__(__self__, *, + directory_listing_optimization: Optional[pulumi.Input['ServerDirectoryListingOptimization']] = None): + """ + :param pulumi.Input['ServerDirectoryListingOptimization'] directory_listing_optimization: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ + if directory_listing_optimization is not None: + pulumi.set(__self__, "directory_listing_optimization", directory_listing_optimization) + + @property + @pulumi.getter(name="directoryListingOptimization") + def directory_listing_optimization(self) -> Optional[pulumi.Input['ServerDirectoryListingOptimization']]: + """ + Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ + return pulumi.get(self, "directory_listing_optimization") + + @directory_listing_optimization.setter + def directory_listing_optimization(self, value: Optional[pulumi.Input['ServerDirectoryListingOptimization']]): + pulumi.set(self, "directory_listing_optimization", value) + + +if not MYPY: + class ServerWorkflowDetailsArgsDict(TypedDict): + on_partial_upload: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgsDict']]]] + """ + A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + + A *partial upload* occurs when a file is open when the session disconnects. + + > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + """ + on_upload: NotRequired[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgsDict']]]] + """ + A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + + To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + + `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + + > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + """ +elif False: + ServerWorkflowDetailsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ServerWorkflowDetailsArgs: + def __init__(__self__, *, + on_partial_upload: Optional[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]]] = None, + on_upload: Optional[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]] on_partial_upload: A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + + A *partial upload* occurs when a file is open when the session disconnects. + + > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + :param pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]] on_upload: A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + + To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + + `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + + > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + """ + if on_partial_upload is not None: + pulumi.set(__self__, "on_partial_upload", on_partial_upload) + if on_upload is not None: + pulumi.set(__self__, "on_upload", on_upload) + + @property + @pulumi.getter(name="onPartialUpload") + def on_partial_upload(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]]]: + """ + A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + + A *partial upload* occurs when a file is open when the session disconnects. + + > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + """ + return pulumi.get(self, "on_partial_upload") + + @on_partial_upload.setter + def on_partial_upload(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]]]): + pulumi.set(self, "on_partial_upload", value) + + @property + @pulumi.getter(name="onUpload") + def on_upload(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]]]: + """ + A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + + To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + + `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + + > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + """ + return pulumi.get(self, "on_upload") + + @on_upload.setter + def on_upload(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerWorkflowDetailArgs']]]]): + pulumi.set(self, "on_upload", value) + + +if not MYPY: + class ServerWorkflowDetailArgsDict(TypedDict): + execution_role: pulumi.Input[str] + """ + Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + """ + workflow_id: pulumi.Input[str] + """ + A unique identifier for the workflow. + """ +elif False: + ServerWorkflowDetailArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ServerWorkflowDetailArgs: + def __init__(__self__, *, + execution_role: pulumi.Input[str], + workflow_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] execution_role: Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + :param pulumi.Input[str] workflow_id: A unique identifier for the workflow. + """ + pulumi.set(__self__, "execution_role", execution_role) + pulumi.set(__self__, "workflow_id", workflow_id) + + @property + @pulumi.getter(name="executionRole") + def execution_role(self) -> pulumi.Input[str]: + """ + Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + """ + return pulumi.get(self, "execution_role") + + @execution_role.setter + def execution_role(self, value: pulumi.Input[str]): + pulumi.set(self, "execution_role", value) + + @property + @pulumi.getter(name="workflowId") + def workflow_id(self) -> pulumi.Input[str]: + """ + A unique identifier for the workflow. + """ + return pulumi.get(self, "workflow_id") + + @workflow_id.setter + def workflow_id(self, value: pulumi.Input[str]): + pulumi.set(self, "workflow_id", value) + + if not MYPY: class SftpConfigPropertiesArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/transfer/get_server.py b/sdk/python/pulumi_aws_native/transfer/get_server.py new file mode 100644 index 0000000000..2d5c8ea072 --- /dev/null +++ b/sdk/python/pulumi_aws_native/transfer/get_server.py @@ -0,0 +1,376 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetServerResult', + 'AwaitableGetServerResult', + 'get_server', + 'get_server_output', +] + +@pulumi.output_type +class GetServerResult: + def __init__(__self__, arn=None, as2_service_managed_egress_ip_addresses=None, certificate=None, endpoint_details=None, endpoint_type=None, identity_provider_details=None, logging_role=None, post_authentication_login_banner=None, pre_authentication_login_banner=None, protocol_details=None, protocols=None, s3_storage_options=None, security_policy_name=None, server_id=None, structured_log_destinations=None, tags=None, workflow_details=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if as2_service_managed_egress_ip_addresses and not isinstance(as2_service_managed_egress_ip_addresses, list): + raise TypeError("Expected argument 'as2_service_managed_egress_ip_addresses' to be a list") + pulumi.set(__self__, "as2_service_managed_egress_ip_addresses", as2_service_managed_egress_ip_addresses) + if certificate and not isinstance(certificate, str): + raise TypeError("Expected argument 'certificate' to be a str") + pulumi.set(__self__, "certificate", certificate) + if endpoint_details and not isinstance(endpoint_details, dict): + raise TypeError("Expected argument 'endpoint_details' to be a dict") + pulumi.set(__self__, "endpoint_details", endpoint_details) + if endpoint_type and not isinstance(endpoint_type, str): + raise TypeError("Expected argument 'endpoint_type' to be a str") + pulumi.set(__self__, "endpoint_type", endpoint_type) + if identity_provider_details and not isinstance(identity_provider_details, dict): + raise TypeError("Expected argument 'identity_provider_details' to be a dict") + pulumi.set(__self__, "identity_provider_details", identity_provider_details) + if logging_role and not isinstance(logging_role, str): + raise TypeError("Expected argument 'logging_role' to be a str") + pulumi.set(__self__, "logging_role", logging_role) + if post_authentication_login_banner and not isinstance(post_authentication_login_banner, str): + raise TypeError("Expected argument 'post_authentication_login_banner' to be a str") + pulumi.set(__self__, "post_authentication_login_banner", post_authentication_login_banner) + if pre_authentication_login_banner and not isinstance(pre_authentication_login_banner, str): + raise TypeError("Expected argument 'pre_authentication_login_banner' to be a str") + pulumi.set(__self__, "pre_authentication_login_banner", pre_authentication_login_banner) + if protocol_details and not isinstance(protocol_details, dict): + raise TypeError("Expected argument 'protocol_details' to be a dict") + pulumi.set(__self__, "protocol_details", protocol_details) + if protocols and not isinstance(protocols, list): + raise TypeError("Expected argument 'protocols' to be a list") + pulumi.set(__self__, "protocols", protocols) + if s3_storage_options and not isinstance(s3_storage_options, dict): + raise TypeError("Expected argument 's3_storage_options' to be a dict") + pulumi.set(__self__, "s3_storage_options", s3_storage_options) + if security_policy_name and not isinstance(security_policy_name, str): + raise TypeError("Expected argument 'security_policy_name' to be a str") + pulumi.set(__self__, "security_policy_name", security_policy_name) + if server_id and not isinstance(server_id, str): + raise TypeError("Expected argument 'server_id' to be a str") + pulumi.set(__self__, "server_id", server_id) + if structured_log_destinations and not isinstance(structured_log_destinations, list): + raise TypeError("Expected argument 'structured_log_destinations' to be a list") + pulumi.set(__self__, "structured_log_destinations", structured_log_destinations) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + if workflow_details and not isinstance(workflow_details, dict): + raise TypeError("Expected argument 'workflow_details' to be a dict") + pulumi.set(__self__, "workflow_details", workflow_details) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + + An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="as2ServiceManagedEgressIpAddresses") + def as2_service_managed_egress_ip_addresses(self) -> Optional[Sequence[str]]: + """ + The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + """ + return pulumi.get(self, "as2_service_managed_egress_ip_addresses") + + @property + @pulumi.getter + def certificate(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + + To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + + To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + + To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + + Certificates with the following cryptographic algorithms and key sizes are supported: + + - 2048-bit RSA (RSA_2048) + - 4096-bit RSA (RSA_4096) + - Elliptic Prime Curve 256 bit (EC_prime256v1) + - Elliptic Prime Curve 384 bit (EC_secp384r1) + - Elliptic Prime Curve 521 bit (EC_secp521r1) + + > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + """ + return pulumi.get(self, "certificate") + + @property + @pulumi.getter(name="endpointDetails") + def endpoint_details(self) -> Optional['outputs.ServerEndpointDetails']: + """ + The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + """ + return pulumi.get(self, "endpoint_details") + + @property + @pulumi.getter(name="endpointType") + def endpoint_type(self) -> Optional['ServerEndpointType']: + """ + The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + + > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + > + > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + > + > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + """ + return pulumi.get(self, "endpoint_type") + + @property + @pulumi.getter(name="identityProviderDetails") + def identity_provider_details(self) -> Optional['outputs.ServerIdentityProviderDetails']: + """ + Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + """ + return pulumi.get(self, "identity_provider_details") + + @property + @pulumi.getter(name="loggingRole") + def logging_role(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + """ + return pulumi.get(self, "logging_role") + + @property + @pulumi.getter(name="postAuthenticationLoginBanner") + def post_authentication_login_banner(self) -> Optional[str]: + """ + Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + + > The SFTP protocol does not support post-authentication display banners. + """ + return pulumi.get(self, "post_authentication_login_banner") + + @property + @pulumi.getter(name="preAuthenticationLoginBanner") + def pre_authentication_login_banner(self) -> Optional[str]: + """ + Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + + `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + """ + return pulumi.get(self, "pre_authentication_login_banner") + + @property + @pulumi.getter(name="protocolDetails") + def protocol_details(self) -> Optional['outputs.ServerProtocolDetails']: + """ + The protocol settings that are configured for your server. + + - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + """ + return pulumi.get(self, "protocol_details") + + @property + @pulumi.getter + def protocols(self) -> Optional[Sequence['ServerProtocol']]: + """ + Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + + - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + - `FTP` (File Transfer Protocol): Unencrypted file transfer + - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + + > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + """ + return pulumi.get(self, "protocols") + + @property + @pulumi.getter(name="s3StorageOptions") + def s3_storage_options(self) -> Optional['outputs.ServerS3StorageOptions']: + """ + Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ + return pulumi.get(self, "s3_storage_options") + + @property + @pulumi.getter(name="securityPolicyName") + def security_policy_name(self) -> Optional[str]: + """ + Specifies the name of the security policy for the server. + """ + return pulumi.get(self, "security_policy_name") + + @property + @pulumi.getter(name="serverId") + def server_id(self) -> Optional[str]: + """ + The service-assigned ID of the server that is created. + + An example `ServerId` is `s-01234567890abcdef` . + """ + return pulumi.get(self, "server_id") + + @property + @pulumi.getter(name="structuredLogDestinations") + def structured_log_destinations(self) -> Optional[Sequence[str]]: + """ + Specifies the log groups to which your server logs are sent. + + To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + + `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + + For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + + If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + + `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + """ + return pulumi.get(self, "structured_log_destinations") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + Key-value pairs that can be used to group and search for servers. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="workflowDetails") + def workflow_details(self) -> Optional['outputs.ServerWorkflowDetails']: + """ + Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + + In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + """ + return pulumi.get(self, "workflow_details") + + +class AwaitableGetServerResult(GetServerResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetServerResult( + arn=self.arn, + as2_service_managed_egress_ip_addresses=self.as2_service_managed_egress_ip_addresses, + certificate=self.certificate, + endpoint_details=self.endpoint_details, + endpoint_type=self.endpoint_type, + identity_provider_details=self.identity_provider_details, + logging_role=self.logging_role, + post_authentication_login_banner=self.post_authentication_login_banner, + pre_authentication_login_banner=self.pre_authentication_login_banner, + protocol_details=self.protocol_details, + protocols=self.protocols, + s3_storage_options=self.s3_storage_options, + security_policy_name=self.security_policy_name, + server_id=self.server_id, + structured_log_destinations=self.structured_log_destinations, + tags=self.tags, + workflow_details=self.workflow_details) + + +def get_server(arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServerResult: + """ + Definition of AWS::Transfer::Server Resource Type + + + :param str arn: The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + + An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:transfer:getServer', __args__, opts=opts, typ=GetServerResult).value + + return AwaitableGetServerResult( + arn=pulumi.get(__ret__, 'arn'), + as2_service_managed_egress_ip_addresses=pulumi.get(__ret__, 'as2_service_managed_egress_ip_addresses'), + certificate=pulumi.get(__ret__, 'certificate'), + endpoint_details=pulumi.get(__ret__, 'endpoint_details'), + endpoint_type=pulumi.get(__ret__, 'endpoint_type'), + identity_provider_details=pulumi.get(__ret__, 'identity_provider_details'), + logging_role=pulumi.get(__ret__, 'logging_role'), + post_authentication_login_banner=pulumi.get(__ret__, 'post_authentication_login_banner'), + pre_authentication_login_banner=pulumi.get(__ret__, 'pre_authentication_login_banner'), + protocol_details=pulumi.get(__ret__, 'protocol_details'), + protocols=pulumi.get(__ret__, 'protocols'), + s3_storage_options=pulumi.get(__ret__, 's3_storage_options'), + security_policy_name=pulumi.get(__ret__, 'security_policy_name'), + server_id=pulumi.get(__ret__, 'server_id'), + structured_log_destinations=pulumi.get(__ret__, 'structured_log_destinations'), + tags=pulumi.get(__ret__, 'tags'), + workflow_details=pulumi.get(__ret__, 'workflow_details')) +def get_server_output(arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerResult]: + """ + Definition of AWS::Transfer::Server Resource Type + + + :param str arn: The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + + An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:transfer:getServer', __args__, opts=opts, typ=GetServerResult) + return __ret__.apply(lambda __response__: GetServerResult( + arn=pulumi.get(__response__, 'arn'), + as2_service_managed_egress_ip_addresses=pulumi.get(__response__, 'as2_service_managed_egress_ip_addresses'), + certificate=pulumi.get(__response__, 'certificate'), + endpoint_details=pulumi.get(__response__, 'endpoint_details'), + endpoint_type=pulumi.get(__response__, 'endpoint_type'), + identity_provider_details=pulumi.get(__response__, 'identity_provider_details'), + logging_role=pulumi.get(__response__, 'logging_role'), + post_authentication_login_banner=pulumi.get(__response__, 'post_authentication_login_banner'), + pre_authentication_login_banner=pulumi.get(__response__, 'pre_authentication_login_banner'), + protocol_details=pulumi.get(__response__, 'protocol_details'), + protocols=pulumi.get(__response__, 'protocols'), + s3_storage_options=pulumi.get(__response__, 's3_storage_options'), + security_policy_name=pulumi.get(__response__, 'security_policy_name'), + server_id=pulumi.get(__response__, 'server_id'), + structured_log_destinations=pulumi.get(__response__, 'structured_log_destinations'), + tags=pulumi.get(__response__, 'tags'), + workflow_details=pulumi.get(__response__, 'workflow_details'))) diff --git a/sdk/python/pulumi_aws_native/transfer/outputs.py b/sdk/python/pulumi_aws_native/transfer/outputs.py index c77a50d9b7..88d163e9af 100644 --- a/sdk/python/pulumi_aws_native/transfer/outputs.py +++ b/sdk/python/pulumi_aws_native/transfer/outputs.py @@ -18,6 +18,12 @@ __all__ = [ 'As2ConfigProperties', + 'ServerEndpointDetails', + 'ServerIdentityProviderDetails', + 'ServerProtocolDetails', + 'ServerS3StorageOptions', + 'ServerWorkflowDetail', + 'ServerWorkflowDetails', 'SftpConfigProperties', 'WorkflowEfsInputFileLocation', 'WorkflowInputFileLocation', @@ -182,6 +188,522 @@ def signing_algorithm(self) -> Optional['ConnectorAs2ConfigPropertiesSigningAlgo return pulumi.get(self, "signing_algorithm") +@pulumi.output_type +class ServerEndpointDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "addressAllocationIds": + suggest = "address_allocation_ids" + elif key == "securityGroupIds": + suggest = "security_group_ids" + elif key == "subnetIds": + suggest = "subnet_ids" + elif key == "vpcEndpointId": + suggest = "vpc_endpoint_id" + elif key == "vpcId": + suggest = "vpc_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerEndpointDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerEndpointDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerEndpointDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + address_allocation_ids: Optional[Sequence[str]] = None, + security_group_ids: Optional[Sequence[str]] = None, + subnet_ids: Optional[Sequence[str]] = None, + vpc_endpoint_id: Optional[str] = None, + vpc_id: Optional[str] = None): + """ + :param Sequence[str] address_allocation_ids: A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + + An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + + This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + + > This property can only be set as follows: + > + > - `EndpointType` must be set to `VPC` + > - The Transfer Family server must be offline. + > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + > - Call the `UpdateServer` API to set or change this parameter. + :param Sequence[str] security_group_ids: A list of security groups IDs that are available to attach to your server's endpoint. + + > This property can only be set when `EndpointType` is set to `VPC` . + > + > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + :param Sequence[str] subnet_ids: A list of subnet IDs that are required to host your server endpoint in your VPC. + + > This property can only be set when `EndpointType` is set to `VPC` . + :param str vpc_endpoint_id: The ID of the VPC endpoint. + + > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + :param str vpc_id: The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ + if address_allocation_ids is not None: + pulumi.set(__self__, "address_allocation_ids", address_allocation_ids) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if subnet_ids is not None: + pulumi.set(__self__, "subnet_ids", subnet_ids) + if vpc_endpoint_id is not None: + pulumi.set(__self__, "vpc_endpoint_id", vpc_endpoint_id) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="addressAllocationIds") + def address_allocation_ids(self) -> Optional[Sequence[str]]: + """ + A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. + + An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the `allocationId` field from the Amazon EC2 [Address](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html) data type. One way to retrieve this value is by calling the EC2 [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html) API. + + This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see [Create an internet-facing endpoint for your server](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) . + + > This property can only be set as follows: + > + > - `EndpointType` must be set to `VPC` + > - The Transfer Family server must be offline. + > - You cannot set this parameter for Transfer Family servers that use the FTP protocol. + > - The server must already have `SubnetIds` populated ( `SubnetIds` and `AddressAllocationIds` cannot be updated simultaneously). + > - `AddressAllocationIds` can't contain duplicates, and must be equal in length to `SubnetIds` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. + > - Call the `UpdateServer` API to set or change this parameter. + """ + return pulumi.get(self, "address_allocation_ids") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[Sequence[str]]: + """ + A list of security groups IDs that are available to attach to your server's endpoint. + + > This property can only be set when `EndpointType` is set to `VPC` . + > + > You can edit the `SecurityGroupIds` property in the [UpdateServer](https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) API only if you are changing the `EndpointType` from `PUBLIC` or `VPC_ENDPOINT` to `VPC` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Optional[Sequence[str]]: + """ + A list of subnet IDs that are required to host your server endpoint in your VPC. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ + return pulumi.get(self, "subnet_ids") + + @property + @pulumi.getter(name="vpcEndpointId") + def vpc_endpoint_id(self) -> Optional[str]: + """ + The ID of the VPC endpoint. + + > This property can only be set when `EndpointType` is set to `VPC_ENDPOINT` . + """ + return pulumi.get(self, "vpc_endpoint_id") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[str]: + """ + The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. + + > This property can only be set when `EndpointType` is set to `VPC` . + """ + return pulumi.get(self, "vpc_id") + + +@pulumi.output_type +class ServerIdentityProviderDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "directoryId": + suggest = "directory_id" + elif key == "invocationRole": + suggest = "invocation_role" + elif key == "sftpAuthenticationMethods": + suggest = "sftp_authentication_methods" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerIdentityProviderDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerIdentityProviderDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerIdentityProviderDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + directory_id: Optional[str] = None, + function: Optional[str] = None, + invocation_role: Optional[str] = None, + sftp_authentication_methods: Optional['ServerSftpAuthenticationMethods'] = None, + url: Optional[str] = None): + """ + :param str directory_id: The identifier of the AWS Directory Service directory that you want to use as your identity provider. + :param str function: The ARN for a Lambda function to use for the Identity provider. + :param str invocation_role: This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + :param 'ServerSftpAuthenticationMethods' sftp_authentication_methods: For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + + - `PASSWORD` - users must provide their password to connect. + - `PUBLIC_KEY` - users must provide their private key to connect. + - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + :param str url: Provides the location of the service endpoint used to authenticate users. + """ + if directory_id is not None: + pulumi.set(__self__, "directory_id", directory_id) + if function is not None: + pulumi.set(__self__, "function", function) + if invocation_role is not None: + pulumi.set(__self__, "invocation_role", invocation_role) + if sftp_authentication_methods is not None: + pulumi.set(__self__, "sftp_authentication_methods", sftp_authentication_methods) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="directoryId") + def directory_id(self) -> Optional[str]: + """ + The identifier of the AWS Directory Service directory that you want to use as your identity provider. + """ + return pulumi.get(self, "directory_id") + + @property + @pulumi.getter + def function(self) -> Optional[str]: + """ + The ARN for a Lambda function to use for the Identity provider. + """ + return pulumi.get(self, "function") + + @property + @pulumi.getter(name="invocationRole") + def invocation_role(self) -> Optional[str]: + """ + This parameter is only applicable if your `IdentityProviderType` is `API_GATEWAY` . Provides the type of `InvocationRole` used to authenticate the user account. + """ + return pulumi.get(self, "invocation_role") + + @property + @pulumi.getter(name="sftpAuthenticationMethods") + def sftp_authentication_methods(self) -> Optional['ServerSftpAuthenticationMethods']: + """ + For SFTP-enabled servers, and for custom identity providers *only* , you can specify whether to authenticate using a password, SSH key pair, or both. + + - `PASSWORD` - users must provide their password to connect. + - `PUBLIC_KEY` - users must provide their private key to connect. + - `PUBLIC_KEY_OR_PASSWORD` - users can authenticate with either their password or their key. This is the default value. + - `PUBLIC_KEY_AND_PASSWORD` - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails. + """ + return pulumi.get(self, "sftp_authentication_methods") + + @property + @pulumi.getter + def url(self) -> Optional[str]: + """ + Provides the location of the service endpoint used to authenticate users. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class ServerProtocolDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "as2Transports": + suggest = "as2_transports" + elif key == "passiveIp": + suggest = "passive_ip" + elif key == "setStatOption": + suggest = "set_stat_option" + elif key == "tlsSessionResumptionMode": + suggest = "tls_session_resumption_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerProtocolDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerProtocolDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerProtocolDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + as2_transports: Optional[Sequence['ServerAs2Transport']] = None, + passive_ip: Optional[str] = None, + set_stat_option: Optional['ServerSetStatOption'] = None, + tls_session_resumption_mode: Optional['ServerTlsSessionResumptionMode'] = None): + """ + :param Sequence['ServerAs2Transport'] as2_transports: List of `As2Transport` objects. + :param str passive_ip: Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + + `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + + Replace `0.0.0.0` in the example above with the actual IP address you want to use. + + > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + + *Special values* + + The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + :param 'ServerSetStatOption' set_stat_option: Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + + Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + + Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + + > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + :param 'ServerTlsSessionResumptionMode' tls_session_resumption_mode: A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + + - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + + > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + """ + if as2_transports is not None: + pulumi.set(__self__, "as2_transports", as2_transports) + if passive_ip is not None: + pulumi.set(__self__, "passive_ip", passive_ip) + if set_stat_option is not None: + pulumi.set(__self__, "set_stat_option", set_stat_option) + if tls_session_resumption_mode is not None: + pulumi.set(__self__, "tls_session_resumption_mode", tls_session_resumption_mode) + + @property + @pulumi.getter(name="as2Transports") + def as2_transports(self) -> Optional[Sequence['ServerAs2Transport']]: + """ + List of `As2Transport` objects. + """ + return pulumi.get(self, "as2_transports") + + @property + @pulumi.getter(name="passiveIp") + def passive_ip(self) -> Optional[str]: + """ + Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: + + `aws transfer update-server --protocol-details PassiveIp=0.0.0.0` + + Replace `0.0.0.0` in the example above with the actual IP address you want to use. + + > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) . + + *Special values* + + The `AUTO` and `0.0.0.0` are special values for the `PassiveIp` parameter. The value `PassiveIp=AUTO` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. `PassiveIp=0.0.0.0` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the `PassiveIp` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify `PassiveIp=0.0.0.0` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the `PassiveIp=0.0.0.0` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the `PassiveIp=0.0.0.0` response. + """ + return pulumi.get(self, "passive_ip") + + @property + @pulumi.getter(name="setStatOption") + def set_stat_option(self) -> Optional['ServerSetStatOption']: + """ + Use the `SetStatOption` to ignore the error that is generated when the client attempts to use `SETSTAT` on a file you are uploading to an S3 bucket. + + Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as `SETSTAT` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. + + Set the value to `ENABLE_NO_OP` to have the Transfer Family server ignore the `SETSTAT` command, and upload files without needing to make any changes to your SFTP client. While the `SetStatOption` `ENABLE_NO_OP` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a `SETSTAT` call. + + > If you want to preserve the original timestamp for your file, and modify other file attributes using `SETSTAT` , you can use Amazon EFS as backend storage with Transfer Family. + """ + return pulumi.get(self, "set_stat_option") + + @property + @pulumi.getter(name="tlsSessionResumptionMode") + def tls_session_resumption_mode(self) -> Optional['ServerTlsSessionResumptionMode']: + """ + A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. `TlsSessionResumptionMode` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during `CreateServer` and `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not specified during `CreateServer` , it is set to `ENFORCED` by default. + + - `DISABLED` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. + - `ENABLED` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. + - `ENFORCED` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to `ENFORCED` , test your clients. + + > Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the `ENFORCED` value, you need to test your clients. + """ + return pulumi.get(self, "tls_session_resumption_mode") + + +@pulumi.output_type +class ServerS3StorageOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "directoryListingOptimization": + suggest = "directory_listing_optimization" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerS3StorageOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerS3StorageOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerS3StorageOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + directory_listing_optimization: Optional['ServerDirectoryListingOptimization'] = None): + """ + :param 'ServerDirectoryListingOptimization' directory_listing_optimization: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ + if directory_listing_optimization is not None: + pulumi.set(__self__, "directory_listing_optimization", directory_listing_optimization) + + @property + @pulumi.getter(name="directoryListingOptimization") + def directory_listing_optimization(self) -> Optional['ServerDirectoryListingOptimization']: + """ + Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ + return pulumi.get(self, "directory_listing_optimization") + + +@pulumi.output_type +class ServerWorkflowDetail(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "executionRole": + suggest = "execution_role" + elif key == "workflowId": + suggest = "workflow_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerWorkflowDetail. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerWorkflowDetail.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerWorkflowDetail.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + execution_role: str, + workflow_id: str): + """ + :param str execution_role: Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + :param str workflow_id: A unique identifier for the workflow. + """ + pulumi.set(__self__, "execution_role", execution_role) + pulumi.set(__self__, "workflow_id", workflow_id) + + @property + @pulumi.getter(name="executionRole") + def execution_role(self) -> str: + """ + Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources + """ + return pulumi.get(self, "execution_role") + + @property + @pulumi.getter(name="workflowId") + def workflow_id(self) -> str: + """ + A unique identifier for the workflow. + """ + return pulumi.get(self, "workflow_id") + + +@pulumi.output_type +class ServerWorkflowDetails(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "onPartialUpload": + suggest = "on_partial_upload" + elif key == "onUpload": + suggest = "on_upload" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerWorkflowDetails. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerWorkflowDetails.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerWorkflowDetails.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + on_partial_upload: Optional[Sequence['outputs.ServerWorkflowDetail']] = None, + on_upload: Optional[Sequence['outputs.ServerWorkflowDetail']] = None): + """ + :param Sequence['ServerWorkflowDetail'] on_partial_upload: A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + + A *partial upload* occurs when a file is open when the session disconnects. + + > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + :param Sequence['ServerWorkflowDetail'] on_upload: A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + + To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + + `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + + > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + """ + if on_partial_upload is not None: + pulumi.set(__self__, "on_partial_upload", on_partial_upload) + if on_upload is not None: + pulumi.set(__self__, "on_upload", on_upload) + + @property + @pulumi.getter(name="onPartialUpload") + def on_partial_upload(self) -> Optional[Sequence['outputs.ServerWorkflowDetail']]: + """ + A trigger that starts a workflow if a file is only partially uploaded. You can attach a workflow to a server that executes whenever there is a partial upload. + + A *partial upload* occurs when a file is open when the session disconnects. + + > `OnPartialUpload` can contain a maximum of one `WorkflowDetail` object. + """ + return pulumi.get(self, "on_partial_upload") + + @property + @pulumi.getter(name="onUpload") + def on_upload(self) -> Optional[Sequence['outputs.ServerWorkflowDetail']]: + """ + A trigger that starts a workflow: the workflow begins to execute after a file is uploaded. + + To remove an associated workflow from a server, you can provide an empty `OnUpload` object, as in the following example. + + `aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'` + + > `OnUpload` can contain a maximum of one `WorkflowDetail` object. + """ + return pulumi.get(self, "on_upload") + + @pulumi.output_type class SftpConfigProperties(dict): """ diff --git a/sdk/python/pulumi_aws_native/transfer/server.py b/sdk/python/pulumi_aws_native/transfer/server.py new file mode 100644 index 0000000000..ba168ff109 --- /dev/null +++ b/sdk/python/pulumi_aws_native/transfer/server.py @@ -0,0 +1,1256 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ServerArgs', 'Server'] + +@pulumi.input_type +class ServerArgs: + def __init__(__self__, *, + certificate: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input['ServerDomain']] = None, + endpoint_details: Optional[pulumi.Input['ServerEndpointDetailsArgs']] = None, + endpoint_type: Optional[pulumi.Input['ServerEndpointType']] = None, + identity_provider_details: Optional[pulumi.Input['ServerIdentityProviderDetailsArgs']] = None, + identity_provider_type: Optional[pulumi.Input['ServerIdentityProviderType']] = None, + logging_role: Optional[pulumi.Input[str]] = None, + post_authentication_login_banner: Optional[pulumi.Input[str]] = None, + pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input['ServerProtocolDetailsArgs']] = None, + protocols: Optional[pulumi.Input[Sequence[pulumi.Input['ServerProtocol']]]] = None, + s3_storage_options: Optional[pulumi.Input['ServerS3StorageOptionsArgs']] = None, + security_policy_name: Optional[pulumi.Input[str]] = None, + structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None, + workflow_details: Optional[pulumi.Input['ServerWorkflowDetailsArgs']] = None): + """ + The set of arguments for constructing a Server resource. + :param pulumi.Input[str] certificate: The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + + To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + + To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + + To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + + Certificates with the following cryptographic algorithms and key sizes are supported: + + - 2048-bit RSA (RSA_2048) + - 4096-bit RSA (RSA_4096) + - Elliptic Prime Curve 256 bit (EC_prime256v1) + - Elliptic Prime Curve 384 bit (EC_secp384r1) + - Elliptic Prime Curve 521 bit (EC_secp521r1) + + > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + :param pulumi.Input['ServerDomain'] domain: Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + :param pulumi.Input['ServerEndpointDetailsArgs'] endpoint_details: The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + :param pulumi.Input['ServerEndpointType'] endpoint_type: The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + + > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + > + > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + > + > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + :param pulumi.Input['ServerIdentityProviderDetailsArgs'] identity_provider_details: Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + :param pulumi.Input['ServerIdentityProviderType'] identity_provider_type: The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + + Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + + Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + + Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + :param pulumi.Input[str] logging_role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + :param pulumi.Input[str] post_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + + > The SFTP protocol does not support post-authentication display banners. + :param pulumi.Input[str] pre_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + + `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + :param pulumi.Input['ServerProtocolDetailsArgs'] protocol_details: The protocol settings that are configured for your server. + + - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + :param pulumi.Input[Sequence[pulumi.Input['ServerProtocol']]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + + - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + - `FTP` (File Transfer Protocol): Unencrypted file transfer + - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + + > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + :param pulumi.Input['ServerS3StorageOptionsArgs'] s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy for the server. + :param pulumi.Input[Sequence[pulumi.Input[str]]] structured_log_destinations: Specifies the log groups to which your server logs are sent. + + To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + + `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + + For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + + If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + + `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: Key-value pairs that can be used to group and search for servers. + :param pulumi.Input['ServerWorkflowDetailsArgs'] workflow_details: Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + + In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + """ + if certificate is not None: + pulumi.set(__self__, "certificate", certificate) + if domain is not None: + pulumi.set(__self__, "domain", domain) + if endpoint_details is not None: + pulumi.set(__self__, "endpoint_details", endpoint_details) + if endpoint_type is not None: + pulumi.set(__self__, "endpoint_type", endpoint_type) + if identity_provider_details is not None: + pulumi.set(__self__, "identity_provider_details", identity_provider_details) + if identity_provider_type is not None: + pulumi.set(__self__, "identity_provider_type", identity_provider_type) + if logging_role is not None: + pulumi.set(__self__, "logging_role", logging_role) + if post_authentication_login_banner is not None: + pulumi.set(__self__, "post_authentication_login_banner", post_authentication_login_banner) + if pre_authentication_login_banner is not None: + pulumi.set(__self__, "pre_authentication_login_banner", pre_authentication_login_banner) + if protocol_details is not None: + pulumi.set(__self__, "protocol_details", protocol_details) + if protocols is not None: + pulumi.set(__self__, "protocols", protocols) + if s3_storage_options is not None: + pulumi.set(__self__, "s3_storage_options", s3_storage_options) + if security_policy_name is not None: + pulumi.set(__self__, "security_policy_name", security_policy_name) + if structured_log_destinations is not None: + pulumi.set(__self__, "structured_log_destinations", structured_log_destinations) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if workflow_details is not None: + pulumi.set(__self__, "workflow_details", workflow_details) + + @property + @pulumi.getter + def certificate(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + + To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + + To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + + To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + + Certificates with the following cryptographic algorithms and key sizes are supported: + + - 2048-bit RSA (RSA_2048) + - 4096-bit RSA (RSA_4096) + - Elliptic Prime Curve 256 bit (EC_prime256v1) + - Elliptic Prime Curve 384 bit (EC_secp384r1) + - Elliptic Prime Curve 521 bit (EC_secp521r1) + + > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + """ + return pulumi.get(self, "certificate") + + @certificate.setter + def certificate(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate", value) + + @property + @pulumi.getter + def domain(self) -> Optional[pulumi.Input['ServerDomain']]: + """ + Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + """ + return pulumi.get(self, "domain") + + @domain.setter + def domain(self, value: Optional[pulumi.Input['ServerDomain']]): + pulumi.set(self, "domain", value) + + @property + @pulumi.getter(name="endpointDetails") + def endpoint_details(self) -> Optional[pulumi.Input['ServerEndpointDetailsArgs']]: + """ + The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + """ + return pulumi.get(self, "endpoint_details") + + @endpoint_details.setter + def endpoint_details(self, value: Optional[pulumi.Input['ServerEndpointDetailsArgs']]): + pulumi.set(self, "endpoint_details", value) + + @property + @pulumi.getter(name="endpointType") + def endpoint_type(self) -> Optional[pulumi.Input['ServerEndpointType']]: + """ + The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + + > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + > + > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + > + > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + """ + return pulumi.get(self, "endpoint_type") + + @endpoint_type.setter + def endpoint_type(self, value: Optional[pulumi.Input['ServerEndpointType']]): + pulumi.set(self, "endpoint_type", value) + + @property + @pulumi.getter(name="identityProviderDetails") + def identity_provider_details(self) -> Optional[pulumi.Input['ServerIdentityProviderDetailsArgs']]: + """ + Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + """ + return pulumi.get(self, "identity_provider_details") + + @identity_provider_details.setter + def identity_provider_details(self, value: Optional[pulumi.Input['ServerIdentityProviderDetailsArgs']]): + pulumi.set(self, "identity_provider_details", value) + + @property + @pulumi.getter(name="identityProviderType") + def identity_provider_type(self) -> Optional[pulumi.Input['ServerIdentityProviderType']]: + """ + The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + + Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + + Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + + Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + """ + return pulumi.get(self, "identity_provider_type") + + @identity_provider_type.setter + def identity_provider_type(self, value: Optional[pulumi.Input['ServerIdentityProviderType']]): + pulumi.set(self, "identity_provider_type", value) + + @property + @pulumi.getter(name="loggingRole") + def logging_role(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + """ + return pulumi.get(self, "logging_role") + + @logging_role.setter + def logging_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logging_role", value) + + @property + @pulumi.getter(name="postAuthenticationLoginBanner") + def post_authentication_login_banner(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + + > The SFTP protocol does not support post-authentication display banners. + """ + return pulumi.get(self, "post_authentication_login_banner") + + @post_authentication_login_banner.setter + def post_authentication_login_banner(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "post_authentication_login_banner", value) + + @property + @pulumi.getter(name="preAuthenticationLoginBanner") + def pre_authentication_login_banner(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + + `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + """ + return pulumi.get(self, "pre_authentication_login_banner") + + @pre_authentication_login_banner.setter + def pre_authentication_login_banner(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pre_authentication_login_banner", value) + + @property + @pulumi.getter(name="protocolDetails") + def protocol_details(self) -> Optional[pulumi.Input['ServerProtocolDetailsArgs']]: + """ + The protocol settings that are configured for your server. + + - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + """ + return pulumi.get(self, "protocol_details") + + @protocol_details.setter + def protocol_details(self, value: Optional[pulumi.Input['ServerProtocolDetailsArgs']]): + pulumi.set(self, "protocol_details", value) + + @property + @pulumi.getter + def protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerProtocol']]]]: + """ + Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + + - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + - `FTP` (File Transfer Protocol): Unencrypted file transfer + - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + + > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + """ + return pulumi.get(self, "protocols") + + @protocols.setter + def protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerProtocol']]]]): + pulumi.set(self, "protocols", value) + + @property + @pulumi.getter(name="s3StorageOptions") + def s3_storage_options(self) -> Optional[pulumi.Input['ServerS3StorageOptionsArgs']]: + """ + Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ + return pulumi.get(self, "s3_storage_options") + + @s3_storage_options.setter + def s3_storage_options(self, value: Optional[pulumi.Input['ServerS3StorageOptionsArgs']]): + pulumi.set(self, "s3_storage_options", value) + + @property + @pulumi.getter(name="securityPolicyName") + def security_policy_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the security policy for the server. + """ + return pulumi.get(self, "security_policy_name") + + @security_policy_name.setter + def security_policy_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "security_policy_name", value) + + @property + @pulumi.getter(name="structuredLogDestinations") + def structured_log_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the log groups to which your server logs are sent. + + To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + + `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + + For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + + If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + + `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + """ + return pulumi.get(self, "structured_log_destinations") + + @structured_log_destinations.setter + def structured_log_destinations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "structured_log_destinations", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + Key-value pairs that can be used to group and search for servers. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="workflowDetails") + def workflow_details(self) -> Optional[pulumi.Input['ServerWorkflowDetailsArgs']]: + """ + Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + + In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + """ + return pulumi.get(self, "workflow_details") + + @workflow_details.setter + def workflow_details(self, value: Optional[pulumi.Input['ServerWorkflowDetailsArgs']]): + pulumi.set(self, "workflow_details", value) + + +class Server(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + certificate: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input['ServerDomain']] = None, + endpoint_details: Optional[pulumi.Input[Union['ServerEndpointDetailsArgs', 'ServerEndpointDetailsArgsDict']]] = None, + endpoint_type: Optional[pulumi.Input['ServerEndpointType']] = None, + identity_provider_details: Optional[pulumi.Input[Union['ServerIdentityProviderDetailsArgs', 'ServerIdentityProviderDetailsArgsDict']]] = None, + identity_provider_type: Optional[pulumi.Input['ServerIdentityProviderType']] = None, + logging_role: Optional[pulumi.Input[str]] = None, + post_authentication_login_banner: Optional[pulumi.Input[str]] = None, + pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input[Union['ServerProtocolDetailsArgs', 'ServerProtocolDetailsArgsDict']]] = None, + protocols: Optional[pulumi.Input[Sequence[pulumi.Input['ServerProtocol']]]] = None, + s3_storage_options: Optional[pulumi.Input[Union['ServerS3StorageOptionsArgs', 'ServerS3StorageOptionsArgsDict']]] = None, + security_policy_name: Optional[pulumi.Input[str]] = None, + structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + workflow_details: Optional[pulumi.Input[Union['ServerWorkflowDetailsArgs', 'ServerWorkflowDetailsArgsDict']]] = None, + __props__=None): + """ + Definition of AWS::Transfer::Server Resource Type + + ## Example Usage + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + my_transfer_server = aws_native.transfer.Server("myTransferServer", + endpoint_details={ + "address_allocation_ids": [ + "AddressAllocationId-1", + "AddressAllocationId-2", + ], + "subnet_ids": [ + "SubnetId-1", + "SubnetId-2", + ], + "vpc_id": "VpcId", + }, + endpoint_type=aws_native.transfer.ServerEndpointType.VPC, + logging_role="Logging-Role-ARN", + protocols=[aws_native.transfer.ServerProtocol.SFTP], + security_policy_name="Security-Policy-Name", + identity_provider_details={ + "invocation_role": "Invocation-Role-ARN", + "url": "API_GATEWAY-Invocation-URL", + }, + identity_provider_type=aws_native.transfer.ServerIdentityProviderType.API_GATEWAY, + tags=[{ + "key": "KeyName", + "value": "ValueName", + }]) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + my_transfer_server = aws_native.transfer.Server("myTransferServer", + endpoint_details={ + "address_allocation_ids": [ + "AddressAllocationId-1", + "AddressAllocationId-2", + ], + "subnet_ids": [ + "SubnetId-1", + "SubnetId-2", + ], + "vpc_id": "VpcId", + }, + endpoint_type=aws_native.transfer.ServerEndpointType.VPC, + logging_role="Logging-Role-ARN", + protocols=[aws_native.transfer.ServerProtocol.SFTP], + security_policy_name="Security-Policy-Name", + identity_provider_details={ + "invocation_role": "Invocation-Role-ARN", + "url": "API_GATEWAY-Invocation-URL", + }, + identity_provider_type=aws_native.transfer.ServerIdentityProviderType.API_GATEWAY, + tags=[{ + "key": "KeyName", + "value": "ValueName", + }]) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + transfer_workflow = aws_native.transfer.Workflow("transferWorkflow", + description="Transfer Family Workflows Blog", + steps=[ + { + "type": aws_native.transfer.WorkflowStepType.COPY, + "copy_step_details": { + "name": "copyToUserKey", + "destination_file_location": { + "s3_file_location": { + "bucket": "archived-records", + "key": "${transfer:UserName}/", + }, + }, + "overwrite_existing": aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.TRUE, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.TAG, + "tag_step_details": { + "name": "tagFileForArchive", + "tags": [{ + "key": "Archive", + "value": "yes", + }], + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.CUSTOM, + "custom_step_details": { + "name": "transferExtract", + "target": "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + "timeout_seconds": 60, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.DELETE, + "delete_step_details": { + "name": "DeleteInputFile", + "source_file_location": "${original.file}", + }, + }, + ], + tags=[{ + "key": "Name", + "value": "TransferFamilyWorkflows", + }]) + sftp_server = aws_native.transfer.Server("sftpServer", workflow_details={ + "on_upload": [{ + "execution_role": "your-workflow-execution-role-arn", + "workflow_id": transfer_workflow.workflow_id, + }], + }) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + transfer_workflow = aws_native.transfer.Workflow("transferWorkflow", + description="Transfer Family Workflows Blog", + steps=[ + { + "type": aws_native.transfer.WorkflowStepType.COPY, + "copy_step_details": { + "name": "copyToUserKey", + "destination_file_location": { + "s3_file_location": { + "bucket": "archived-records", + "key": "${transfer:UserName}/", + }, + }, + "overwrite_existing": aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.TRUE, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.TAG, + "tag_step_details": { + "name": "tagFileForArchive", + "tags": [{ + "key": "Archive", + "value": "yes", + }], + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.CUSTOM, + "custom_step_details": { + "name": "transferExtract", + "target": "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + "timeout_seconds": 60, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.DELETE, + "delete_step_details": { + "name": "DeleteInputFile", + "source_file_location": "${original.file}", + }, + }, + ], + tags=[{ + "key": "Name", + "value": "TransferFamilyWorkflows", + }]) + sftp_server = aws_native.transfer.Server("sftpServer", workflow_details={ + "on_upload": [{ + "execution_role": "your-workflow-execution-role-arn", + "workflow_id": transfer_workflow.workflow_id, + }], + }) + + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] certificate: The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + + To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + + To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + + To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + + Certificates with the following cryptographic algorithms and key sizes are supported: + + - 2048-bit RSA (RSA_2048) + - 4096-bit RSA (RSA_4096) + - Elliptic Prime Curve 256 bit (EC_prime256v1) + - Elliptic Prime Curve 384 bit (EC_secp384r1) + - Elliptic Prime Curve 521 bit (EC_secp521r1) + + > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + :param pulumi.Input['ServerDomain'] domain: Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + :param pulumi.Input[Union['ServerEndpointDetailsArgs', 'ServerEndpointDetailsArgsDict']] endpoint_details: The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + :param pulumi.Input['ServerEndpointType'] endpoint_type: The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + + > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + > + > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + > + > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + :param pulumi.Input[Union['ServerIdentityProviderDetailsArgs', 'ServerIdentityProviderDetailsArgsDict']] identity_provider_details: Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + :param pulumi.Input['ServerIdentityProviderType'] identity_provider_type: The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + + Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + + Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + + Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + :param pulumi.Input[str] logging_role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + :param pulumi.Input[str] post_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + + > The SFTP protocol does not support post-authentication display banners. + :param pulumi.Input[str] pre_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + + `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + :param pulumi.Input[Union['ServerProtocolDetailsArgs', 'ServerProtocolDetailsArgsDict']] protocol_details: The protocol settings that are configured for your server. + + - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + :param pulumi.Input[Sequence[pulumi.Input['ServerProtocol']]] protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + + - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + - `FTP` (File Transfer Protocol): Unencrypted file transfer + - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + + > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + :param pulumi.Input[Union['ServerS3StorageOptionsArgs', 'ServerS3StorageOptionsArgsDict']] s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + :param pulumi.Input[str] security_policy_name: Specifies the name of the security policy for the server. + :param pulumi.Input[Sequence[pulumi.Input[str]]] structured_log_destinations: Specifies the log groups to which your server logs are sent. + + To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + + `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + + For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + + If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + + `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: Key-value pairs that can be used to group and search for servers. + :param pulumi.Input[Union['ServerWorkflowDetailsArgs', 'ServerWorkflowDetailsArgsDict']] workflow_details: Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + + In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ServerArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::Transfer::Server Resource Type + + ## Example Usage + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + my_transfer_server = aws_native.transfer.Server("myTransferServer", + endpoint_details={ + "address_allocation_ids": [ + "AddressAllocationId-1", + "AddressAllocationId-2", + ], + "subnet_ids": [ + "SubnetId-1", + "SubnetId-2", + ], + "vpc_id": "VpcId", + }, + endpoint_type=aws_native.transfer.ServerEndpointType.VPC, + logging_role="Logging-Role-ARN", + protocols=[aws_native.transfer.ServerProtocol.SFTP], + security_policy_name="Security-Policy-Name", + identity_provider_details={ + "invocation_role": "Invocation-Role-ARN", + "url": "API_GATEWAY-Invocation-URL", + }, + identity_provider_type=aws_native.transfer.ServerIdentityProviderType.API_GATEWAY, + tags=[{ + "key": "KeyName", + "value": "ValueName", + }]) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + my_transfer_server = aws_native.transfer.Server("myTransferServer", + endpoint_details={ + "address_allocation_ids": [ + "AddressAllocationId-1", + "AddressAllocationId-2", + ], + "subnet_ids": [ + "SubnetId-1", + "SubnetId-2", + ], + "vpc_id": "VpcId", + }, + endpoint_type=aws_native.transfer.ServerEndpointType.VPC, + logging_role="Logging-Role-ARN", + protocols=[aws_native.transfer.ServerProtocol.SFTP], + security_policy_name="Security-Policy-Name", + identity_provider_details={ + "invocation_role": "Invocation-Role-ARN", + "url": "API_GATEWAY-Invocation-URL", + }, + identity_provider_type=aws_native.transfer.ServerIdentityProviderType.API_GATEWAY, + tags=[{ + "key": "KeyName", + "value": "ValueName", + }]) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + transfer_workflow = aws_native.transfer.Workflow("transferWorkflow", + description="Transfer Family Workflows Blog", + steps=[ + { + "type": aws_native.transfer.WorkflowStepType.COPY, + "copy_step_details": { + "name": "copyToUserKey", + "destination_file_location": { + "s3_file_location": { + "bucket": "archived-records", + "key": "${transfer:UserName}/", + }, + }, + "overwrite_existing": aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.TRUE, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.TAG, + "tag_step_details": { + "name": "tagFileForArchive", + "tags": [{ + "key": "Archive", + "value": "yes", + }], + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.CUSTOM, + "custom_step_details": { + "name": "transferExtract", + "target": "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + "timeout_seconds": 60, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.DELETE, + "delete_step_details": { + "name": "DeleteInputFile", + "source_file_location": "${original.file}", + }, + }, + ], + tags=[{ + "key": "Name", + "value": "TransferFamilyWorkflows", + }]) + sftp_server = aws_native.transfer.Server("sftpServer", workflow_details={ + "on_upload": [{ + "execution_role": "your-workflow-execution-role-arn", + "workflow_id": transfer_workflow.workflow_id, + }], + }) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + transfer_workflow = aws_native.transfer.Workflow("transferWorkflow", + description="Transfer Family Workflows Blog", + steps=[ + { + "type": aws_native.transfer.WorkflowStepType.COPY, + "copy_step_details": { + "name": "copyToUserKey", + "destination_file_location": { + "s3_file_location": { + "bucket": "archived-records", + "key": "${transfer:UserName}/", + }, + }, + "overwrite_existing": aws_native.transfer.WorkflowStepCopyStepDetailsPropertiesOverwriteExisting.TRUE, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.TAG, + "tag_step_details": { + "name": "tagFileForArchive", + "tags": [{ + "key": "Archive", + "value": "yes", + }], + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.CUSTOM, + "custom_step_details": { + "name": "transferExtract", + "target": "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:my-function-name", + "timeout_seconds": 60, + }, + }, + { + "type": aws_native.transfer.WorkflowStepType.DELETE, + "delete_step_details": { + "name": "DeleteInputFile", + "source_file_location": "${original.file}", + }, + }, + ], + tags=[{ + "key": "Name", + "value": "TransferFamilyWorkflows", + }]) + sftp_server = aws_native.transfer.Server("sftpServer", workflow_details={ + "on_upload": [{ + "execution_role": "your-workflow-execution-role-arn", + "workflow_id": transfer_workflow.workflow_id, + }], + }) + + ``` + + :param str resource_name: The name of the resource. + :param ServerArgs 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(ServerArgs, 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, + certificate: Optional[pulumi.Input[str]] = None, + domain: Optional[pulumi.Input['ServerDomain']] = None, + endpoint_details: Optional[pulumi.Input[Union['ServerEndpointDetailsArgs', 'ServerEndpointDetailsArgsDict']]] = None, + endpoint_type: Optional[pulumi.Input['ServerEndpointType']] = None, + identity_provider_details: Optional[pulumi.Input[Union['ServerIdentityProviderDetailsArgs', 'ServerIdentityProviderDetailsArgsDict']]] = None, + identity_provider_type: Optional[pulumi.Input['ServerIdentityProviderType']] = None, + logging_role: Optional[pulumi.Input[str]] = None, + post_authentication_login_banner: Optional[pulumi.Input[str]] = None, + pre_authentication_login_banner: Optional[pulumi.Input[str]] = None, + protocol_details: Optional[pulumi.Input[Union['ServerProtocolDetailsArgs', 'ServerProtocolDetailsArgsDict']]] = None, + protocols: Optional[pulumi.Input[Sequence[pulumi.Input['ServerProtocol']]]] = None, + s3_storage_options: Optional[pulumi.Input[Union['ServerS3StorageOptionsArgs', 'ServerS3StorageOptionsArgsDict']]] = None, + security_policy_name: Optional[pulumi.Input[str]] = None, + structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + workflow_details: Optional[pulumi.Input[Union['ServerWorkflowDetailsArgs', 'ServerWorkflowDetailsArgsDict']]] = 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__ = ServerArgs.__new__(ServerArgs) + + __props__.__dict__["certificate"] = certificate + __props__.__dict__["domain"] = domain + __props__.__dict__["endpoint_details"] = endpoint_details + __props__.__dict__["endpoint_type"] = endpoint_type + __props__.__dict__["identity_provider_details"] = identity_provider_details + __props__.__dict__["identity_provider_type"] = identity_provider_type + __props__.__dict__["logging_role"] = logging_role + __props__.__dict__["post_authentication_login_banner"] = post_authentication_login_banner + __props__.__dict__["pre_authentication_login_banner"] = pre_authentication_login_banner + __props__.__dict__["protocol_details"] = protocol_details + __props__.__dict__["protocols"] = protocols + __props__.__dict__["s3_storage_options"] = s3_storage_options + __props__.__dict__["security_policy_name"] = security_policy_name + __props__.__dict__["structured_log_destinations"] = structured_log_destinations + __props__.__dict__["tags"] = tags + __props__.__dict__["workflow_details"] = workflow_details + __props__.__dict__["arn"] = None + __props__.__dict__["as2_service_managed_egress_ip_addresses"] = None + __props__.__dict__["server_id"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["domain", "identityProviderType"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Server, __self__).__init__( + 'aws-native:transfer:Server', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Server': + """ + Get an existing Server 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ServerArgs.__new__(ServerArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["as2_service_managed_egress_ip_addresses"] = None + __props__.__dict__["certificate"] = None + __props__.__dict__["domain"] = None + __props__.__dict__["endpoint_details"] = None + __props__.__dict__["endpoint_type"] = None + __props__.__dict__["identity_provider_details"] = None + __props__.__dict__["identity_provider_type"] = None + __props__.__dict__["logging_role"] = None + __props__.__dict__["post_authentication_login_banner"] = None + __props__.__dict__["pre_authentication_login_banner"] = None + __props__.__dict__["protocol_details"] = None + __props__.__dict__["protocols"] = None + __props__.__dict__["s3_storage_options"] = None + __props__.__dict__["security_policy_name"] = None + __props__.__dict__["server_id"] = None + __props__.__dict__["structured_log_destinations"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["workflow_details"] = None + return Server(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name associated with the server, in the form `arn:aws:transfer:region: *account-id* :server/ *server-id* /` . + + An example of a server ARN is: `arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef` . + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="as2ServiceManagedEgressIpAddresses") + def as2_service_managed_egress_ip_addresses(self) -> pulumi.Output[Sequence[str]]: + """ + The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well. + """ + return pulumi.get(self, "as2_service_managed_egress_ip_addresses") + + @property + @pulumi.getter + def certificate(self) -> pulumi.Output[Optional[str]]: + """ + The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when `Protocols` is set to `FTPS` . + + To request a new public certificate, see [Request a public certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the *AWS Certificate Manager User Guide* . + + To import an existing certificate into ACM, see [Importing certificates into ACM](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *AWS Certificate Manager User Guide* . + + To request a private certificate to use FTPS through private IP addresses, see [Request a private certificate](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) in the *AWS Certificate Manager User Guide* . + + Certificates with the following cryptographic algorithms and key sizes are supported: + + - 2048-bit RSA (RSA_2048) + - 4096-bit RSA (RSA_4096) + - Elliptic Prime Curve 256 bit (EC_prime256v1) + - Elliptic Prime Curve 384 bit (EC_secp384r1) + - Elliptic Prime Curve 521 bit (EC_secp521r1) + + > The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer. + """ + return pulumi.get(self, "certificate") + + @property + @pulumi.getter + def domain(self) -> pulumi.Output[Optional['ServerDomain']]: + """ + Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3. + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="endpointDetails") + def endpoint_details(self) -> pulumi.Output[Optional['outputs.ServerEndpointDetails']]: + """ + The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint. + """ + return pulumi.get(self, "endpoint_details") + + @property + @pulumi.getter(name="endpointType") + def endpoint_type(self) -> pulumi.Output[Optional['ServerEndpointType']]: + """ + The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. + + > After May 19, 2021, you won't be able to create a server using `EndpointType=VPC_ENDPOINT` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with `EndpointType=VPC_ENDPOINT` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use `EndpointType` = `VPC` . + > + > For more information, see [Discontinuing the use of VPC_ENDPOINT](https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint) . + > + > It is recommended that you use `VPC` as the `EndpointType` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with `EndpointType` set to `VPC_ENDPOINT` . + """ + return pulumi.get(self, "endpoint_type") + + @property + @pulumi.getter(name="identityProviderDetails") + def identity_provider_details(self) -> pulumi.Output[Optional['outputs.ServerIdentityProviderDetails']]: + """ + Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE` , `AWS _LAMBDA` or `API_GATEWAY` . Accepts an array containing all of the information required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when `IdentityProviderType` is set to `SERVICE_MANAGED` . + """ + return pulumi.get(self, "identity_provider_details") + + @property + @pulumi.getter(name="identityProviderType") + def identity_provider_type(self) -> pulumi.Output[Optional['ServerIdentityProviderType']]: + """ + The mode of authentication for a server. The default value is `SERVICE_MANAGED` , which allows you to store and access user credentials within the AWS Transfer Family service. + + Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the `IdentityProviderDetails` parameter. + + Use the `API_GATEWAY` value to integrate with an identity provider of your choosing. The `API_GATEWAY` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the `IdentityProviderDetails` parameter. + + Use the `AWS_LAMBDA` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the `Function` parameter for the `IdentityProviderDetails` data type. + """ + return pulumi.get(self, "identity_provider_type") + + @property + @pulumi.getter(name="loggingRole") + def logging_role(self) -> pulumi.Output[Optional[str]]: + """ + The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs. + """ + return pulumi.get(self, "logging_role") + + @property + @pulumi.getter(name="postAuthenticationLoginBanner") + def post_authentication_login_banner(self) -> pulumi.Output[Optional[str]]: + """ + Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. + + > The SFTP protocol does not support post-authentication display banners. + """ + return pulumi.get(self, "post_authentication_login_banner") + + @property + @pulumi.getter(name="preAuthenticationLoginBanner") + def pre_authentication_login_banner(self) -> pulumi.Output[Optional[str]]: + """ + Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: + + `This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.` + """ + return pulumi.get(self, "pre_authentication_login_banner") + + @property + @pulumi.getter(name="protocolDetails") + def protocol_details(self) -> pulumi.Output[Optional['outputs.ServerProtocolDetails']]: + """ + The protocol settings that are configured for your server. + + - To indicate passive mode (for FTP and FTPS protocols), use the `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. + - To ignore the error that is generated when the client attempts to use the `SETSTAT` command on a file that you are uploading to an Amazon S3 bucket, use the `SetStatOption` parameter. To have the AWS Transfer Family server ignore the `SETSTAT` command and upload files without needing to make any changes to your SFTP client, set the value to `ENABLE_NO_OP` . If you set the `SetStatOption` parameter to `ENABLE_NO_OP` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a `SETSTAT` call. + - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the `TlsSessionResumptionMode` parameter. + - `As2Transports` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + """ + return pulumi.get(self, "protocol_details") + + @property + @pulumi.getter + def protocols(self) -> pulumi.Output[Optional[Sequence['ServerProtocol']]]: + """ + Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: + + - `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH + - `FTPS` (File Transfer Protocol Secure): File transfer with TLS encryption + - `FTP` (File Transfer Protocol): Unencrypted file transfer + - `AS2` (Applicability Statement 2): used for transporting structured business-to-business data + + > - If you select `FTPS` , you must choose a certificate stored in AWS Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. + > - If `Protocol` includes either `FTP` or `FTPS` , then the `EndpointType` must be `VPC` and the `IdentityProviderType` must be either `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `FTP` , then `AddressAllocationIds` cannot be associated. + > - If `Protocol` is set only to `SFTP` , the `EndpointType` can be set to `PUBLIC` and the `IdentityProviderType` can be set any of the supported identity types: `SERVICE_MANAGED` , `AWS_DIRECTORY_SERVICE` , `AWS_LAMBDA` , or `API_GATEWAY` . + > - If `Protocol` includes `AS2` , then the `EndpointType` must be `VPC` , and domain must be Amazon S3. + + The `Protocols` parameter is an array of strings. + + *Allowed values* : One or more of `SFTP` , `FTPS` , `FTP` , `AS2` + """ + return pulumi.get(self, "protocols") + + @property + @pulumi.getter(name="s3StorageOptions") + def s3_storage_options(self) -> pulumi.Output[Optional['outputs.ServerS3StorageOptions']]: + """ + Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default. + + By default, home directory mappings have a `TYPE` of `DIRECTORY` . If you enable this option, you would then need to explicitly set the `HomeDirectoryMapEntry` `Type` to `FILE` if you want a mapping to have a file target. + """ + return pulumi.get(self, "s3_storage_options") + + @property + @pulumi.getter(name="securityPolicyName") + def security_policy_name(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the name of the security policy for the server. + """ + return pulumi.get(self, "security_policy_name") + + @property + @pulumi.getter(name="serverId") + def server_id(self) -> pulumi.Output[str]: + """ + The service-assigned ID of the server that is created. + + An example `ServerId` is `s-01234567890abcdef` . + """ + return pulumi.get(self, "server_id") + + @property + @pulumi.getter(name="structuredLogDestinations") + def structured_log_destinations(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Specifies the log groups to which your server logs are sent. + + To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: + + `arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*` + + For example, `arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*` + + If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an `update-server` call. For example: + + `update-server --server-id s-1234567890abcdef0 --structured-log-destinations` + """ + return pulumi.get(self, "structured_log_destinations") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + Key-value pairs that can be used to group and search for servers. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="workflowDetails") + def workflow_details(self) -> pulumi.Output[Optional['outputs.ServerWorkflowDetails']]: + """ + Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow. + + In addition to a workflow to execute when a file is uploaded completely, `WorkflowDetails` can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when a file is open when the session disconnects. + """ + return pulumi.get(self, "workflow_details") + diff --git a/sdk/python/pulumi_aws_native/wisdom/__init__.py b/sdk/python/pulumi_aws_native/wisdom/__init__.py index 654aa748c6..9b4cee4615 100644 --- a/sdk/python/pulumi_aws_native/wisdom/__init__.py +++ b/sdk/python/pulumi_aws_native/wisdom/__init__.py @@ -6,8 +6,10 @@ import typing # Export this package's modules as members: from ._enums import * +from .ai_prompt import * from .assistant import * from .assistant_association import * +from .get_ai_prompt import * from .get_assistant import * from .get_assistant_association import * from .get_knowledge_base import * diff --git a/sdk/python/pulumi_aws_native/wisdom/_enums.py b/sdk/python/pulumi_aws_native/wisdom/_enums.py index 1bf442d602..e8e17953ff 100644 --- a/sdk/python/pulumi_aws_native/wisdom/_enums.py +++ b/sdk/python/pulumi_aws_native/wisdom/_enums.py @@ -5,12 +5,30 @@ from enum import Enum __all__ = [ + 'AiPromptAiPromptApiFormat', + 'AiPromptAiPromptTemplateType', + 'AiPromptAiPromptType', 'AssistantAssociationAssociationType', 'AssistantType', 'KnowledgeBaseType', ] +class AiPromptAiPromptApiFormat(str, Enum): + ANTHROPIC_CLAUDE_MESSAGES = "ANTHROPIC_CLAUDE_MESSAGES" + ANTHROPIC_CLAUDE_TEXT_COMPLETIONS = "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" + + +class AiPromptAiPromptTemplateType(str, Enum): + TEXT = "TEXT" + + +class AiPromptAiPromptType(str, Enum): + ANSWER_GENERATION = "ANSWER_GENERATION" + INTENT_LABELING_GENERATION = "INTENT_LABELING_GENERATION" + QUERY_REFORMULATION = "QUERY_REFORMULATION" + + class AssistantAssociationAssociationType(str, Enum): KNOWLEDGE_BASE = "KNOWLEDGE_BASE" diff --git a/sdk/python/pulumi_aws_native/wisdom/_inputs.py b/sdk/python/pulumi_aws_native/wisdom/_inputs.py index e99a338edc..9177321e60 100644 --- a/sdk/python/pulumi_aws_native/wisdom/_inputs.py +++ b/sdk/python/pulumi_aws_native/wisdom/_inputs.py @@ -16,6 +16,8 @@ from ._enums import * __all__ = [ + 'AiPromptAiPromptTemplateConfigurationArgs', + 'AiPromptAiPromptTemplateConfigurationArgsDict', 'AssistantAssociationAssociationDataArgs', 'AssistantAssociationAssociationDataArgsDict', 'AssistantServerSideEncryptionConfigurationArgs', @@ -32,6 +34,18 @@ MYPY = False +if not MYPY: + class AiPromptAiPromptTemplateConfigurationArgsDict(TypedDict): + pass +elif False: + AiPromptAiPromptTemplateConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class AiPromptAiPromptTemplateConfigurationArgs: + def __init__(__self__): + pass + + if not MYPY: class AssistantAssociationAssociationDataArgsDict(TypedDict): knowledge_base_id: pulumi.Input[str] diff --git a/sdk/python/pulumi_aws_native/wisdom/ai_prompt.py b/sdk/python/pulumi_aws_native/wisdom/ai_prompt.py new file mode 100644 index 0000000000..77a442cfb4 --- /dev/null +++ b/sdk/python/pulumi_aws_native/wisdom/ai_prompt.py @@ -0,0 +1,396 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['AiPromptArgs', 'AiPrompt'] + +@pulumi.input_type +class AiPromptArgs: + def __init__(__self__, *, + api_format: pulumi.Input['AiPromptAiPromptApiFormat'], + model_id: pulumi.Input[str], + template_configuration: pulumi.Input['AiPromptAiPromptTemplateConfigurationArgs'], + template_type: pulumi.Input['AiPromptAiPromptTemplateType'], + type: pulumi.Input['AiPromptAiPromptType'], + assistant_id: Optional[pulumi.Input[str]] = None, + description: 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 AiPrompt resource. + :param pulumi.Input['AiPromptAiPromptApiFormat'] api_format: The API format used for this AI Prompt. + :param pulumi.Input[str] model_id: The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + :param pulumi.Input['AiPromptAiPromptTemplateConfigurationArgs'] template_configuration: The configuration of the prompt template for this AI Prompt. + :param pulumi.Input['AiPromptAiPromptTemplateType'] template_type: The type of the prompt template for this AI Prompt. + :param pulumi.Input['AiPromptAiPromptType'] type: The type of this AI Prompt. + :param pulumi.Input[str] assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + :param pulumi.Input[str] description: The description of the AI Prompt. + :param pulumi.Input[str] name: The name of the AI Prompt + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags used to organize, track, or control access for this resource. + """ + pulumi.set(__self__, "api_format", api_format) + pulumi.set(__self__, "model_id", model_id) + pulumi.set(__self__, "template_configuration", template_configuration) + pulumi.set(__self__, "template_type", template_type) + pulumi.set(__self__, "type", type) + if assistant_id is not None: + pulumi.set(__self__, "assistant_id", assistant_id) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="apiFormat") + def api_format(self) -> pulumi.Input['AiPromptAiPromptApiFormat']: + """ + The API format used for this AI Prompt. + """ + return pulumi.get(self, "api_format") + + @api_format.setter + def api_format(self, value: pulumi.Input['AiPromptAiPromptApiFormat']): + pulumi.set(self, "api_format", value) + + @property + @pulumi.getter(name="modelId") + def model_id(self) -> pulumi.Input[str]: + """ + The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + """ + return pulumi.get(self, "model_id") + + @model_id.setter + def model_id(self, value: pulumi.Input[str]): + pulumi.set(self, "model_id", value) + + @property + @pulumi.getter(name="templateConfiguration") + def template_configuration(self) -> pulumi.Input['AiPromptAiPromptTemplateConfigurationArgs']: + """ + The configuration of the prompt template for this AI Prompt. + """ + return pulumi.get(self, "template_configuration") + + @template_configuration.setter + def template_configuration(self, value: pulumi.Input['AiPromptAiPromptTemplateConfigurationArgs']): + pulumi.set(self, "template_configuration", value) + + @property + @pulumi.getter(name="templateType") + def template_type(self) -> pulumi.Input['AiPromptAiPromptTemplateType']: + """ + The type of the prompt template for this AI Prompt. + """ + return pulumi.get(self, "template_type") + + @template_type.setter + def template_type(self, value: pulumi.Input['AiPromptAiPromptTemplateType']): + pulumi.set(self, "template_type", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input['AiPromptAiPromptType']: + """ + The type of this AI Prompt. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input['AiPromptAiPromptType']): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="assistantId") + def assistant_id(self) -> Optional[pulumi.Input[str]]: + """ + The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + """ + return pulumi.get(self, "assistant_id") + + @assistant_id.setter + def assistant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "assistant_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the AI Prompt. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the AI Prompt + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The tags used to organize, track, or control access for this resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class AiPrompt(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + api_format: Optional[pulumi.Input['AiPromptAiPromptApiFormat']] = None, + assistant_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + model_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + template_configuration: Optional[pulumi.Input[Union['AiPromptAiPromptTemplateConfigurationArgs', 'AiPromptAiPromptTemplateConfigurationArgsDict']]] = None, + template_type: Optional[pulumi.Input['AiPromptAiPromptTemplateType']] = None, + type: Optional[pulumi.Input['AiPromptAiPromptType']] = None, + __props__=None): + """ + Definition of AWS::Wisdom::AIPrompt Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input['AiPromptAiPromptApiFormat'] api_format: The API format used for this AI Prompt. + :param pulumi.Input[str] assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + :param pulumi.Input[str] description: The description of the AI Prompt. + :param pulumi.Input[str] model_id: The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + :param pulumi.Input[str] name: The name of the AI Prompt + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags used to organize, track, or control access for this resource. + :param pulumi.Input[Union['AiPromptAiPromptTemplateConfigurationArgs', 'AiPromptAiPromptTemplateConfigurationArgsDict']] template_configuration: The configuration of the prompt template for this AI Prompt. + :param pulumi.Input['AiPromptAiPromptTemplateType'] template_type: The type of the prompt template for this AI Prompt. + :param pulumi.Input['AiPromptAiPromptType'] type: The type of this AI Prompt. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AiPromptArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::Wisdom::AIPrompt Resource Type + + :param str resource_name: The name of the resource. + :param AiPromptArgs 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(AiPromptArgs, 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, + api_format: Optional[pulumi.Input['AiPromptAiPromptApiFormat']] = None, + assistant_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + model_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + template_configuration: Optional[pulumi.Input[Union['AiPromptAiPromptTemplateConfigurationArgs', 'AiPromptAiPromptTemplateConfigurationArgsDict']]] = None, + template_type: Optional[pulumi.Input['AiPromptAiPromptTemplateType']] = None, + type: Optional[pulumi.Input['AiPromptAiPromptType']] = 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__ = AiPromptArgs.__new__(AiPromptArgs) + + if api_format is None and not opts.urn: + raise TypeError("Missing required property 'api_format'") + __props__.__dict__["api_format"] = api_format + __props__.__dict__["assistant_id"] = assistant_id + __props__.__dict__["description"] = description + if model_id is None and not opts.urn: + raise TypeError("Missing required property 'model_id'") + __props__.__dict__["model_id"] = model_id + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + if template_configuration is None and not opts.urn: + raise TypeError("Missing required property 'template_configuration'") + __props__.__dict__["template_configuration"] = template_configuration + if template_type is None and not opts.urn: + raise TypeError("Missing required property 'template_type'") + __props__.__dict__["template_type"] = template_type + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + __props__.__dict__["ai_prompt_arn"] = None + __props__.__dict__["ai_prompt_id"] = None + __props__.__dict__["assistant_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["apiFormat", "assistantId", "modelId", "name", "tags.*", "templateType", "type"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(AiPrompt, __self__).__init__( + 'aws-native:wisdom:AiPrompt', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'AiPrompt': + """ + Get an existing AiPrompt 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AiPromptArgs.__new__(AiPromptArgs) + + __props__.__dict__["ai_prompt_arn"] = None + __props__.__dict__["ai_prompt_id"] = None + __props__.__dict__["api_format"] = None + __props__.__dict__["assistant_arn"] = None + __props__.__dict__["assistant_id"] = None + __props__.__dict__["description"] = None + __props__.__dict__["model_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["template_configuration"] = None + __props__.__dict__["template_type"] = None + __props__.__dict__["type"] = None + return AiPrompt(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="aiPromptArn") + def ai_prompt_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the AI Prompt. + """ + return pulumi.get(self, "ai_prompt_arn") + + @property + @pulumi.getter(name="aiPromptId") + def ai_prompt_id(self) -> pulumi.Output[str]: + """ + The identifier of the Amazon Q in Connect AI prompt. + """ + return pulumi.get(self, "ai_prompt_id") + + @property + @pulumi.getter(name="apiFormat") + def api_format(self) -> pulumi.Output['AiPromptAiPromptApiFormat']: + """ + The API format used for this AI Prompt. + """ + return pulumi.get(self, "api_format") + + @property + @pulumi.getter(name="assistantArn") + def assistant_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + """ + return pulumi.get(self, "assistant_arn") + + @property + @pulumi.getter(name="assistantId") + def assistant_id(self) -> pulumi.Output[Optional[str]]: + """ + The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + """ + return pulumi.get(self, "assistant_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The description of the AI Prompt. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="modelId") + def model_id(self) -> pulumi.Output[str]: + """ + The identifier of the model used for this AI Prompt. Model Ids supported are: `CLAUDE_3_HAIKU_20240307_V1` . + """ + return pulumi.get(self, "model_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the AI Prompt + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + The tags used to organize, track, or control access for this resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="templateConfiguration") + def template_configuration(self) -> pulumi.Output['outputs.AiPromptAiPromptTemplateConfiguration']: + """ + The configuration of the prompt template for this AI Prompt. + """ + return pulumi.get(self, "template_configuration") + + @property + @pulumi.getter(name="templateType") + def template_type(self) -> pulumi.Output['AiPromptAiPromptTemplateType']: + """ + The type of the prompt template for this AI Prompt. + """ + return pulumi.get(self, "template_type") + + @property + @pulumi.getter + def type(self) -> pulumi.Output['AiPromptAiPromptType']: + """ + The type of this AI Prompt. + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_aws_native/wisdom/get_ai_prompt.py b/sdk/python/pulumi_aws_native/wisdom/get_ai_prompt.py new file mode 100644 index 0000000000..39b87f8e30 --- /dev/null +++ b/sdk/python/pulumi_aws_native/wisdom/get_ai_prompt.py @@ -0,0 +1,140 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetAiPromptResult', + 'AwaitableGetAiPromptResult', + 'get_ai_prompt', + 'get_ai_prompt_output', +] + +@pulumi.output_type +class GetAiPromptResult: + def __init__(__self__, ai_prompt_arn=None, ai_prompt_id=None, assistant_arn=None, description=None, template_configuration=None): + if ai_prompt_arn and not isinstance(ai_prompt_arn, str): + raise TypeError("Expected argument 'ai_prompt_arn' to be a str") + pulumi.set(__self__, "ai_prompt_arn", ai_prompt_arn) + if ai_prompt_id and not isinstance(ai_prompt_id, str): + raise TypeError("Expected argument 'ai_prompt_id' to be a str") + pulumi.set(__self__, "ai_prompt_id", ai_prompt_id) + if assistant_arn and not isinstance(assistant_arn, str): + raise TypeError("Expected argument 'assistant_arn' to be a str") + pulumi.set(__self__, "assistant_arn", assistant_arn) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if template_configuration and not isinstance(template_configuration, dict): + raise TypeError("Expected argument 'template_configuration' to be a dict") + pulumi.set(__self__, "template_configuration", template_configuration) + + @property + @pulumi.getter(name="aiPromptArn") + def ai_prompt_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the AI Prompt. + """ + return pulumi.get(self, "ai_prompt_arn") + + @property + @pulumi.getter(name="aiPromptId") + def ai_prompt_id(self) -> Optional[str]: + """ + The identifier of the Amazon Q in Connect AI prompt. + """ + return pulumi.get(self, "ai_prompt_id") + + @property + @pulumi.getter(name="assistantArn") + def assistant_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + """ + return pulumi.get(self, "assistant_arn") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The description of the AI Prompt. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="templateConfiguration") + def template_configuration(self) -> Optional['outputs.AiPromptAiPromptTemplateConfiguration']: + """ + The configuration of the prompt template for this AI Prompt. + """ + return pulumi.get(self, "template_configuration") + + +class AwaitableGetAiPromptResult(GetAiPromptResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAiPromptResult( + ai_prompt_arn=self.ai_prompt_arn, + ai_prompt_id=self.ai_prompt_id, + assistant_arn=self.assistant_arn, + description=self.description, + template_configuration=self.template_configuration) + + +def get_ai_prompt(ai_prompt_id: Optional[str] = None, + assistant_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAiPromptResult: + """ + Definition of AWS::Wisdom::AIPrompt Resource Type + + + :param str ai_prompt_id: The identifier of the Amazon Q in Connect AI prompt. + :param str assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + """ + __args__ = dict() + __args__['aiPromptId'] = ai_prompt_id + __args__['assistantId'] = assistant_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:wisdom:getAiPrompt', __args__, opts=opts, typ=GetAiPromptResult).value + + return AwaitableGetAiPromptResult( + ai_prompt_arn=pulumi.get(__ret__, 'ai_prompt_arn'), + ai_prompt_id=pulumi.get(__ret__, 'ai_prompt_id'), + assistant_arn=pulumi.get(__ret__, 'assistant_arn'), + description=pulumi.get(__ret__, 'description'), + template_configuration=pulumi.get(__ret__, 'template_configuration')) +def get_ai_prompt_output(ai_prompt_id: Optional[pulumi.Input[str]] = None, + assistant_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAiPromptResult]: + """ + Definition of AWS::Wisdom::AIPrompt Resource Type + + + :param str ai_prompt_id: The identifier of the Amazon Q in Connect AI prompt. + :param str assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + """ + __args__ = dict() + __args__['aiPromptId'] = ai_prompt_id + __args__['assistantId'] = assistant_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:wisdom:getAiPrompt', __args__, opts=opts, typ=GetAiPromptResult) + return __ret__.apply(lambda __response__: GetAiPromptResult( + ai_prompt_arn=pulumi.get(__response__, 'ai_prompt_arn'), + ai_prompt_id=pulumi.get(__response__, 'ai_prompt_id'), + assistant_arn=pulumi.get(__response__, 'assistant_arn'), + description=pulumi.get(__response__, 'description'), + template_configuration=pulumi.get(__response__, 'template_configuration'))) diff --git a/sdk/python/pulumi_aws_native/wisdom/outputs.py b/sdk/python/pulumi_aws_native/wisdom/outputs.py index 414eefda65..aa35027763 100644 --- a/sdk/python/pulumi_aws_native/wisdom/outputs.py +++ b/sdk/python/pulumi_aws_native/wisdom/outputs.py @@ -17,6 +17,7 @@ from ._enums import * __all__ = [ + 'AiPromptAiPromptTemplateConfiguration', 'AssistantAssociationAssociationData', 'AssistantServerSideEncryptionConfiguration', 'KnowledgeBaseAppIntegrationsConfiguration', @@ -25,6 +26,12 @@ 'KnowledgeBaseSourceConfiguration', ] +@pulumi.output_type +class AiPromptAiPromptTemplateConfiguration(dict): + def __init__(__self__): + pass + + @pulumi.output_type class AssistantAssociationAssociationData(dict): @staticmethod