diff --git a/.docs.version b/.docs.version index 8734952503..b216cbb73b 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -acce18bd14c29c394c3825137166e66e879f1eb4 +bc551ce690715b7ce48fb06001d0c1e10fa82459 diff --git a/aws-cloudformation-schema/aws-appsync-api.json b/aws-cloudformation-schema/aws-appsync-api.json index e40bc85ec6..62c7935f97 100644 --- a/aws-cloudformation-schema/aws-appsync-api.json +++ b/aws-cloudformation-schema/aws-appsync-api.json @@ -182,8 +182,11 @@ "description" : "A map of DNS names for the AppSync API.", "type" : "object", "additionalProperties" : false, - "patternProperties" : { - "\\S+" : { + "properties" : { + "Realtime" : { + "type" : "string" + }, + "Http" : { "type" : "string" } } @@ -243,7 +246,7 @@ }, "additionalProperties" : false, "required" : [ "Name" ], - "readOnlyProperties" : [ "/properties/ApiId", "/properties/Dns", "/properties/ApiArn" ], + "readOnlyProperties" : [ "/properties/ApiId", "/properties/Dns", "/properties/Dns/Realtime", "/properties/Dns/Http", "/properties/ApiArn" ], "primaryIdentifier" : [ "/properties/ApiArn" ], "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-aps-scraper.json b/aws-cloudformation-schema/aws-aps-scraper.json index 9549d3db1b..6da552d70f 100644 --- a/aws-cloudformation-schema/aws-aps-scraper.json +++ b/aws-cloudformation-schema/aws-aps-scraper.json @@ -159,7 +159,7 @@ "additionalProperties" : false, "required" : [ "ScrapeConfiguration", "Source", "Destination" ], "readOnlyProperties" : [ "/properties/ScraperId", "/properties/Arn", "/properties/RoleArn" ], - "createOnlyProperties" : [ "/properties/ScrapeConfiguration", "/properties/Source", "/properties/Destination", "/properties/Alias" ], + "createOnlyProperties" : [ "/properties/Source" ], "tagging" : { "taggable" : true, "tagOnCreate" : true, @@ -176,7 +176,7 @@ "permissions" : [ "aps:DescribeScraper", "aps:ListTagsForResource" ] }, "update" : { - "permissions" : [ "aps:DescribeScraper", "aps:TagResource", "aps:UntagResource", "aps:ListTagsForResource" ] + "permissions" : [ "aps:CreateScraper", "aps:DescribeScraper", "aps:UpdateScraper", "aps:DescribeWorkspace", "aps:TagResource", "aps:UntagResource", "aps:ListTagsForResource" ] }, "delete" : { "permissions" : [ "aps:DeleteScraper", "aps:DescribeScraper", "aps:DescribeWorkspace", "eks:AssociateAccessPolicy", "eks:DescribeCluster", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "iam:DeleteServiceLinkedRole" ] diff --git a/aws-cloudformation-schema/aws-codeguruprofiler-profilinggroup.json b/aws-cloudformation-schema/aws-codeguruprofiler-profilinggroup.json index 7a28b8b222..b7b8d3addb 100644 --- a/aws-cloudformation-schema/aws-codeguruprofiler-profilinggroup.json +++ b/aws-cloudformation-schema/aws-codeguruprofiler-profilinggroup.json @@ -110,6 +110,14 @@ "primaryIdentifier" : [ "/properties/ProfilingGroupName" ], "readOnlyProperties" : [ "/properties/Arn" ], "createOnlyProperties" : [ "/properties/ProfilingGroupName", "/properties/ComputePlatform" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "codeguru-profiler:TagResource", "codeguru-profiler:ListTagsForResource", "codeguru-profiler:UntagResource" ] + }, "handlers" : { "create" : { "permissions" : [ "sns:Publish", "codeguru-profiler:AddNotificationChannels", "codeguru-profiler:CreateProfilingGroup", "codeguru-profiler:PutPermission", "codeguru-profiler:TagResource" ] @@ -118,13 +126,13 @@ "permissions" : [ "codeguru-profiler:DescribeProfilingGroup", "codeguru-profiler:ListTagsForResource", "codeguru-profiler:GetNotificationConfiguration", "codeguru-profiler:GetPolicy" ] }, "update" : { - "permissions" : [ "sns:Publish", "codeguru-profiler:AddNotificationChannels", "codeguru-profiler:GetNotificationConfiguration", "codeguru-profiler:RemoveNotificationChannel", "codeguru-profiler:PutPermission", "codeguru-profiler:RemovePermission", "codeguru-profiler:GetPolicy", "codeguru-profiler:TagResource", "codeguru-profiler:UntagResource", "codeguru-profiler:ListTagsForResource" ] + "permissions" : [ "sns:Publish", "codeguru-profiler:DescribeProfilingGroup", "codeguru-profiler:AddNotificationChannels", "codeguru-profiler:GetNotificationConfiguration", "codeguru-profiler:RemoveNotificationChannel", "codeguru-profiler:PutPermission", "codeguru-profiler:RemovePermission", "codeguru-profiler:GetPolicy", "codeguru-profiler:TagResource", "codeguru-profiler:UntagResource", "codeguru-profiler:ListTagsForResource" ] }, "delete" : { "permissions" : [ "codeguru-profiler:DeleteProfilingGroup" ] }, "list" : { - "permissions" : [ "codeguru-profiler:ListProfilingGroups", "codeguru-profiler:ListTagsForResource" ] + "permissions" : [ "codeguru-profiler:ListProfilingGroups", "codeguru-profiler:ListTagsForResource", "codeguru-profiler:GetNotificationConfiguration", "codeguru-profiler:GetPolicy" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-cognito-userpool.json b/aws-cloudformation-schema/aws-cognito-userpool.json index 4a7eed10d0..ccf91bd91b 100644 --- a/aws-cloudformation-schema/aws-cognito-userpool.json +++ b/aws-cloudformation-schema/aws-cognito-userpool.json @@ -1,509 +1,509 @@ { - "typeName" : "AWS::Cognito::UserPool", - "description" : "Definition of AWS::Cognito::UserPool Resource Type", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "tagging" : { + "permissions" : [ "cognito-idp:ListTagsForResource", "cognito-idp:UntagResource", "cognito-idp:TagResource" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false, "tagProperty" : "/properties/UserPoolTags", - "permissions" : [ "cognito-idp:ListTagsForResource", "cognito-idp:UntagResource", "cognito-idp:TagResource" ] + "cloudFormationSystemTags" : false + }, + "propertyTransform" : { + "/properties/Schema/*/Name" : "'custom:' & '' & Name" + }, + "handlers" : { + "read" : { + "permissions" : [ "cognito-idp:DescribeUserPool", "cognito-idp:GetUserPoolMfaConfig" ] + }, + "create" : { + "permissions" : [ "cognito-idp:CreateUserPool", "iam:PassRole", "cognito-idp:SetUserPoolMfaConfig", "cognito-idp:DescribeUserPool", "kms:CreateGrant", "iam:CreateServiceLinkedRole", "cognito-idp:TagResource" ], + "timeoutInMinutes" : 2 + }, + "update" : { + "permissions" : [ "cognito-idp:UpdateUserPool", "cognito-idp:ListTagsForResource", "cognito-idp:UntagResource", "cognito-idp:TagResource", "cognito-idp:SetUserPoolMfaConfig", "cognito-idp:AddCustomAttributes", "cognito-idp:DescribeUserPool", "cognito-idp:GetUserPoolMfaConfig", "iam:PassRole" ], + "timeoutInMinutes" : 2 + }, + "list" : { + "permissions" : [ "cognito-idp:ListUserPools" ] + }, + "delete" : { + "permissions" : [ "cognito-idp:DeleteUserPool" ], + "timeoutInMinutes" : 2 + } }, + "typeName" : "AWS::Cognito::UserPool", + "readOnlyProperties" : [ "/properties/ProviderName", "/properties/UserPoolId", "/properties/ProviderURL", "/properties/Arn" ], + "description" : "Definition of AWS::Cognito::UserPool Resource Type", + "writeOnlyProperties" : [ "/properties/EnabledMfas" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/UserPoolId" ], "definitions" : { - "PasswordPolicy" : { + "Policies" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "MinimumLength" : { - "type" : "integer" - }, - "RequireLowercase" : { - "type" : "boolean" + "PasswordPolicy" : { + "$ref" : "#/definitions/PasswordPolicy" + } + } + }, + "VerificationMessageTemplate" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "EmailMessageByLink" : { + "type" : "string" }, - "RequireNumbers" : { - "type" : "boolean" + "EmailMessage" : { + "type" : "string" }, - "RequireSymbols" : { - "type" : "boolean" + "SmsMessage" : { + "type" : "string" }, - "RequireUppercase" : { - "type" : "boolean" + "EmailSubject" : { + "type" : "string" }, - "TemporaryPasswordValidityDays" : { - "type" : "integer" + "DefaultEmailOption" : { + "type" : "string" }, - "PasswordHistorySize" : { - "type" : "integer" - } - }, - "additionalProperties" : false - }, - "Policies" : { - "type" : "object", - "properties" : { - "PasswordPolicy" : { - "$ref" : "#/definitions/PasswordPolicy" + "EmailSubjectByLink" : { + "type" : "string" } - }, - "additionalProperties" : false + } }, "InviteMessageTemplate" : { + "additionalProperties" : false, "type" : "object", "properties" : { "EmailMessage" : { "type" : "string" }, - "EmailSubject" : { + "SMSMessage" : { "type" : "string" }, - "SMSMessage" : { + "EmailSubject" : { "type" : "string" } - }, - "additionalProperties" : false + } }, - "RecoveryOption" : { + "NumberAttributeConstraints" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "Name" : { + "MinValue" : { "type" : "string" }, - "Priority" : { - "type" : "integer" + "MaxValue" : { + "type" : "string" } - }, - "additionalProperties" : false + } }, - "AccountRecoverySetting" : { + "AdvancedSecurityAdditionalFlows" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "RecoveryMechanisms" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/RecoveryOption" - } + "CustomAuthMode" : { + "type" : "string" } - }, - "additionalProperties" : false + } }, "AdminCreateUserConfig" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "AllowAdminCreateUserOnly" : { - "type" : "boolean" - }, "InviteMessageTemplate" : { "$ref" : "#/definitions/InviteMessageTemplate" }, "UnusedAccountValidityDays" : { "type" : "integer" + }, + "AllowAdminCreateUserOnly" : { + "type" : "boolean" } - }, - "additionalProperties" : false + } }, - "DeviceConfiguration" : { + "UsernameConfiguration" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "ChallengeRequiredOnNewDevice" : { - "type" : "boolean" - }, - "DeviceOnlyRememberedOnUserPrompt" : { + "CaseSensitive" : { "type" : "boolean" } - }, - "additionalProperties" : false + } }, - "EmailConfiguration" : { + "UserPoolAddOns" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "ReplyToEmailAddress" : { - "type" : "string" - }, - "SourceArn" : { - "type" : "string" - }, - "From" : { - "type" : "string" - }, - "ConfigurationSet" : { - "type" : "string" + "AdvancedSecurityAdditionalFlows" : { + "$ref" : "#/definitions/AdvancedSecurityAdditionalFlows" }, - "EmailSendingAccount" : { + "AdvancedSecurityMode" : { "type" : "string" } - }, - "additionalProperties" : false + } }, - "CustomEmailSender" : { + "RecoveryOption" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "LambdaVersion" : { - "type" : "string" + "Priority" : { + "type" : "integer" }, - "LambdaArn" : { + "Name" : { "type" : "string" } - }, - "additionalProperties" : false + } }, - "CustomSMSSender" : { + "StringAttributeConstraints" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "LambdaVersion" : { + "MinLength" : { "type" : "string" }, - "LambdaArn" : { + "MaxLength" : { "type" : "string" } + } + }, + "UserAttributeUpdateSettings" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "AttributesRequireVerificationBeforeUpdate" : { + "type" : "array", + "items" : { + "type" : "string" + } + } }, - "additionalProperties" : false + "required" : [ "AttributesRequireVerificationBeforeUpdate" ] }, - "PreTokenGenerationConfig" : { + "CustomSMSSender" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "LambdaVersion" : { + "LambdaArn" : { "type" : "string" }, - "LambdaArn" : { + "LambdaVersion" : { "type" : "string" } - }, - "additionalProperties" : false + } }, - "LambdaConfig" : { + "EmailConfiguration" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "CreateAuthChallenge" : { + "ReplyToEmailAddress" : { "type" : "string" }, - "CustomMessage" : { + "ConfigurationSet" : { "type" : "string" }, - "DefineAuthChallenge" : { + "EmailSendingAccount" : { "type" : "string" }, - "PostAuthentication" : { + "SourceArn" : { "type" : "string" }, - "PostConfirmation" : { + "From" : { "type" : "string" - }, - "PreAuthentication" : { + } + } + }, + "SmsConfiguration" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "SnsRegion" : { "type" : "string" }, - "PreSignUp" : { + "ExternalId" : { "type" : "string" }, - "VerifyAuthChallengeResponse" : { + "SnsCallerArn" : { "type" : "string" + } + } + }, + "PasswordPolicy" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "RequireNumbers" : { + "type" : "boolean" }, - "UserMigration" : { - "type" : "string" + "MinimumLength" : { + "type" : "integer" }, - "PreTokenGeneration" : { - "type" : "string" + "TemporaryPasswordValidityDays" : { + "type" : "integer" }, - "CustomEmailSender" : { - "$ref" : "#/definitions/CustomEmailSender" + "RequireUppercase" : { + "type" : "boolean" }, - "CustomSMSSender" : { - "$ref" : "#/definitions/CustomSMSSender" + "RequireLowercase" : { + "type" : "boolean" }, - "KMSKeyID" : { - "type" : "string" + "RequireSymbols" : { + "type" : "boolean" }, - "PreTokenGenerationConfig" : { - "$ref" : "#/definitions/PreTokenGenerationConfig" + "PasswordHistorySize" : { + "type" : "integer" } - }, - "additionalProperties" : false + } }, - "SmsConfiguration" : { + "PreTokenGenerationConfig" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "ExternalId" : { - "type" : "string" - }, - "SnsCallerArn" : { + "LambdaArn" : { "type" : "string" }, - "SnsRegion" : { + "LambdaVersion" : { "type" : "string" } - }, - "additionalProperties" : false + } }, - "StringAttributeConstraints" : { + "CustomEmailSender" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "MaxLength" : { + "LambdaArn" : { "type" : "string" }, - "MinLength" : { + "LambdaVersion" : { "type" : "string" } - }, - "additionalProperties" : false + } }, - "NumberAttributeConstraints" : { + "LambdaConfig" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "MaxValue" : { + "CreateAuthChallenge" : { "type" : "string" }, - "MinValue" : { + "PreSignUp" : { + "type" : "string" + }, + "KMSKeyID" : { + "type" : "string" + }, + "UserMigration" : { + "type" : "string" + }, + "PostAuthentication" : { + "type" : "string" + }, + "VerifyAuthChallengeResponse" : { + "type" : "string" + }, + "PreAuthentication" : { "type" : "string" + }, + "DefineAuthChallenge" : { + "type" : "string" + }, + "PreTokenGeneration" : { + "type" : "string" + }, + "CustomSMSSender" : { + "$ref" : "#/definitions/CustomSMSSender" + }, + "PostConfirmation" : { + "type" : "string" + }, + "CustomMessage" : { + "type" : "string" + }, + "PreTokenGenerationConfig" : { + "$ref" : "#/definitions/PreTokenGenerationConfig" + }, + "CustomEmailSender" : { + "$ref" : "#/definitions/CustomEmailSender" } - }, - "additionalProperties" : false + } }, "SchemaAttribute" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "AttributeDataType" : { - "type" : "string" - }, "DeveloperOnlyAttribute" : { "type" : "boolean" }, "Mutable" : { "type" : "boolean" }, - "Name" : { + "AttributeDataType" : { "type" : "string" }, - "NumberAttributeConstraints" : { - "$ref" : "#/definitions/NumberAttributeConstraints" - }, "StringAttributeConstraints" : { "$ref" : "#/definitions/StringAttributeConstraints" }, "Required" : { "type" : "boolean" + }, + "NumberAttributeConstraints" : { + "$ref" : "#/definitions/NumberAttributeConstraints" + }, + "Name" : { + "type" : "string" } - }, - "additionalProperties" : false + } }, - "UsernameConfiguration" : { + "DeviceConfiguration" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "CaseSensitive" : { + "DeviceOnlyRememberedOnUserPrompt" : { + "type" : "boolean" + }, + "ChallengeRequiredOnNewDevice" : { "type" : "boolean" } - }, - "additionalProperties" : false + } }, - "UserAttributeUpdateSettings" : { + "AccountRecoverySetting" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "AttributesRequireVerificationBeforeUpdate" : { + "RecoveryMechanisms" : { "type" : "array", "items" : { - "type" : "string" + "$ref" : "#/definitions/RecoveryOption" } } - }, - "required" : [ "AttributesRequireVerificationBeforeUpdate" ], - "additionalProperties" : false - }, - "VerificationMessageTemplate" : { - "type" : "object", - "properties" : { - "DefaultEmailOption" : { - "type" : "string" - }, - "EmailMessage" : { - "type" : "string" - }, - "EmailMessageByLink" : { - "type" : "string" - }, - "EmailSubject" : { - "type" : "string" - }, - "EmailSubjectByLink" : { - "type" : "string" - }, - "SmsMessage" : { - "type" : "string" - } - }, - "additionalProperties" : false - }, - "AdvancedSecurityAdditionalFlows" : { - "type" : "object", - "properties" : { - "CustomAuthMode" : { - "type" : "string" - } - }, - "additionalProperties" : false - }, - "UserPoolAddOns" : { - "type" : "object", - "properties" : { - "AdvancedSecurityMode" : { - "type" : "string" - }, - "AdvancedSecurityAdditionalFlows" : { - "$ref" : "#/definitions/AdvancedSecurityAdditionalFlows" - } - }, - "additionalProperties" : false + } } }, "properties" : { - "UserPoolName" : { - "type" : "string", - "minLength" : 1, - "maxLength" : 128 + "UserPoolTags" : { + "patternProperties" : { + "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "type" : "object" }, "Policies" : { "$ref" : "#/definitions/Policies" }, - "AccountRecoverySetting" : { - "$ref" : "#/definitions/AccountRecoverySetting" + "Schema" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/SchemaAttribute" + } }, "AdminCreateUserConfig" : { "$ref" : "#/definitions/AdminCreateUserConfig" }, - "AliasAttributes" : { - "type" : "array", - "items" : { - "type" : "string" - } + "UsernameConfiguration" : { + "$ref" : "#/definitions/UsernameConfiguration" }, - "UsernameAttributes" : { - "type" : "array", - "items" : { - "type" : "string" - } + "UserPoolName" : { + "minLength" : 1, + "type" : "string", + "maxLength" : 128 }, - "AutoVerifiedAttributes" : { - "type" : "array", - "items" : { - "type" : "string" - } + "SmsVerificationMessage" : { + "minLength" : 6, + "type" : "string", + "maxLength" : 140 }, - "DeviceConfiguration" : { - "$ref" : "#/definitions/DeviceConfiguration" + "UserAttributeUpdateSettings" : { + "$ref" : "#/definitions/UserAttributeUpdateSettings" }, "EmailConfiguration" : { "$ref" : "#/definitions/EmailConfiguration" }, - "EmailVerificationMessage" : { - "type" : "string", - "minLength" : 6, - "maxLength" : 20000 + "SmsConfiguration" : { + "$ref" : "#/definitions/SmsConfiguration" }, "EmailVerificationSubject" : { + "minLength" : 1, "type" : "string", + "maxLength" : 140 + }, + "EmailAuthenticationSubject" : { "minLength" : 1, + "type" : "string", "maxLength" : 140 }, - "DeletionProtection" : { - "type" : "string" + "AccountRecoverySetting" : { + "$ref" : "#/definitions/AccountRecoverySetting" }, - "LambdaConfig" : { - "$ref" : "#/definitions/LambdaConfig" + "VerificationMessageTemplate" : { + "$ref" : "#/definitions/VerificationMessageTemplate" + }, + "ProviderURL" : { + "type" : "string" }, "MfaConfiguration" : { "type" : "string" }, - "EnabledMfas" : { - "type" : "array", - "items" : { - "type" : "string" - } + "DeletionProtection" : { + "type" : "string" }, "SmsAuthenticationMessage" : { - "type" : "string", "minLength" : 6, + "type" : "string", "maxLength" : 140 }, - "EmailAuthenticationMessage" : { - "type" : "string", - "minLength" : 6, - "maxLength" : 20000 + "UserPoolAddOns" : { + "$ref" : "#/definitions/UserPoolAddOns" }, - "EmailAuthenticationSubject" : { - "type" : "string", - "minLength" : 1, - "maxLength" : 140 + "ProviderName" : { + "type" : "string" }, - "SmsConfiguration" : { - "$ref" : "#/definitions/SmsConfiguration" + "UserPoolId" : { + "type" : "string" }, - "SmsVerificationMessage" : { - "type" : "string", + "EmailAuthenticationMessage" : { "minLength" : 6, - "maxLength" : 140 + "type" : "string", + "maxLength" : 20000 }, - "Schema" : { + "AliasAttributes" : { "type" : "array", "items" : { - "$ref" : "#/definitions/SchemaAttribute" + "type" : "string" } }, - "UsernameConfiguration" : { - "$ref" : "#/definitions/UsernameConfiguration" - }, - "UserAttributeUpdateSettings" : { - "$ref" : "#/definitions/UserAttributeUpdateSettings" - }, - "UserPoolTags" : { - "type" : "object", - "patternProperties" : { - "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" : { - "type" : "string" - } - }, - "additionalProperties" : false - }, - "VerificationMessageTemplate" : { - "$ref" : "#/definitions/VerificationMessageTemplate" - }, - "UserPoolAddOns" : { - "$ref" : "#/definitions/UserPoolAddOns" - }, - "ProviderName" : { - "type" : "string" + "EnabledMfas" : { + "type" : "array", + "items" : { + "type" : "string" + } }, - "ProviderURL" : { - "type" : "string" + "LambdaConfig" : { + "$ref" : "#/definitions/LambdaConfig" }, "Arn" : { "type" : "string" }, - "UserPoolId" : { - "type" : "string" - } - }, - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/UserPoolId" ], - "readOnlyProperties" : [ "/properties/ProviderName", "/properties/UserPoolId", "/properties/ProviderURL", "/properties/Arn" ], - "writeOnlyProperties" : [ "/properties/EnabledMfas" ], - "propertyTransform" : { - "/properties/Schema/*/Name" : "'custom:' & '' & Name" - }, - "handlers" : { - "create" : { - "permissions" : [ "cognito-idp:CreateUserPool", "iam:PassRole", "cognito-idp:SetUserPoolMfaConfig", "cognito-idp:DescribeUserPool", "kms:CreateGrant", "iam:CreateServiceLinkedRole", "cognito-idp:TagResource" ], - "timeoutInMinutes" : 2 - }, - "read" : { - "permissions" : [ "cognito-idp:DescribeUserPool", "cognito-idp:GetUserPoolMfaConfig" ] + "UsernameAttributes" : { + "type" : "array", + "items" : { + "type" : "string" + } }, - "update" : { - "permissions" : [ "cognito-idp:UpdateUserPool", "cognito-idp:ListTagsForResource", "cognito-idp:UntagResource", "cognito-idp:TagResource", "cognito-idp:SetUserPoolMfaConfig", "cognito-idp:AddCustomAttributes", "cognito-idp:DescribeUserPool", "cognito-idp:GetUserPoolMfaConfig", "iam:PassRole" ], - "timeoutInMinutes" : 2 + "AutoVerifiedAttributes" : { + "type" : "array", + "items" : { + "type" : "string" + } }, - "delete" : { - "permissions" : [ "cognito-idp:DeleteUserPool" ], - "timeoutInMinutes" : 2 + "DeviceConfiguration" : { + "$ref" : "#/definitions/DeviceConfiguration" }, - "list" : { - "permissions" : [ "cognito-idp:ListUserPools" ] + "EmailVerificationMessage" : { + "minLength" : 6, + "type" : "string", + "maxLength" : 20000 } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-datasync-task.json b/aws-cloudformation-schema/aws-datasync-task.json index 6ae5ec20f0..f6da95a4c1 100644 --- a/aws-cloudformation-schema/aws-datasync-task.json +++ b/aws-cloudformation-schema/aws-datasync-task.json @@ -1,222 +1,58 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", - "tagging" : { - "permissions" : [ "datasync:TagResource", "datasync:UntagResource", "datasync:ListTagsForResource" ], - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : true - }, - "handlers" : { - "read" : { - "permissions" : [ "datasync:DescribeTask", "datasync:ListTagsForResource" ] - }, - "create" : { - "permissions" : [ "datasync:CreateTask", "datasync:DescribeTask", "datasync:ListTagsForResource", "datasync:TagResource", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "ec2:DescribeNetworkInterfaces", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:CreateNetworkInterfacePermission", "fsx:DescribeFileSystems", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeMountTargets", "logs:DescribeLogGroups", "iam:GetRole", "iam:PassRole", "iam:AssumeRole" ] - }, - "update" : { - "permissions" : [ "datasync:UpdateTask", "datasync:DescribeTask", "datasync:ListTagsForResource", "datasync:TagResource", "datasync:UntagResource", "logs:DescribeLogGroups", "iam:PassRole" ] - }, - "list" : { - "permissions" : [ "datasync:ListTasks" ] - }, - "delete" : { - "permissions" : [ "datasync:DeleteTask", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "fsx:DescribeFileSystems", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeMountTargets", "iam:GetRole" ] - } - }, "typeName" : "AWS::DataSync::Task", - "readOnlyProperties" : [ "/properties/TaskArn", "/properties/Status", "/properties/SourceNetworkInterfaceArns", "/properties/DestinationNetworkInterfaceArns" ], "description" : "Resource schema for AWS::DataSync::Task.", - "createOnlyProperties" : [ "/properties/DestinationLocationArn", "/properties/SourceLocationArn" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/TaskArn" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datasync.git", "definitions" : { - "SourceNetworkInterfaceArns" : { - "maxItems" : 128, - "description" : "The Amazon Resource Names (ARNs) of the source ENIs (Elastic Network Interfaces) that were created for your subnet.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "pattern" : "^arn:aws[\\-a-z]{0,}:ec2:[a-z\\-0-9]*:[0-9]{12}:network-interface/eni-[0-9a-f]+$", - "type" : "string" - } - }, - "Options" : { - "description" : "Represents the options that are available to control the behavior of a StartTaskExecution operation.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "VerifyMode" : { - "description" : "A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred.", - "type" : "string", - "enum" : [ "POINT_IN_TIME_CONSISTENT", "ONLY_FILES_TRANSFERRED", "NONE" ] - }, - "Gid" : { - "description" : "The group ID (GID) of the file's owners.", - "type" : "string", - "enum" : [ "NONE", "INT_VALUE", "NAME", "BOTH" ] - }, - "Atime" : { - "description" : "A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to).", - "type" : "string", - "enum" : [ "NONE", "BEST_EFFORT" ] - }, - "OverwriteMode" : { - "description" : "A value that determines whether files at the destination should be overwritten or preserved when copying files.", - "type" : "string", - "enum" : [ "ALWAYS", "NEVER" ] - }, - "PreserveDevices" : { - "description" : "A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and recreate the files with that device name and metadata on the destination.", - "type" : "string", - "enum" : [ "NONE", "PRESERVE" ] - }, - "Mtime" : { - "description" : "A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase.", - "type" : "string", - "enum" : [ "NONE", "PRESERVE" ] - }, - "TaskQueueing" : { - "description" : "A value that determines whether tasks should be queued before executing the tasks.", - "type" : "string", - "enum" : [ "ENABLED", "DISABLED" ] - }, - "TransferMode" : { - "description" : "A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location.", - "type" : "string", - "enum" : [ "CHANGED", "ALL" ] - }, - "LogLevel" : { - "description" : "A value that determines the types of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide.", - "type" : "string", - "enum" : [ "OFF", "BASIC", "TRANSFER" ] - }, - "ObjectTags" : { - "description" : "A value that determines whether object tags should be read from the source object store and written to the destination object store.", - "type" : "string", - "enum" : [ "PRESERVE", "NONE" ] - }, - "Uid" : { - "description" : "The user ID (UID) of the file's owner.", - "type" : "string", - "enum" : [ "NONE", "INT_VALUE", "NAME", "BOTH" ] - }, - "BytesPerSecond" : { - "format" : "int64", - "description" : "A value that limits the bandwidth used by AWS DataSync.", - "type" : "integer", - "minimum" : -1 - }, - "PosixPermissions" : { - "description" : "A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.", - "type" : "string", - "enum" : [ "NONE", "PRESERVE" ] - }, - "PreserveDeletedFiles" : { - "description" : "A value that specifies whether files in the destination that don't exist in the source file system should be preserved.", - "type" : "string", - "enum" : [ "PRESERVE", "REMOVE" ] - }, - "SecurityDescriptorCopyFlags" : { - "description" : "A value that determines which components of the SMB security descriptor are copied during transfer.", - "type" : "string", - "enum" : [ "NONE", "OWNER_DACL", "OWNER_DACL_SACL" ] - } - } - }, - "TaskReportConfigDestinationS3" : { - "description" : "Specifies the Amazon S3 bucket where DataSync uploads your task report.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Subdirectory" : { - "pattern" : "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]*$", - "description" : "Specifies a bucket prefix for your report.", - "type" : "string", - "maxLength" : 4096 - }, - "S3BucketArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\\-0-9]*:[0-9]*:.*$", - "description" : "Specifies the ARN of the S3 bucket where Datasync uploads your report.", - "type" : "string", - "maxLength" : 156 - }, - "BucketAccessRoleArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$", - "description" : "Specifies the Amazon Resource Name (ARN) of the IAM policy that allows Datasync to upload a task report to your S3 bucket.", - "type" : "string", - "maxLength" : 2048 - } - } - }, - "DestinationNetworkInterfaceArns" : { - "maxItems" : 128, - "description" : "The Amazon Resource Names (ARNs) of the destination ENIs (Elastic Network Interfaces) that were created for your subnet.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "pattern" : "^arn:aws[\\-a-z]{0,}:ec2:[a-z\\-0-9]*:[0-9]{12}:network-interface/eni-[0-9a-f]+$", - "type" : "string" - } - }, - "ManifestConfigSourceS3" : { - "description" : "Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.", + "FilterRule" : { "additionalProperties" : false, + "description" : "Specifies which files folders and objects to include or exclude when transferring files from source to destination.", "type" : "object", "properties" : { - "S3BucketArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\\-0-9]*:[0-9]*:.*$", - "description" : "Specifies the Amazon Resource Name (ARN) of the S3 bucket where you're hosting your manifest.", - "type" : "string", - "maxLength" : 156 - }, - "BucketAccessRoleArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$", - "description" : "Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest.", - "type" : "string", - "maxLength" : 2048 - }, - "ManifestObjectVersionId" : { - "pattern" : "^.+$", - "description" : "Specifies the object version ID of the manifest that you want DataSync to use.", + "FilterType" : { + "description" : "The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.", "type" : "string", - "maxLength" : 100 + "enum" : [ "SIMPLE_PATTERN" ], + "pattern" : "^[A-Z0-9_]+$", + "maxLength" : 128 }, - "ManifestObjectPath" : { - "pattern" : "^[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}\\p{C}]*$", - "description" : "Specifies the Amazon S3 object key of your manifest.", + "Value" : { + "description" : "A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\".", "type" : "string", - "maxLength" : 1024 + "pattern" : "^[^\\x00]+$", + "maxLength" : 409600 } } }, - "TaskSchedule" : { - "description" : "Specifies the schedule you want your task to use for repeated executions.", + "Tag" : { "additionalProperties" : false, + "description" : "A key-value pair to associate with a resource.", "type" : "object", "properties" : { - "Status" : { - "description" : "Specifies status of a schedule.", + "Key" : { "type" : "string", - "enum" : [ "ENABLED", "DISABLED" ] + "description" : "The key for an AWS resource tag.", + "pattern" : "^[a-zA-Z0-9\\s+=._:/-]+$", + "maxLength" : 256, + "minLength" : 1 }, - "ScheduleExpression" : { - "pattern" : "^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$", - "description" : "A cron expression that specifies when AWS DataSync initiates a scheduled transfer from a source to a destination location", + "Value" : { "type" : "string", - "maxLength" : 256 + "description" : "The value for an AWS resource tag.", + "pattern" : "^[a-zA-Z0-9\\s+=._:@/-]+$", + "maxLength" : 256, + "minLength" : 1 } - } + }, + "required" : [ "Key", "Value" ] }, "TaskReportConfig" : { - "description" : "Specifies how you want to configure a task report, which provides detailed information about for your Datasync transfer.", "additionalProperties" : false, + "description" : "Specifies how you want to configure a task report, which provides detailed information about for your Datasync transfer.", "type" : "object", "properties" : { "Destination" : { - "description" : "Specifies where DataSync uploads your task report.", "additionalProperties" : false, + "description" : "Specifies where DataSync uploads your task report.", "type" : "object", "properties" : { "S3" : { @@ -224,6 +60,11 @@ } } }, + "OutputType" : { + "description" : "Specifies the type of task report that you want.", + "type" : "string", + "enum" : [ "SUMMARY_ONLY", "STANDARD" ] + }, "ReportLevel" : { "description" : "Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.", "type" : "string", @@ -235,13 +76,13 @@ "enum" : [ "INCLUDE", "NONE" ] }, "Overrides" : { - "description" : "Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that Datasync attempted to delete in your destination location.", "additionalProperties" : false, + "description" : "Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that Datasync attempted to delete in your destination location.", "type" : "object", "properties" : { - "Verified" : { - "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which Datasync does by default)", + "Transferred" : { "additionalProperties" : false, + "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to transfer.", "type" : "object", "properties" : { "ReportLevel" : { @@ -251,9 +92,9 @@ } } }, - "Skipped" : { - "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to skip during your transfer.", + "Verified" : { "additionalProperties" : false, + "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which Datasync does by default)", "type" : "object", "properties" : { "ReportLevel" : { @@ -263,9 +104,9 @@ } } }, - "Transferred" : { - "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to transfer.", + "Deleted" : { "additionalProperties" : false, + "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.", "type" : "object", "properties" : { "ReportLevel" : { @@ -275,9 +116,9 @@ } } }, - "Deleted" : { - "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.", + "Skipped" : { "additionalProperties" : false, + "description" : "Specifies the level of reporting for the files, objects, and directories that Datasync attempted to skip during your transfer.", "type" : "object", "properties" : { "ReportLevel" : { @@ -288,60 +129,38 @@ } } } - }, - "OutputType" : { - "description" : "Specifies the type of task report that you want.", - "type" : "string", - "enum" : [ "SUMMARY_ONLY", "STANDARD" ] } }, "required" : [ "Destination", "OutputType" ] }, - "FilterRule" : { - "description" : "Specifies which files folders and objects to include or exclude when transferring files from source to destination.", + "TaskReportConfigDestinationS3" : { "additionalProperties" : false, + "description" : "Specifies the Amazon S3 bucket where DataSync uploads your task report.", "type" : "object", "properties" : { - "FilterType" : { - "pattern" : "^[A-Z0-9_]+$", - "description" : "The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.", + "Subdirectory" : { + "description" : "Specifies a bucket prefix for your report.", "type" : "string", - "enum" : [ "SIMPLE_PATTERN" ], - "maxLength" : 128 + "maxLength" : 4096, + "pattern" : "^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]*$" }, - "Value" : { - "pattern" : "^[^\\x00]+$", - "description" : "A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\".", - "type" : "string", - "maxLength" : 409600 - } - } - }, - "Tag" : { - "description" : "A key-value pair to associate with a resource.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Value" : { - "minLength" : 1, - "pattern" : "^[a-zA-Z0-9\\s+=._:@/-]+$", - "description" : "The value for an AWS resource tag.", + "BucketAccessRoleArn" : { + "description" : "Specifies the Amazon Resource Name (ARN) of the IAM policy that allows Datasync to upload a task report to your S3 bucket.", "type" : "string", - "maxLength" : 256 + "maxLength" : 2048, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$" }, - "Key" : { - "minLength" : 1, - "pattern" : "^[a-zA-Z0-9\\s+=._:/-]+$", - "description" : "The key for an AWS resource tag.", + "S3BucketArn" : { + "description" : "Specifies the ARN of the S3 bucket where Datasync uploads your report.", "type" : "string", - "maxLength" : 256 + "maxLength" : 156, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\\-0-9]*:[0-9]*:.*$" } - }, - "required" : [ "Key", "Value" ] + } }, "ManifestConfig" : { - "description" : "Configures a manifest, which is a list of files or objects that you want DataSync to transfer.", "additionalProperties" : false, + "description" : "Configures a manifest, which is a list of files or objects that you want DataSync to transfer.", "type" : "object", "properties" : { "Action" : { @@ -355,8 +174,8 @@ "enum" : [ "CSV" ] }, "Source" : { - "description" : "Specifies the manifest that you want DataSync to use and where it's hosted.", "additionalProperties" : false, + "description" : "Specifies the manifest that you want DataSync to use and where it's hosted.", "type" : "object", "properties" : { "S3" : { @@ -366,91 +185,277 @@ } }, "required" : [ "Source" ] - } - }, - "required" : [ "DestinationLocationArn", "SourceLocationArn" ], - "properties" : { - "Status" : { - "description" : "The status of the task that was described.", - "type" : "string", - "enum" : [ "AVAILABLE", "CREATING", "QUEUED", "RUNNING", "UNAVAILABLE" ] }, - "SourceNetworkInterfaceArns" : { - "$ref" : "#/definitions/SourceNetworkInterfaceArns" + "ManifestConfigSourceS3" : { + "additionalProperties" : false, + "description" : "Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.", + "type" : "object", + "properties" : { + "ManifestObjectPath" : { + "description" : "Specifies the Amazon S3 object key of your manifest.", + "type" : "string", + "maxLength" : 1024, + "pattern" : "^[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}\\p{C}]*$" + }, + "BucketAccessRoleArn" : { + "description" : "Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest.", + "type" : "string", + "maxLength" : 2048, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$" + }, + "S3BucketArn" : { + "description" : "Specifies the Amazon Resource Name (ARN) of the S3 bucket where you're hosting your manifest.", + "type" : "string", + "maxLength" : 156, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\\-0-9]*:[0-9]*:.*$" + }, + "ManifestObjectVersionId" : { + "description" : "Specifies the object version ID of the manifest that you want DataSync to use.", + "type" : "string", + "maxLength" : 100, + "pattern" : "^.+$" + } + } }, - "DestinationLocationArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", - "description" : "The ARN of an AWS storage resource's location.", - "type" : "string", - "maxLength" : 128 + "TaskSchedule" : { + "additionalProperties" : false, + "description" : "Specifies the schedule you want your task to use for repeated executions.", + "type" : "object", + "properties" : { + "ScheduleExpression" : { + "description" : "A cron expression that specifies when AWS DataSync initiates a scheduled transfer from a source to a destination location", + "type" : "string", + "maxLength" : 256, + "pattern" : "^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$" + }, + "Status" : { + "description" : "Specifies status of a schedule.", + "type" : "string", + "enum" : [ "ENABLED", "DISABLED" ] + } + } }, "Options" : { - "$ref" : "#/definitions/Options" + "additionalProperties" : false, + "description" : "Represents the options that are available to control the behavior of a StartTaskExecution operation.", + "type" : "object", + "properties" : { + "Atime" : { + "description" : "A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to).", + "type" : "string", + "enum" : [ "NONE", "BEST_EFFORT" ] + }, + "BytesPerSecond" : { + "description" : "A value that limits the bandwidth used by AWS DataSync.", + "type" : "integer", + "format" : "int64", + "minimum" : -1 + }, + "Gid" : { + "description" : "The group ID (GID) of the file's owners.", + "type" : "string", + "enum" : [ "NONE", "INT_VALUE", "NAME", "BOTH" ] + }, + "LogLevel" : { + "description" : "A value that determines the types of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide.", + "type" : "string", + "enum" : [ "OFF", "BASIC", "TRANSFER" ] + }, + "Mtime" : { + "description" : "A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase.", + "type" : "string", + "enum" : [ "NONE", "PRESERVE" ] + }, + "OverwriteMode" : { + "description" : "A value that determines whether files at the destination should be overwritten or preserved when copying files.", + "type" : "string", + "enum" : [ "ALWAYS", "NEVER" ] + }, + "PosixPermissions" : { + "description" : "A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.", + "type" : "string", + "enum" : [ "NONE", "PRESERVE" ] + }, + "PreserveDeletedFiles" : { + "description" : "A value that specifies whether files in the destination that don't exist in the source file system should be preserved.", + "type" : "string", + "enum" : [ "PRESERVE", "REMOVE" ] + }, + "PreserveDevices" : { + "description" : "A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and recreate the files with that device name and metadata on the destination.", + "type" : "string", + "enum" : [ "NONE", "PRESERVE" ] + }, + "SecurityDescriptorCopyFlags" : { + "description" : "A value that determines which components of the SMB security descriptor are copied during transfer.", + "type" : "string", + "enum" : [ "NONE", "OWNER_DACL", "OWNER_DACL_SACL" ] + }, + "TaskQueueing" : { + "description" : "A value that determines whether tasks should be queued before executing the tasks.", + "type" : "string", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "TransferMode" : { + "description" : "A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location.", + "type" : "string", + "enum" : [ "CHANGED", "ALL" ] + }, + "Uid" : { + "description" : "The user ID (UID) of the file's owner.", + "type" : "string", + "enum" : [ "NONE", "INT_VALUE", "NAME", "BOTH" ] + }, + "VerifyMode" : { + "description" : "A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred.", + "type" : "string", + "enum" : [ "POINT_IN_TIME_CONSISTENT", "ONLY_FILES_TRANSFERRED", "NONE" ] + }, + "ObjectTags" : { + "description" : "A value that determines whether object tags should be read from the source object store and written to the destination object store.", + "type" : "string", + "enum" : [ "PRESERVE", "NONE" ] + } + } }, - "TaskReportConfig" : { - "$ref" : "#/definitions/TaskReportConfig" + "SourceNetworkInterfaceArns" : { + "description" : "The Amazon Resource Names (ARNs) of the source ENIs (Elastic Network Interfaces) that were created for your subnet.", + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^arn:aws[\\-a-z]{0,}:ec2:[a-z\\-0-9]*:[0-9]{12}:network-interface/eni-[0-9a-f]+$" + }, + "maxItems" : 128, + "insertionOrder" : false }, + "DestinationNetworkInterfaceArns" : { + "description" : "The Amazon Resource Names (ARNs) of the destination ENIs (Elastic Network Interfaces) that were created for your subnet.", + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^arn:aws[\\-a-z]{0,}:ec2:[a-z\\-0-9]*:[0-9]{12}:network-interface/eni-[0-9a-f]+$" + }, + "maxItems" : 128, + "insertionOrder" : false + } + }, + "properties" : { "Excludes" : { + "type" : "array", "minItems" : 0, "maxItems" : 1, - "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/FilterRule" + }, + "insertionOrder" : false + }, + "Includes" : { "type" : "array", + "minItems" : 0, + "maxItems" : 1, "items" : { "$ref" : "#/definitions/FilterRule" + }, + "insertionOrder" : false + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "maxItems" : 50, + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" } }, + "CloudWatchLogGroupArn" : { + "description" : "The ARN of the Amazon CloudWatch log group that is used to monitor and log events in the task.", + "type" : "string", + "maxLength" : 562, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):logs:[a-z\\-0-9]*:[0-9]{12}:log-group:([^:\\*]*)(:\\*)?$" + }, + "DestinationLocationArn" : { + "description" : "The ARN of an AWS storage resource's location.", + "type" : "string", + "maxLength" : 128, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$" + }, "Name" : { - "minLength" : 1, - "pattern" : "^[a-zA-Z0-9\\s+=._:@/-]+$", "description" : "The name of a task. This value is a text reference that is used to identify the task in the console.", "type" : "string", - "maxLength" : 256 + "maxLength" : 256, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9\\s+=._:@/-]+$" + }, + "Options" : { + "$ref" : "#/definitions/Options" + }, + "TaskReportConfig" : { + "$ref" : "#/definitions/TaskReportConfig" }, "ManifestConfig" : { "$ref" : "#/definitions/ManifestConfig" }, + "Schedule" : { + "$ref" : "#/definitions/TaskSchedule" + }, + "SourceLocationArn" : { + "description" : "The ARN of the source location for the task.", + "type" : "string", + "maxLength" : 128, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$" + }, "TaskArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}$", "description" : "The ARN of the task.", "type" : "string", - "maxLength" : 128 + "maxLength" : 128, + "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}$" }, - "Includes" : { - "minItems" : 0, - "maxItems" : 1, - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/FilterRule" - } + "TaskMode" : { + "description" : "Specifies the task mode for the task.", + "type" : "string", + "enum" : [ "BASIC", "ENHANCED" ] + }, + "Status" : { + "description" : "The status of the task that was described.", + "type" : "string", + "enum" : [ "AVAILABLE", "CREATING", "QUEUED", "RUNNING", "UNAVAILABLE" ] + }, + "SourceNetworkInterfaceArns" : { + "$ref" : "#/definitions/SourceNetworkInterfaceArns" }, "DestinationNetworkInterfaceArns" : { "$ref" : "#/definitions/DestinationNetworkInterfaceArns" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "datasync:TagResource", "datasync:UntagResource", "datasync:ListTagsForResource" ] + }, + "additionalProperties" : false, + "required" : [ "DestinationLocationArn", "SourceLocationArn" ], + "readOnlyProperties" : [ "/properties/TaskArn", "/properties/Status", "/properties/SourceNetworkInterfaceArns", "/properties/DestinationNetworkInterfaceArns" ], + "primaryIdentifier" : [ "/properties/TaskArn" ], + "createOnlyProperties" : [ "/properties/DestinationLocationArn", "/properties/SourceLocationArn", "/properties/TaskMode" ], + "handlers" : { + "create" : { + "permissions" : [ "datasync:CreateTask", "datasync:DescribeTask", "datasync:ListTagsForResource", "datasync:TagResource", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "ec2:DescribeNetworkInterfaces", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:CreateNetworkInterfacePermission", "fsx:DescribeFileSystems", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeMountTargets", "logs:DescribeLogGroups", "iam:GetRole", "iam:PassRole", "iam:AssumeRole" ] }, - "Schedule" : { - "$ref" : "#/definitions/TaskSchedule" + "read" : { + "permissions" : [ "datasync:DescribeTask", "datasync:ListTagsForResource" ] }, - "CloudWatchLogGroupArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):logs:[a-z\\-0-9]*:[0-9]{12}:log-group:([^:\\*]*)(:\\*)?$", - "description" : "The ARN of the Amazon CloudWatch log group that is used to monitor and log events in the task.", - "type" : "string", - "maxLength" : 562 + "update" : { + "permissions" : [ "datasync:UpdateTask", "datasync:DescribeTask", "datasync:ListTagsForResource", "datasync:TagResource", "datasync:UntagResource", "logs:DescribeLogGroups", "iam:PassRole" ] }, - "SourceLocationArn" : { - "pattern" : "^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$", - "description" : "The ARN of the source location for the task.", - "type" : "string", - "maxLength" : 128 + "delete" : { + "permissions" : [ "datasync:DeleteTask", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "fsx:DescribeFileSystems", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeMountTargets", "iam:GetRole" ] }, - "Tags" : { - "maxItems" : 50, - "uniqueItems" : true, - "description" : "An array of key-value pairs to apply to this resource.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Tag" - } + "list" : { + "permissions" : [ "datasync:ListTasks" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dynamodb-globaltable.json b/aws-cloudformation-schema/aws-dynamodb-globaltable.json index f12021b5f2..7607094497 100644 --- a/aws-cloudformation-schema/aws-dynamodb-globaltable.json +++ b/aws-cloudformation-schema/aws-dynamodb-globaltable.json @@ -1,175 +1,140 @@ { - "typeName" : "AWS::DynamoDB::GlobalTable", - "description" : "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable", - "additionalProperties" : false, - "properties" : { - "Arn" : { - "type" : "string" - }, - "StreamArn" : { - "type" : "string" - }, - "AttributeDefinitions" : { - "type" : "array", - "uniqueItems" : true, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/AttributeDefinition" - }, - "minItems" : 1 - }, - "BillingMode" : { - "type" : "string" - }, - "GlobalSecondaryIndexes" : { - "type" : "array", - "uniqueItems" : true, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/GlobalSecondaryIndex" - } - }, - "KeySchema" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/KeySchema" - }, - "minItems" : 1, - "maxItems" : 2 - }, - "LocalSecondaryIndexes" : { - "type" : "array", - "uniqueItems" : true, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/LocalSecondaryIndex" - } - }, - "WriteProvisionedThroughputSettings" : { - "$ref" : "#/definitions/WriteProvisionedThroughputSettings" - }, - "WriteOnDemandThroughputSettings" : { - "$ref" : "#/definitions/WriteOnDemandThroughputSettings" - }, - "Replicas" : { - "type" : "array", - "uniqueItems" : true, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/ReplicaSpecification" - }, - "minItems" : 1 - }, - "SSESpecification" : { - "$ref" : "#/definitions/SSESpecification" + "handlers" : { + "read" : { + "permissions" : [ "dynamodb:Describe*", "dynamodb:GetResourcePolicy", "application-autoscaling:Describe*", "cloudwatch:PutMetricData", "dynamodb:ListTagsOfResource", "kms:DescribeKey" ] }, - "StreamSpecification" : { - "$ref" : "#/definitions/StreamSpecification" + "create" : { + "permissions" : [ "dynamodb:CreateTable", "dynamodb:CreateTableReplica", "dynamodb:Describe*", "dynamodb:UpdateTimeToLive", "dynamodb:UpdateContributorInsights", "dynamodb:UpdateContinuousBackups", "dynamodb:ListTagsOfResource", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem", "dynamodb:PutItem", "dynamodb:GetItem", "dynamodb:DeleteItem", "dynamodb:BatchWriteItem", "dynamodb:TagResource", "dynamodb:EnableKinesisStreamingDestination", "dynamodb:DisableKinesisStreamingDestination", "dynamodb:UpdateTableReplicaAutoScaling", "dynamodb:TagResource", "dynamodb:GetResourcePolicy", "dynamodb:PutResourcePolicy", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:Describe*", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "kinesis:ListStreams", "kinesis:DescribeStream", "kinesis:PutRecords", "kms:CreateGrant", "kms:DescribeKey", "kms:ListAliases", "kms:Decrypt", "kms:RevokeGrant", "cloudwatch:PutMetricData", "iam:CreateServiceLinkedRole" ] }, - "TableName" : { - "type" : "string" + "update" : { + "permissions" : [ "dynamodb:Describe*", "dynamodb:CreateTableReplica", "dynamodb:UpdateTable", "dynamodb:UpdateTimeToLive", "dynamodb:UpdateContinuousBackups", "dynamodb:UpdateContributorInsights", "dynamodb:ListTagsOfResource", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem", "dynamodb:PutItem", "dynamodb:GetItem", "dynamodb:DeleteItem", "dynamodb:BatchWriteItem", "dynamodb:DeleteTable", "dynamodb:DeleteTableReplica", "dynamodb:UpdateItem", "dynamodb:TagResource", "dynamodb:UntagResource", "dynamodb:EnableKinesisStreamingDestination", "dynamodb:DisableKinesisStreamingDestination", "dynamodb:UpdateTableReplicaAutoScaling", "dynamodb:UpdateKinesisStreamingDestination", "dynamodb:GetResourcePolicy", "dynamodb:PutResourcePolicy", "dynamodb:DeleteResourcePolicy", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:Describe*", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "kinesis:ListStreams", "kinesis:DescribeStream", "kinesis:PutRecords", "kms:CreateGrant", "kms:DescribeKey", "kms:ListAliases", "kms:RevokeGrant", "cloudwatch:PutMetricData" ], + "timeoutInMinutes" : 1200 }, - "TableId" : { - "type" : "string" + "list" : { + "permissions" : [ "dynamodb:ListTables", "cloudwatch:PutMetricData" ] }, - "TimeToLiveSpecification" : { - "$ref" : "#/definitions/TimeToLiveSpecification" + "delete" : { + "permissions" : [ "dynamodb:Describe*", "dynamodb:DeleteTable", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:Describe*", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget" ] } }, + "typeName" : "AWS::DynamoDB::GlobalTable", + "readOnlyProperties" : [ "/properties/Arn", "/properties/StreamArn", "/properties/TableId" ], + "description" : "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable", + "additionalIdentifiers" : [ [ "/properties/Arn" ], [ "/properties/StreamArn" ] ], + "writeOnlyProperties" : [ "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity", "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity" ], + "createOnlyProperties" : [ "/properties/LocalSecondaryIndexes", "/properties/TableName", "/properties/KeySchema" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/TableName" ], "definitions" : { - "StreamSpecification" : { - "type" : "object", + "LocalSecondaryIndex" : { "additionalProperties" : false, - "properties" : { - "StreamViewType" : { - "type" : "string" - } - }, - "required" : [ "StreamViewType" ] - }, - "ResourcePolicy" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "PolicyDocument" : { - "type" : "object" + "IndexName" : { + "minLength" : 3, + "type" : "string", + "maxLength" : 255 + }, + "Projection" : { + "$ref" : "#/definitions/Projection" + }, + "KeySchema" : { + "maxItems" : 2, + "uniqueItems" : true, + "type" : "array", + "items" : { + "$ref" : "#/definitions/KeySchema" + } } }, - "required" : [ "PolicyDocument" ] + "required" : [ "IndexName", "Projection", "KeySchema" ] }, - "ReplicaStreamSpecification" : { - "type" : "object", + "SSESpecification" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "ResourcePolicy" : { - "$ref" : "#/definitions/ResourcePolicy" + "SSEEnabled" : { + "type" : "boolean" + }, + "SSEType" : { + "type" : "string" } }, - "required" : [ "ResourcePolicy" ] + "required" : [ "SSEEnabled" ] }, "KinesisStreamSpecification" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "StreamArn" : { + "ApproximateCreationDateTimePrecision" : { "type" : "string", + "enum" : [ "MICROSECOND", "MILLISECOND" ] + }, + "StreamArn" : { "relationshipRef" : { "typeName" : "AWS::Kinesis::Stream", "propertyPath" : "/properties/Arn" - } - }, - "ApproximateCreationDateTimePrecision" : { - "type" : "string", - "enum" : [ "MICROSECOND", "MILLISECOND" ] + }, + "type" : "string" } }, "required" : [ "StreamArn" ] }, - "KeySchema" : { - "type" : "object", + "StreamSpecification" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "AttributeName" : { - "type" : "string", - "minLength" : 1, - "maxLength" : 255 - }, - "KeyType" : { + "StreamViewType" : { "type" : "string" } }, - "required" : [ "KeyType", "AttributeName" ] + "required" : [ "StreamViewType" ] }, - "PointInTimeRecoverySpecification" : { - "type" : "object", + "ContributorInsightsSpecification" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "PointInTimeRecoveryEnabled" : { + "Enabled" : { "type" : "boolean" } - } + }, + "required" : [ "Enabled" ] }, "ReplicaSpecification" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "Region" : { - "type" : "string" + "SSESpecification" : { + "$ref" : "#/definitions/ReplicaSSESpecification" + }, + "KinesisStreamSpecification" : { + "$ref" : "#/definitions/KinesisStreamSpecification" + }, + "ContributorInsightsSpecification" : { + "$ref" : "#/definitions/ContributorInsightsSpecification" + }, + "PointInTimeRecoverySpecification" : { + "$ref" : "#/definitions/PointInTimeRecoverySpecification" + }, + "ReplicaStreamSpecification" : { + "$ref" : "#/definitions/ReplicaStreamSpecification" }, "GlobalSecondaryIndexes" : { - "type" : "array", "uniqueItems" : true, "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/ReplicaGlobalSecondaryIndexSpecification" } }, - "ContributorInsightsSpecification" : { - "$ref" : "#/definitions/ContributorInsightsSpecification" + "Region" : { + "type" : "string" }, - "PointInTimeRecoverySpecification" : { - "$ref" : "#/definitions/PointInTimeRecoverySpecification" + "ResourcePolicy" : { + "$ref" : "#/definitions/ResourcePolicy" + }, + "ReadProvisionedThroughputSettings" : { + "$ref" : "#/definitions/ReadProvisionedThroughputSettings" }, "TableClass" : { "type" : "string" @@ -177,91 +142,147 @@ "DeletionProtectionEnabled" : { "type" : "boolean" }, - "SSESpecification" : { - "$ref" : "#/definitions/ReplicaSSESpecification" - }, "Tags" : { - "type" : "array", - "insertionOrder" : false, "uniqueItems" : true, + "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/Tag" } }, - "ReadProvisionedThroughputSettings" : { - "$ref" : "#/definitions/ReadProvisionedThroughputSettings" - }, "ReadOnDemandThroughputSettings" : { "$ref" : "#/definitions/ReadOnDemandThroughputSettings" + } + }, + "required" : [ "Region" ] + }, + "CapacityAutoScalingSettings" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "MinCapacity" : { + "type" : "integer", + "minimum" : 1 }, - "KinesisStreamSpecification" : { - "$ref" : "#/definitions/KinesisStreamSpecification" + "SeedCapacity" : { + "type" : "integer", + "minimum" : 1 }, - "ResourcePolicy" : { - "$ref" : "#/definitions/ResourcePolicy" + "TargetTrackingScalingPolicyConfiguration" : { + "$ref" : "#/definitions/TargetTrackingScalingPolicyConfiguration" }, - "ReplicaStreamSpecification" : { - "$ref" : "#/definitions/ReplicaStreamSpecification" + "MaxCapacity" : { + "type" : "integer", + "minimum" : 1 } }, - "required" : [ "Region" ] + "required" : [ "MinCapacity", "MaxCapacity", "TargetTrackingScalingPolicyConfiguration" ] }, - "TimeToLiveSpecification" : { - "type" : "object", + "AttributeDefinition" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "AttributeName" : { + "AttributeType" : { "type" : "string" }, - "Enabled" : { - "type" : "boolean" + "AttributeName" : { + "minLength" : 1, + "type" : "string", + "maxLength" : 255 } }, - "required" : [ "Enabled" ] + "required" : [ "AttributeName", "AttributeType" ] }, - "LocalSecondaryIndex" : { + "Projection" : { + "additionalProperties" : false, "type" : "object", + "properties" : { + "NonKeyAttributes" : { + "maxItems" : 20, + "uniqueItems" : true, + "insertionOrder" : false, + "type" : "array", + "items" : { + "type" : "string" + } + }, + "ProjectionType" : { + "type" : "string" + } + } + }, + "PointInTimeRecoverySpecification" : { "additionalProperties" : false, + "type" : "object", + "properties" : { + "PointInTimeRecoveryEnabled" : { + "type" : "boolean" + } + } + }, + "ReplicaGlobalSecondaryIndexSpecification" : { + "additionalProperties" : false, + "type" : "object", "properties" : { "IndexName" : { - "type" : "string", "minLength" : 3, + "type" : "string", "maxLength" : 255 }, - "KeySchema" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/KeySchema" - }, - "maxItems" : 2 + "ContributorInsightsSpecification" : { + "$ref" : "#/definitions/ContributorInsightsSpecification" }, - "Projection" : { - "$ref" : "#/definitions/Projection" + "ReadProvisionedThroughputSettings" : { + "$ref" : "#/definitions/ReadProvisionedThroughputSettings" + }, + "ReadOnDemandThroughputSettings" : { + "$ref" : "#/definitions/ReadOnDemandThroughputSettings" } }, - "required" : [ "IndexName", "Projection", "KeySchema" ] + "required" : [ "IndexName" ] }, - "GlobalSecondaryIndex" : { + "TargetTrackingScalingPolicyConfiguration" : { + "additionalProperties" : false, "type" : "object", + "properties" : { + "ScaleOutCooldown" : { + "type" : "integer", + "minimum" : 0 + }, + "TargetValue" : { + "format" : "double", + "type" : "number" + }, + "DisableScaleIn" : { + "type" : "boolean" + }, + "ScaleInCooldown" : { + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "TargetValue" ] + }, + "GlobalSecondaryIndex" : { "additionalProperties" : false, + "type" : "object", "properties" : { "IndexName" : { - "type" : "string", "minLength" : 3, + "type" : "string", "maxLength" : 255 }, + "Projection" : { + "$ref" : "#/definitions/Projection" + }, "KeySchema" : { - "type" : "array", + "minItems" : 1, + "maxItems" : 2, "uniqueItems" : true, + "type" : "array", "items" : { "$ref" : "#/definitions/KeySchema" - }, - "minItems" : 1, - "maxItems" : 2 - }, - "Projection" : { - "$ref" : "#/definitions/Projection" + } }, "WriteProvisionedThroughputSettings" : { "$ref" : "#/definitions/WriteProvisionedThroughputSettings" @@ -269,28 +290,43 @@ "WriteOnDemandThroughputSettings" : { "$ref" : "#/definitions/WriteOnDemandThroughputSettings" } - }, - "required" : [ "IndexName", "Projection", "KeySchema" ] + }, + "required" : [ "IndexName", "Projection", "KeySchema" ] + }, + "WriteProvisionedThroughputSettings" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "WriteCapacityAutoScalingSettings" : { + "$ref" : "#/definitions/CapacityAutoScalingSettings" + } + } }, - "SSESpecification" : { + "WriteOnDemandThroughputSettings" : { + "additionalProperties" : false, "type" : "object", + "properties" : { + "MaxWriteRequestUnits" : { + "type" : "integer", + "minimum" : 1 + } + } + }, + "ReplicaStreamSpecification" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "SSEEnabled" : { - "type" : "boolean" - }, - "SSEType" : { - "type" : "string" + "ResourcePolicy" : { + "$ref" : "#/definitions/ResourcePolicy" } }, - "required" : [ "SSEEnabled" ] + "required" : [ "ResourcePolicy" ] }, "ReplicaSSESpecification" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "KMSMasterKeyId" : { - "type" : "string", "anyOf" : [ { "relationshipRef" : { "typeName" : "AWS::KMS::Key", @@ -306,91 +342,53 @@ "typeName" : "AWS::KMS::Alias", "propertyPath" : "/properties/AliasName" } - } ] + } ], + "type" : "string" } }, "required" : [ "KMSMasterKeyId" ] }, - "AttributeDefinition" : { - "type" : "object", + "ResourcePolicy" : { "additionalProperties" : false, - "properties" : { - "AttributeName" : { - "type" : "string", - "minLength" : 1, - "maxLength" : 255 - }, - "AttributeType" : { - "type" : "string" - } - }, - "required" : [ "AttributeName", "AttributeType" ] - }, - "Tag" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "Key" : { - "type" : "string" - }, - "Value" : { - "type" : "string" + "PolicyDocument" : { + "type" : "object" } }, - "required" : [ "Value", "Key" ] + "required" : [ "PolicyDocument" ] }, - "Projection" : { - "type" : "object", + "KeySchema" : { "additionalProperties" : false, - "properties" : { - "NonKeyAttributes" : { - "type" : "array", - "uniqueItems" : true, - "insertionOrder" : false, - "items" : { - "type" : "string" - }, - "maxItems" : 20 - }, - "ProjectionType" : { - "type" : "string" - } - } - }, - "ReplicaGlobalSecondaryIndexSpecification" : { "type" : "object", - "additionalProperties" : false, "properties" : { - "IndexName" : { + "KeyType" : { + "type" : "string" + }, + "AttributeName" : { + "minLength" : 1, "type" : "string", - "minLength" : 3, "maxLength" : 255 - }, - "ContributorInsightsSpecification" : { - "$ref" : "#/definitions/ContributorInsightsSpecification" - }, - "ReadProvisionedThroughputSettings" : { - "$ref" : "#/definitions/ReadProvisionedThroughputSettings" - }, - "ReadOnDemandThroughputSettings" : { - "$ref" : "#/definitions/ReadOnDemandThroughputSettings" } }, - "required" : [ "IndexName" ] + "required" : [ "KeyType", "AttributeName" ] }, - "ContributorInsightsSpecification" : { - "type" : "object", + "Tag" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "Enabled" : { - "type" : "boolean" + "Value" : { + "type" : "string" + }, + "Key" : { + "type" : "string" } }, - "required" : [ "Enabled" ] + "required" : [ "Value", "Key" ] }, "ReadProvisionedThroughputSettings" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "ReadCapacityUnits" : { "type" : "integer", @@ -401,102 +399,104 @@ } } }, - "WriteProvisionedThroughputSettings" : { - "type" : "object", + "TimeToLiveSpecification" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "WriteCapacityAutoScalingSettings" : { - "$ref" : "#/definitions/CapacityAutoScalingSettings" + "Enabled" : { + "type" : "boolean" + }, + "AttributeName" : { + "type" : "string" } - } + }, + "required" : [ "Enabled" ] }, "ReadOnDemandThroughputSettings" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "MaxReadRequestUnits" : { "type" : "integer", "minimum" : 1 } } + } + }, + "required" : [ "KeySchema", "AttributeDefinitions", "Replicas" ], + "properties" : { + "TableId" : { + "type" : "string" + }, + "SSESpecification" : { + "$ref" : "#/definitions/SSESpecification" + }, + "StreamSpecification" : { + "$ref" : "#/definitions/StreamSpecification" + }, + "Replicas" : { + "minItems" : 1, + "uniqueItems" : true, + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ReplicaSpecification" + } + }, + "WriteProvisionedThroughputSettings" : { + "$ref" : "#/definitions/WriteProvisionedThroughputSettings" }, "WriteOnDemandThroughputSettings" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "MaxWriteRequestUnits" : { - "type" : "integer", - "minimum" : 1 - } + "$ref" : "#/definitions/WriteOnDemandThroughputSettings" + }, + "TableName" : { + "type" : "string" + }, + "AttributeDefinitions" : { + "minItems" : 1, + "uniqueItems" : true, + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/AttributeDefinition" } }, - "CapacityAutoScalingSettings" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "MinCapacity" : { - "type" : "integer", - "minimum" : 1 - }, - "MaxCapacity" : { - "type" : "integer", - "minimum" : 1 - }, - "SeedCapacity" : { - "type" : "integer", - "minimum" : 1 - }, - "TargetTrackingScalingPolicyConfiguration" : { - "$ref" : "#/definitions/TargetTrackingScalingPolicyConfiguration" - } - }, - "required" : [ "MinCapacity", "MaxCapacity", "TargetTrackingScalingPolicyConfiguration" ] + "BillingMode" : { + "type" : "string" }, - "TargetTrackingScalingPolicyConfiguration" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "DisableScaleIn" : { - "type" : "boolean" - }, - "ScaleInCooldown" : { - "type" : "integer", - "minimum" : 0 - }, - "ScaleOutCooldown" : { - "type" : "integer", - "minimum" : 0 - }, - "TargetValue" : { - "type" : "number", - "format" : "double" - } - }, - "required" : [ "TargetValue" ] - } - }, - "required" : [ "KeySchema", "AttributeDefinitions", "Replicas" ], - "readOnlyProperties" : [ "/properties/Arn", "/properties/StreamArn", "/properties/TableId" ], - "createOnlyProperties" : [ "/properties/LocalSecondaryIndexes", "/properties/TableName", "/properties/KeySchema" ], - "primaryIdentifier" : [ "/properties/TableName" ], - "additionalIdentifiers" : [ [ "/properties/Arn" ], [ "/properties/StreamArn" ] ], - "writeOnlyProperties" : [ "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity", "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity", "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity" ], - "handlers" : { - "create" : { - "permissions" : [ "dynamodb:CreateTable", "dynamodb:CreateTableReplica", "dynamodb:Describe*", "dynamodb:UpdateTimeToLive", "dynamodb:UpdateContributorInsights", "dynamodb:UpdateContinuousBackups", "dynamodb:ListTagsOfResource", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem", "dynamodb:PutItem", "dynamodb:GetItem", "dynamodb:DeleteItem", "dynamodb:BatchWriteItem", "dynamodb:TagResource", "dynamodb:EnableKinesisStreamingDestination", "dynamodb:DisableKinesisStreamingDestination", "dynamodb:UpdateTableReplicaAutoScaling", "dynamodb:TagResource", "dynamodb:GetResourcePolicy", "dynamodb:PutResourcePolicy", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:Describe*", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "kinesis:ListStreams", "kinesis:DescribeStream", "kinesis:PutRecords", "kms:CreateGrant", "kms:DescribeKey", "kms:ListAliases", "kms:Decrypt", "kms:RevokeGrant", "cloudwatch:PutMetricData", "iam:CreateServiceLinkedRole" ] + "GlobalSecondaryIndexes" : { + "uniqueItems" : true, + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/GlobalSecondaryIndex" + } }, - "read" : { - "permissions" : [ "dynamodb:Describe*", "dynamodb:GetResourcePolicy", "application-autoscaling:Describe*", "cloudwatch:PutMetricData", "dynamodb:ListTagsOfResource", "kms:DescribeKey" ] + "KeySchema" : { + "minItems" : 1, + "maxItems" : 2, + "uniqueItems" : true, + "type" : "array", + "items" : { + "$ref" : "#/definitions/KeySchema" + } }, - "update" : { - "permissions" : [ "dynamodb:Describe*", "dynamodb:CreateTableReplica", "dynamodb:UpdateTable", "dynamodb:UpdateTimeToLive", "dynamodb:UpdateContinuousBackups", "dynamodb:UpdateContributorInsights", "dynamodb:ListTagsOfResource", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem", "dynamodb:PutItem", "dynamodb:GetItem", "dynamodb:DeleteItem", "dynamodb:BatchWriteItem", "dynamodb:DeleteTable", "dynamodb:DeleteTableReplica", "dynamodb:UpdateItem", "dynamodb:TagResource", "dynamodb:UntagResource", "dynamodb:EnableKinesisStreamingDestination", "dynamodb:DisableKinesisStreamingDestination", "dynamodb:UpdateTableReplicaAutoScaling", "dynamodb:UpdateKinesisStreamingDestination", "dynamodb:GetResourcePolicy", "dynamodb:PutResourcePolicy", "dynamodb:DeleteResourcePolicy", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:Describe*", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "kinesis:ListStreams", "kinesis:DescribeStream", "kinesis:PutRecords", "kms:CreateGrant", "kms:DescribeKey", "kms:ListAliases", "kms:RevokeGrant", "cloudwatch:PutMetricData" ], - "timeoutInMinutes" : 1200 + "LocalSecondaryIndexes" : { + "uniqueItems" : true, + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/LocalSecondaryIndex" + } }, - "delete" : { - "permissions" : [ "dynamodb:Describe*", "dynamodb:DeleteTable", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:Describe*", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget" ] + "Arn" : { + "type" : "string" }, - "list" : { - "permissions" : [ "dynamodb:ListTables", "cloudwatch:PutMetricData" ] + "StreamArn" : { + "type" : "string" + }, + "TimeToLiveSpecification" : { + "$ref" : "#/definitions/TimeToLiveSpecification" } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-launchtemplate.json b/aws-cloudformation-schema/aws-ec2-launchtemplate.json index d42ab5dad2..f05371252e 100644 --- a/aws-cloudformation-schema/aws-ec2-launchtemplate.json +++ b/aws-cloudformation-schema/aws-ec2-launchtemplate.json @@ -45,7 +45,7 @@ }, "TagSpecifications" : { "uniqueItems" : false, - "description" : "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).", + "description" : "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).", "type" : "array", "items" : { "$ref" : "#/definitions/TagSpecification" @@ -89,7 +89,7 @@ }, "ElasticInferenceAccelerators" : { "uniqueItems" : false, - "description" : "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", + "description" : "Amazon Elastic Inference is no longer available.\n An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", "type" : "array", "items" : { "$ref" : "#/definitions/LaunchTemplateElasticInferenceAccelerator" @@ -176,7 +176,7 @@ "$ref" : "#/definitions/InstanceMarketOptions" }, "InstanceRequirements" : { - "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", + "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", "$ref" : "#/definitions/InstanceRequirements" }, "RamDiskId" : { @@ -237,6 +237,16 @@ } } }, + "Cpu" : { + "description" : "", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "References" : { + "$ref" : "#/definitions/References" + } + } + }, "IamInstanceProfile" : { "description" : "Specifies an IAM instance profile, which is a container for an IAM role for your instance. You can use an IAM role to distribute your AWS credentials to your instances.\n If you are creating the launch template for use with an ASlong group, you can specify either the name or the ARN of the instance profile, but not both.\n ``IamInstanceProfile`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties" : false, @@ -376,7 +386,7 @@ "type" : "string" }, "KmsKeyId" : { - "description" : "The ARN of the symmetric KMSlong (KMS) CMK used for encryption.", + "description" : "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.", "type" : "string" }, "Encrypted" : { @@ -503,6 +513,17 @@ } } }, + "Reference" : { + "description" : "", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "InstanceFamily" : { + "description" : "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.", + "type" : "string" + } + } + }, "CpuOptions" : { "description" : "Specifies the CPU options for an instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *User Guide*.\n ``CpuOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties" : false, @@ -632,7 +653,7 @@ "type" : "integer" }, "InterfaceType" : { - "description" : "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``", + "description" : "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``", "type" : "string" }, "AssociateCarrierIpAddress" : { @@ -711,7 +732,7 @@ } }, "LaunchTemplateTagSpecification" : { - "description" : "Specifies the tags to apply to the launch template during creation.\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).", + "description" : "Specifies the tags to apply to the launch template during creation.\n To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).", "additionalProperties" : false, "type" : "object", "properties" : { @@ -730,7 +751,7 @@ } }, "TagSpecification" : { - "description" : "Specifies the tags to apply to a resource when the resource is created for the launch template.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", + "description" : "Specifies the tags to apply to resources that are created during instance launch.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties" : false, "type" : "object", "properties" : { @@ -804,6 +825,15 @@ } } }, + "References" : { + "uniqueItems" : true, + "description" : "A list of references to be used as baseline for the CPU performance. Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.", + "insertionOrder" : true, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Reference" + } + }, "LaunchTemplateElasticInferenceAccelerator" : { "description" : "Specifies an elastic inference accelerator.\n ``LaunchTemplateElasticInferenceAccelerator`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties" : false, @@ -835,18 +865,10 @@ } }, "InstanceRequirements" : { - "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", + "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", "additionalProperties" : false, "type" : "object", "properties" : { - "LocalStorageTypes" : { - "uniqueItems" : false, - "description" : "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``", - "type" : "array", - "items" : { - "type" : "string" - } - }, "InstanceGenerations" : { "uniqueItems" : false, "description" : "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.\n For current generation instance types, specify ``current``.\n For previous generation instance types, specify ``previous``.\n Default: Current and previous generation instance types", @@ -855,17 +877,13 @@ "type" : "string" } }, - "NetworkInterfaceCount" : { - "description" : "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits", - "$ref" : "#/definitions/NetworkInterfaceCount" - }, "MemoryGiBPerVCpu" : { "description" : "The minimum and maximum amount of memory per vCPU, in GiB.\n Default: No minimum or maximum limits", "$ref" : "#/definitions/MemoryGiBPerVCpu" }, "AcceleratorTypes" : { "uniqueItems" : false, - "description" : "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n + For instance types with inference accelerators, specify ``inference``.\n \n Default: Any accelerator type", + "description" : "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n \n Default: Any accelerator type", "type" : "array", "items" : { "type" : "string" @@ -875,38 +893,70 @@ "description" : "The minimum and maximum number of vCPUs.", "$ref" : "#/definitions/VCpuCount" }, - "ExcludedInstanceTypes" : { + "AcceleratorManufacturers" : { "uniqueItems" : false, - "description" : "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", + "description" : "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer", "type" : "array", "items" : { - "description" : "The user data to make available to the instance.", "type" : "string" } }, - "AcceleratorManufacturers" : { + "LocalStorage" : { + "description" : "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide*.\n + To include instance types with instance store volumes, specify ``included``.\n + To require only instance types with instance store volumes, specify ``required``.\n + To exclude instance types with instance store volumes, specify ``excluded``.\n \n Default: ``included``", + "type" : "string" + }, + "CpuManufacturers" : { "uniqueItems" : false, - "description" : "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer", + "description" : "The CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n \n Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n Default: Any manufacturer", "type" : "array", "items" : { "type" : "string" } }, - "AllowedInstanceTypes" : { + "BareMetal" : { + "description" : "Indicates whether bare metal instance types must be included, excluded, or required.\n + To include bare metal instance types, specify ``included``.\n + To require only bare metal instance types, specify ``required``.\n + To exclude bare metal instance types, specify ``excluded``.\n \n Default: ``excluded``", + "type" : "string" + }, + "RequireHibernateSupport" : { + "description" : "Indicates whether instance types must support hibernation for On-Demand Instances.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html).\n Default: ``false``", + "type" : "boolean" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" : { + "description" : "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.", + "type" : "integer" + }, + "OnDemandMaxPricePercentageOverLowestPrice" : { + "description" : "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``", + "type" : "integer" + }, + "MemoryMiB" : { + "description" : "The minimum and maximum amount of memory, in MiB.", + "$ref" : "#/definitions/MemoryMiB" + }, + "LocalStorageTypes" : { "uniqueItems" : false, - "description" : "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", + "description" : "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``", "type" : "array", "items" : { "type" : "string" } }, - "LocalStorage" : { - "description" : "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide*.\n + To include instance types with instance store volumes, specify ``included``.\n + To require only instance types with instance store volumes, specify ``required``.\n + To exclude instance types with instance store volumes, specify ``excluded``.\n \n Default: ``included``", - "type" : "string" + "NetworkInterfaceCount" : { + "description" : "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits", + "$ref" : "#/definitions/NetworkInterfaceCount" }, - "CpuManufacturers" : { + "ExcludedInstanceTypes" : { "uniqueItems" : false, - "description" : "The CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n \n Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n Default: Any manufacturer", + "description" : "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", + "type" : "array", + "items" : { + "description" : "The user data to make available to the instance.", + "type" : "string" + } + }, + "AllowedInstanceTypes" : { + "uniqueItems" : false, + "description" : "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", "type" : "array", "items" : { "type" : "string" @@ -920,18 +970,6 @@ "description" : "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", "$ref" : "#/definitions/NetworkBandwidthGbps" }, - "BareMetal" : { - "description" : "Indicates whether bare metal instance types must be included, excluded, or required.\n + To include bare metal instance types, specify ``included``.\n + To require only bare metal instance types, specify ``required``.\n + To exclude bare metal instance types, specify ``excluded``.\n \n Default: ``excluded``", - "type" : "string" - }, - "RequireHibernateSupport" : { - "description" : "Indicates whether instance types must support hibernation for On-Demand Instances.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html).\n Default: ``false``", - "type" : "boolean" - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" : { - "description" : "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.", - "type" : "integer" - }, "SpotMaxPricePercentageOverLowestPrice" : { "description" : "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n Default: ``100``", "type" : "integer" @@ -940,10 +978,6 @@ "description" : "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.\n Default: No minimum or maximum limits", "$ref" : "#/definitions/BaselineEbsBandwidthMbps" }, - "OnDemandMaxPricePercentageOverLowestPrice" : { - "description" : "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``", - "type" : "integer" - }, "AcceleratorNames" : { "uniqueItems" : false, "description" : "The accelerators that must be on the instance type.\n + For instance types with NVIDIA A10G GPUs, specify ``a10g``.\n + For instance types with NVIDIA A100 GPUs, specify ``a100``.\n + For instance types with NVIDIA H100 GPUs, specify ``h100``.\n + For instance types with AWS Inferentia chips, specify ``inferentia``.\n + For instance types with NVIDIA GRID K520 GPUs, specify ``k520``.\n + For instance types with NVIDIA K80 GPUs, specify ``k80``.\n + For instance types with NVIDIA M60 GPUs, specify ``m60``.\n + For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520``.\n + For instance types with NVIDIA T4 GPUs, specify ``t4``.\n + For instance types with NVIDIA T4G GPUs, specify ``t4g``.\n + For instance types with Xilinx VU9P FPGAs, specify ``vu9p``.\n + For instance types with NVIDIA V100 GPUs, specify ``v100``.\n \n Default: Any accelerator", @@ -960,10 +994,6 @@ "description" : "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).\n + To include burstable performance instance types, specify ``included``.\n + To require only burstable performance instance types, specify ``required``.\n + To exclude burstable performance instance types, specify ``excluded``.\n \n Default: ``excluded``", "type" : "string" }, - "MemoryMiB" : { - "description" : "The minimum and maximum amount of memory, in MiB.", - "$ref" : "#/definitions/MemoryMiB" - }, "TotalLocalStorageGB" : { "description" : "The minimum and maximum amount of total local storage, in GB.\n Default: No minimum or maximum limits", "$ref" : "#/definitions/TotalLocalStorageGB" @@ -1093,7 +1123,7 @@ }, "TagSpecifications" : { "uniqueItems" : false, - "description" : "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).", + "description" : "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).", "type" : "array", "items" : { "$ref" : "#/definitions/LaunchTemplateTagSpecification" diff --git a/aws-cloudformation-schema/aws-ec2-securitygroupvpcassociation.json b/aws-cloudformation-schema/aws-ec2-securitygroupvpcassociation.json new file mode 100644 index 0000000000..248d4cee96 --- /dev/null +++ b/aws-cloudformation-schema/aws-ec2-securitygroupvpcassociation.json @@ -0,0 +1,55 @@ +{ + "typeName" : "AWS::EC2::SecurityGroupVpcAssociation", + "description" : "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource", + "definitions" : { + "SecurityGroupVpcAssociationState" : { + "type" : "string", + "additionalProperties" : false, + "enum" : [ "associating", "associated", "association-failed", "disassociating", "disassociated", "disassociation-failed" ] + } + }, + "properties" : { + "GroupId" : { + "description" : "The group ID of the specified security group.", + "type" : "string" + }, + "VpcId" : { + "description" : "The ID of the VPC in the security group vpc association.", + "type" : "string" + }, + "VpcOwnerId" : { + "description" : "The owner of the VPC in the security group vpc association.", + "type" : "string" + }, + "State" : { + "description" : "The state of the security group vpc association.", + "$ref" : "#/definitions/SecurityGroupVpcAssociationState" + }, + "StateReason" : { + "description" : "The reason for the state of the security group vpc association.", + "type" : "string" + } + }, + "additionalProperties" : false, + "tagging" : { + "taggable" : false + }, + "required" : [ "GroupId", "VpcId" ], + "createOnlyProperties" : [ "/properties/GroupId", "/properties/VpcId" ], + "readOnlyProperties" : [ "/properties/VpcOwnerId", "/properties/State", "/properties/StateReason" ], + "primaryIdentifier" : [ "/properties/GroupId", "/properties/VpcId" ], + "handlers" : { + "create" : { + "permissions" : [ "ec2:AssociateSecurityGroupVpc", "ec2:DescribeSecurityGroupVpcAssociations" ] + }, + "read" : { + "permissions" : [ "ec2:DescribeSecurityGroupVpcAssociations" ] + }, + "delete" : { + "permissions" : [ "ec2:DisassociateSecurityGroupVpc", "ec2:DescribeSecurityGroupVpcAssociations" ] + }, + "list" : { + "permissions" : [ "ec2:DescribeSecurityGroupVpcAssociations" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-verifiedaccessendpoint.json b/aws-cloudformation-schema/aws-ec2-verifiedaccessendpoint.json index fb29cebb31..e0a7e0b761 100644 --- a/aws-cloudformation-schema/aws-ec2-verifiedaccessendpoint.json +++ b/aws-cloudformation-schema/aws-ec2-verifiedaccessendpoint.json @@ -204,26 +204,27 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ec2:CreateTags", "ec2:DescribeTags", "ec2:DeleteTags" ] }, "handlers" : { "create" : { - "permissions" : [ "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeVerifiedAccessEndpoints", "ec2:CreateTags", "ec2:DescribeTags", "iam:CreateServiceLinkedRole", "iam:ListRoles", "acm:GetCertificateWithPK", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "sso:CreateManagedApplicationInstance", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAccountAttributes", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", "acm:DeleteCertificateRelation", "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "sso:DeleteManagedApplicationInstance", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], + "permissions" : [ "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeVerifiedAccessEndpoints", "iam:CreateServiceLinkedRole", "iam:ListRoles", "acm:GetCertificateWithPK", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "sso:CreateManagedApplicationInstance", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAccountAttributes", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", "ec2:CreateTags", "ec2:DescribeTags", "acm:DeleteCertificateRelation", "ec2:DeleteVerifiedAccessEndpoint", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "sso:DeleteManagedApplicationInstance", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "timeoutInMinutes" : 60 }, "read" : { - "permissions" : [ "ec2:DescribeVerifiedAccessEndpoints", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:DescribeTags", "acm:CreateCertificateRelation", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "elasticloadbalancing:DescribeListenerCertificates", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "iam:CreateServiceLinkedRole", "iam:ListRoles", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ] + "permissions" : [ "ec2:DescribeVerifiedAccessEndpoints", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:DescribeTags", "acm:CreateCertificateRelation", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "elasticloadbalancing:DescribeListenerCertificates", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "iam:CreateServiceLinkedRole", "iam:ListRoles", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ] }, "update" : { - "permissions" : [ "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "ec2:DescribeVerifiedAccessEndpoints", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:DescribeTags", "ec2:DeleteTags", "ec2:CreateTags", "acm:GetCertificateWithPK", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "acm:DeleteCertificateRelation", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAccountAttributes", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteVerifiedAccessEndpoint", "iam:CreateServiceLinkedRole", "iam:ListRoles", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], + "permissions" : [ "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "ec2:DescribeVerifiedAccessEndpoints", "ec2:GetVerifiedAccessEndpointPolicy", "acm:GetCertificateWithPK", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "acm:DeleteCertificateRelation", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAccountAttributes", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", "ec2:DescribeTags", "ec2:DeleteTags", "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteVerifiedAccessEndpoint", "iam:CreateServiceLinkedRole", "iam:ListRoles", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "timeoutInMinutes" : 60 }, "delete" : { - "permissions" : [ "ec2:DescribeVerifiedAccessEndpoints", "ec2:DescribeTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DeleteTags", "sso:DeleteManagedApplicationInstance", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "acm:GetCertificateWithPK", "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "elasticloadbalancing:DescribeListenerCertificates", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "iam:CreateServiceLinkedRole", "iam:ListRoles", "sso:CreateManagedApplicationInstance", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], + "permissions" : [ "ec2:DescribeVerifiedAccessEndpoints", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeTags", "ec2:DeleteTags", "sso:DeleteManagedApplicationInstance", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "acm:GetCertificateWithPK", "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "elasticloadbalancing:DescribeListenerCertificates", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "iam:CreateServiceLinkedRole", "iam:ListRoles", "sso:CreateManagedApplicationInstance", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "timeoutInMinutes" : 60 }, "list" : { - "permissions" : [ "ec2:DescribeVerifiedAccessEndpoints", "ec2:DescribeTags", "acm:CreateCertificateRelation", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "elasticloadbalancing:DescribeListenerCertificates", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "iam:CreateServiceLinkedRole", "iam:ListRoles", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ] + "permissions" : [ "ec2:DescribeVerifiedAccessEndpoints", "ec2:DescribeTags", "acm:CreateCertificateRelation", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", "ec2:ModifyVerifiedAccessEndpointPolicy", "elasticloadbalancing:DescribeListenerCertificates", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "iam:CreateServiceLinkedRole", "iam:ListRoles", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:GetManagedApplicationInstance", "sso:GetPeregrineStatus", "sso:GetSharedSsoConfiguration", "kms:DescribeKey", "kms:RetireGrant", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ecs-service.json b/aws-cloudformation-schema/aws-ecs-service.json index 63e308d7d0..8c66e7ca89 100644 --- a/aws-cloudformation-schema/aws-ecs-service.json +++ b/aws-cloudformation-schema/aws-ecs-service.json @@ -116,7 +116,7 @@ "type" : "string" }, "LoadBalancerName" : { - "description" : "The name of the load balancer to associate with the Amazon ECS service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.", + "description" : "The name of the load balancer to associate with the service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.", "type" : "string" }, "ContainerName" : { @@ -294,7 +294,7 @@ "required" : [ "Type" ] }, "ServiceManagedEBSVolumeConfiguration" : { - "description" : "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", + "description" : "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. For information about the supported launch types and operating systems, see [Supported operating systems and launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volumes-configuration) in the*Amazon Elastic Container Service Developer Guide*.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", "additionalProperties" : false, "type" : "object", "required" : [ "RoleArn" ], @@ -319,7 +319,7 @@ } }, "FilesystemType" : { - "description" : "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.", + "description" : "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available Linux filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n The available Windows filesystem types are ``NTFS``.", "type" : "string" }, "Encrypted" : { @@ -442,7 +442,7 @@ "required" : [ "Enable", "Rollback" ] }, "DeploymentConfiguration" : { - "description" : "Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.", + "description" : "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods.", "additionalProperties" : false, "type" : "object", "properties" : { @@ -647,7 +647,7 @@ "type" : "string" }, "DeploymentConfiguration" : { - "description" : "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", + "description" : "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods.", "$ref" : "#/definitions/DeploymentConfiguration" } } diff --git a/aws-cloudformation-schema/aws-efs-accesspoint.json b/aws-cloudformation-schema/aws-efs-accesspoint.json index 4cdf1a9141..c4d95aa39e 100644 --- a/aws-cloudformation-schema/aws-efs-accesspoint.json +++ b/aws-cloudformation-schema/aws-efs-accesspoint.json @@ -128,8 +128,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/AccessPointTags" + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/AccessPointTags", + "permissions" : [ "elasticfilesystem:TagResource", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:UntagResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-efs-filesystem.json b/aws-cloudformation-schema/aws-efs-filesystem.json index 10b829bfff..ce6cf173e2 100644 --- a/aws-cloudformation-schema/aws-efs-filesystem.json +++ b/aws-cloudformation-schema/aws-efs-filesystem.json @@ -190,8 +190,9 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/FileSystemTags" + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/FileSystemTags", + "permissions" : [ "elasticfilesystem:TagResource", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:UntagResource", "elasticfilesystem:DeleteTags" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-elasticbeanstalk-environment.json b/aws-cloudformation-schema/aws-elasticbeanstalk-environment.json index 8af7b8c1db..b9df47c417 100644 --- a/aws-cloudformation-schema/aws-elasticbeanstalk-environment.json +++ b/aws-cloudformation-schema/aws-elasticbeanstalk-environment.json @@ -1,5 +1,6 @@ { "tagging" : { + "permissions" : [ "elasticbeanstalk:AddTags", "elasticbeanstalk:RemoveTags", "elasticbeanstalk:ListTagsForResource" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, @@ -22,7 +23,7 @@ "timeoutInMinutes" : 120 }, "update" : { - "permissions" : [ "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:UpdateEnvironment", "elasticbeanstalk:UpdateTagsForResource", "elasticbeanstalk:AssociateEnvironmentOperationsRole", "elasticbeanstalk:DisassociateEnvironmentOperationsRole", "elasticbeanstalk:AddTags", "elasticbeanstalk:ListTagsForResource", "iam:PassRole" ], + "permissions" : [ "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:UpdateEnvironment", "elasticbeanstalk:AssociateEnvironmentOperationsRole", "elasticbeanstalk:DisassociateEnvironmentOperationsRole", "elasticbeanstalk:AddTags", "elasticbeanstalk:ListTagsForResource", "elasticbeanstalk:RemoveTags", "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:ListBucket", "s3:PutBucketPolicy", "iam:PassRole" ], "timeoutInMinutes" : 300 }, "list" : { diff --git a/aws-cloudformation-schema/aws-elasticloadbalancingv2-loadbalancer.json b/aws-cloudformation-schema/aws-elasticloadbalancingv2-loadbalancer.json index d102b0ae34..ce483ed896 100644 --- a/aws-cloudformation-schema/aws-elasticloadbalancingv2-loadbalancer.json +++ b/aws-cloudformation-schema/aws-elasticloadbalancingv2-loadbalancer.json @@ -1,181 +1,189 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2", - "documentationUrl" : "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html", - "tagging" : { - "permissions" : [ "elasticloadbalancing:AddTags", "elasticloadbalancing:DescribeTags", "elasticloadbalancing:RemoveTags" ], - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : false - }, - "handlers" : { - "read" : { - "permissions" : [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeTags" ] - }, - "create" : { - "permissions" : [ "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:ModifyLoadBalancerAttributes", "elasticloadbalancing:AddTags" ], - "timeoutInMinutes" : 30 - }, - "update" : { - "permissions" : [ "elasticloadbalancing:ModifyLoadBalancerAttributes", "elasticloadbalancing:SetSubnets", "elasticloadbalancing:SetIpAddressType", "elasticloadbalancing:SetSecurityGroups", "elasticloadbalancing:AddTags", "elasticloadbalancing:RemoveTags" ] - }, - "list" : { - "permissions" : [ "elasticloadbalancing:DescribeLoadBalancers" ] - }, - "delete" : { - "permissions" : [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DeleteLoadBalancer" ] - } - }, "typeName" : "AWS::ElasticLoadBalancingV2::LoadBalancer", - "readOnlyProperties" : [ "/properties/LoadBalancerName", "/properties/LoadBalancerFullName", "/properties/CanonicalHostedZoneID", "/properties/LoadBalancerArn", "/properties/DNSName" ], "description" : "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "createOnlyProperties" : [ "/properties/Name", "/properties/Type", "/properties/Scheme" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2", + "documentationUrl" : "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html", "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/LoadBalancerArn" ], - "definitions" : { - "SubnetMapping" : { - "description" : "Specifies a subnet for a load balancer.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "AllocationId" : { - "description" : "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.", - "type" : "string" - }, - "IPv6Address" : { - "description" : "[Network Load Balancers] The IPv6 address.", - "type" : "string" - }, - "SubnetId" : { - "description" : "The ID of the subnet.", - "type" : "string" - }, - "PrivateIPv4Address" : { - "description" : "[Network Load Balancers] The private IPv4 address for an internal load balancer.", - "type" : "string" - } - }, - "required" : [ "SubnetId" ] - }, - "LoadBalancerAttribute" : { - "description" : "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Value" : { - "description" : "The value of the attribute.", - "type" : "string" - }, - "Key" : { - "description" : "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.", - "type" : "string" - } - } - }, - "Tag" : { - "description" : "Information about a tag.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Value" : { - "description" : "The value of the tag.", - "type" : "string" - }, - "Key" : { - "description" : "The key of the tag.", - "type" : "string" - } - }, - "required" : [ "Key" ] - } - }, "properties" : { "IpAddressType" : { - "description" : "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", - "type" : "string" + "type" : "string", + "description" : "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses)." + }, + "EnablePrefixForIpv6SourceNat" : { + "type" : "string", + "description" : "" }, "SecurityGroups" : { - "uniqueItems" : true, + "type" : "array", "description" : "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", + "uniqueItems" : true, "insertionOrder" : false, - "type" : "array", "items" : { "type" : "string" } }, "LoadBalancerAttributes" : { - "arrayType" : "AttributeList", - "uniqueItems" : true, + "type" : "array", "description" : "The load balancer attributes.", + "uniqueItems" : true, "insertionOrder" : false, - "type" : "array", + "arrayType" : "AttributeList", "items" : { "$ref" : "#/definitions/LoadBalancerAttribute" } }, "Scheme" : { - "description" : "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.", - "type" : "string" + "type" : "string", + "description" : "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer." }, "DNSName" : { - "description" : "", - "type" : "string" + "type" : "string", + "description" : "" }, "Name" : { - "description" : "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.", - "type" : "string" + "type" : "string", + "description" : "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name." }, "LoadBalancerName" : { - "description" : "", - "type" : "string" + "type" : "string", + "description" : "" + }, + "LoadBalancerFullName" : { + "type" : "string", + "description" : "" }, "Subnets" : { - "uniqueItems" : true, + "type" : "array", "description" : "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", + "uniqueItems" : true, "insertionOrder" : false, - "type" : "array", "items" : { "type" : "string" } }, "Type" : { - "description" : "The type of load balancer. The default is ``application``.", - "type" : "string" + "type" : "string", + "description" : "The type of load balancer. The default is ``application``." }, "CanonicalHostedZoneID" : { - "description" : "", - "type" : "string" - }, - "LoadBalancerArn" : { - "description" : "", - "type" : "string" - }, - "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic" : { - "description" : "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.", - "type" : "string" + "type" : "string", + "description" : "" }, "Tags" : { - "uniqueItems" : false, + "type" : "array", "description" : "The tags to assign to the load balancer.", + "uniqueItems" : false, "insertionOrder" : false, - "type" : "array", "items" : { "$ref" : "#/definitions/Tag" } }, - "LoadBalancerFullName" : { - "description" : "", - "type" : "string" + "LoadBalancerArn" : { + "type" : "string", + "description" : "" }, "SubnetMappings" : { - "uniqueItems" : true, + "type" : "array", "description" : "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.", + "uniqueItems" : true, "insertionOrder" : false, - "type" : "array", "items" : { "$ref" : "#/definitions/SubnetMapping" } + }, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic" : { + "type" : "string", + "description" : "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink." + } + }, + "definitions" : { + "SubnetMapping" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "SubnetId" : { + "type" : "string", + "description" : "The ID of the subnet." + }, + "AllocationId" : { + "type" : "string", + "description" : "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer." + }, + "PrivateIPv4Address" : { + "type" : "string", + "description" : "[Network Load Balancers] The private IPv4 address for an internal load balancer." + }, + "IPv6Address" : { + "type" : "string", + "description" : "[Network Load Balancers] The IPv6 address." + }, + "SourceNatIpv6Prefix" : { + "type" : "string", + "description" : "" + } + }, + "required" : [ "SubnetId" ], + "description" : "Specifies a subnet for a load balancer." + }, + "LoadBalancerAttribute" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Value" : { + "type" : "string", + "description" : "The value of the attribute." + }, + "Key" : { + "type" : "string", + "description" : "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``." + } + }, + "description" : "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer." + }, + "Tag" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Value" : { + "type" : "string", + "description" : "The value of the tag." + }, + "Key" : { + "type" : "string", + "description" : "The key of the tag." + } + }, + "required" : [ "Key" ], + "description" : "Information about a tag." + } + }, + "createOnlyProperties" : [ "/properties/Name", "/properties/Type", "/properties/Scheme" ], + "primaryIdentifier" : [ "/properties/LoadBalancerArn" ], + "readOnlyProperties" : [ "/properties/LoadBalancerName", "/properties/LoadBalancerFullName", "/properties/CanonicalHostedZoneID", "/properties/LoadBalancerArn", "/properties/DNSName" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "elasticloadbalancing:AddTags", "elasticloadbalancing:DescribeTags", "elasticloadbalancing:RemoveTags" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:ModifyLoadBalancerAttributes", "elasticloadbalancing:AddTags" ], + "timeoutInMinutes" : 30 + }, + "delete" : { + "permissions" : [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DeleteLoadBalancer" ] + }, + "list" : { + "permissions" : [ "elasticloadbalancing:DescribeLoadBalancers" ] + }, + "read" : { + "permissions" : [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeTags" ] + }, + "update" : { + "permissions" : [ "elasticloadbalancing:ModifyLoadBalancerAttributes", "elasticloadbalancing:SetSubnets", "elasticloadbalancing:SetIpAddressType", "elasticloadbalancing:SetSecurityGroups", "elasticloadbalancing:AddTags", "elasticloadbalancing:RemoveTags" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-inspectorv2-cisscanconfiguration.json b/aws-cloudformation-schema/aws-inspectorv2-cisscanconfiguration.json index c70d173074..3770837696 100644 --- a/aws-cloudformation-schema/aws-inspectorv2-cisscanconfiguration.json +++ b/aws-cloudformation-schema/aws-inspectorv2-cisscanconfiguration.json @@ -107,7 +107,7 @@ } }, "additionalProperties" : false, - "required" : [ "AccountIds" ] + "required" : [ "AccountIds", "TargetResourceTags" ] }, "TargetResourceTags" : { "patternProperties" : { diff --git a/aws-cloudformation-schema/aws-iotsitewise-dashboard.json b/aws-cloudformation-schema/aws-iotsitewise-dashboard.json index a6aba82562..efa9e75d00 100644 --- a/aws-cloudformation-schema/aws-iotsitewise-dashboard.json +++ b/aws-cloudformation-schema/aws-iotsitewise-dashboard.json @@ -54,7 +54,14 @@ } }, "additionalProperties" : false, - "taggable" : true, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iotsitewise:TagResource", "iotsitewise:UntagResource", "iotsitewise:ListTagsForResource" ] + }, "required" : [ "DashboardDefinition", "DashboardDescription", "DashboardName" ], "readOnlyProperties" : [ "/properties/DashboardArn", "/properties/DashboardId" ], "createOnlyProperties" : [ "/properties/ProjectId" ], @@ -74,7 +81,7 @@ "permissions" : [ "iotsitewise:DescribeDashboard", "iotsitewise:DeleteDashboard" ] }, "list" : { - "permissions" : [ "iotsitewise:ListDashboards" ] + "permissions" : [ "iotsitewise:ListDashboards", "iotsitewise:ListTagsForResource" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-iotsitewise-project.json b/aws-cloudformation-schema/aws-iotsitewise-project.json index d21d2e0f67..b1a305517a 100644 --- a/aws-cloudformation-schema/aws-iotsitewise-project.json +++ b/aws-cloudformation-schema/aws-iotsitewise-project.json @@ -62,7 +62,14 @@ } }, "additionalProperties" : false, - "taggable" : true, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iotsitewise:TagResource", "iotsitewise:UntagResource", "iotsitewise:ListTagsForResource" ] + }, "required" : [ "PortalId", "ProjectName" ], "readOnlyProperties" : [ "/properties/ProjectId", "/properties/ProjectArn" ], "createOnlyProperties" : [ "/properties/PortalId" ], @@ -81,7 +88,7 @@ "permissions" : [ "iotsitewise:DescribeProject", "iotsitewise:DeleteProject" ] }, "list" : { - "permissions" : [ "iotsitewise:ListProjects" ] + "permissions" : [ "iotsitewise:ListProjects", "iotsitewise:ListTagsForResource" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-iotwireless-partneraccount.json b/aws-cloudformation-schema/aws-iotwireless-partneraccount.json index f912c335ff..2098b81ad1 100644 --- a/aws-cloudformation-schema/aws-iotwireless-partneraccount.json +++ b/aws-cloudformation-schema/aws-iotwireless-partneraccount.json @@ -115,10 +115,17 @@ "writeOnlyProperties" : [ "/properties/SidewalkUpdate", "/properties/Sidewalk" ], "createOnlyProperties" : [ "/properties/PartnerAccountId" ], "primaryIdentifier" : [ "/properties/PartnerAccountId" ], - "taggable" : true, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iotwireless:TagResource", "iotwireless:UntagResource", "iotwireless:ListTagsForResource" ] + }, "handlers" : { "create" : { - "permissions" : [ "iotwireless:AssociateAwsAccountWithPartnerAccount", "iotwireless:TagResource", "iotwireless:ListTagsForResource" ] + "permissions" : [ "iotwireless:AssociateAwsAccountWithPartnerAccount", "iotwireless:TagResource", "iotwireless:GetPartnerAccount" ] }, "read" : { "permissions" : [ "iotwireless:GetPartnerAccount", "iotwireless:ListTagsForResource" ] @@ -127,7 +134,7 @@ "permissions" : [ "iotwireless:ListPartnerAccounts", "iotwireless:ListTagsForResource" ] }, "update" : { - "permissions" : [ "iotwireless:UpdatePartnerAccount", "iotwireless:UntagResource", "iotwireless:ListTagsForResource" ] + "permissions" : [ "iotwireless:GetPartnerAccount", "iotwireless:AssociateAwsAccountWithPartnerAccount", "iotwireless:UpdatePartnerAccount", "iotwireless:ListTagsForResource", "iotwireless:TagResource", "iotwireless:UntagResource" ] }, "delete" : { "permissions" : [ "iotwireless:DisassociateAwsAccountFromPartnerAccount" ] diff --git a/aws-cloudformation-schema/aws-iotwireless-wirelessdeviceimporttask.json b/aws-cloudformation-schema/aws-iotwireless-wirelessdeviceimporttask.json index 66eb217813..4e2929496b 100644 --- a/aws-cloudformation-schema/aws-iotwireless-wirelessdeviceimporttask.json +++ b/aws-cloudformation-schema/aws-iotwireless-wirelessdeviceimporttask.json @@ -77,16 +77,7 @@ "Role" : { "$ref" : "#/definitions/Role" } - }, - "oneOf" : [ { - "allOf" : [ { - "required" : [ "DeviceCreationFile" ] - }, { - "required" : [ "Role" ] - } ] - }, { - "required" : [ "SidewalkManufacturingSn" ] - } ] + } }, "Status" : { "description" : "Status for import task", @@ -127,9 +118,10 @@ "tagging" : { "taggable" : true, "tagOnCreate" : true, - "tagUpdatable" : false, - "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iotwireless:TagResource", "iotwireless:UntagResource", "iotwireless:ListTagsForResource" ] }, "required" : [ "DestinationName", "Sidewalk" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/CreationDate", "/properties/Status", "/properties/StatusReason", "/properties/InitializedImportedDevicesCount", "/properties/PendingImportedDevicesCount", "/properties/OnboardedImportedDevicesCount", "/properties/FailedImportedDevicesCount", "/properties/Sidewalk/DeviceCreationFileList" ], @@ -137,13 +129,13 @@ "primaryIdentifier" : [ "/properties/Id" ], "handlers" : { "create" : { - "permissions" : [ "iotwireless:StartWirelessDeviceImportTask", "iotwireless:StartSingleWirelessDeviceImportTask", "iotwireless:TagResource", "iotwireless:ListTagsForResource", "iam:PassRole" ] + "permissions" : [ "iotwireless:StartWirelessDeviceImportTask", "iotwireless:StartSingleWirelessDeviceImportTask", "iotwireless:TagResource", "iam:PassRole" ] }, "read" : { "permissions" : [ "iotwireless:GetWirelessDeviceImportTask", "iotwireless:ListTagsForResource" ] }, "update" : { - "permissions" : [ "iotwireless:UpdateWirelessDeviceImportTask", "iotwireless:UntagResource", "iotwireless:ListTagsForResource", "iam:PassRole" ] + "permissions" : [ "iotwireless:GetWirelessDeviceImportTask", "iotwireless:UpdateWirelessDeviceImportTask", "iotwireless:TagResource", "iotwireless:UntagResource", "iam:PassRole" ] }, "delete" : { "permissions" : [ "iotwireless:DeleteWirelessDeviceImportTask" ] diff --git a/aws-cloudformation-schema/aws-logs-delivery.json b/aws-cloudformation-schema/aws-logs-delivery.json index ea6fcbf77a..76cb3866b7 100644 --- a/aws-cloudformation-schema/aws-logs-delivery.json +++ b/aws-cloudformation-schema/aws-logs-delivery.json @@ -29,6 +29,12 @@ "minLength" : 16, "maxLength" : 2048, "pattern" : "[\\w#+=/:,.@-]*\\*?" + }, + "FieldHeader" : { + "description" : "A single record field to be delivered to the destination.", + "type" : "string", + "minLength" : 1, + "maxLength" : 50 } }, "properties" : { @@ -69,6 +75,29 @@ "items" : { "$ref" : "#/definitions/Tag" } + }, + "RecordFields" : { + "description" : "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list.", + "type" : "array", + "items" : { + "$ref" : "#/definitions/FieldHeader" + } + }, + "FieldDelimiter" : { + "description" : "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format.", + "type" : "string", + "minLength" : 1, + "maxLength" : 5 + }, + "S3SuffixPath" : { + "description" : "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source.", + "type" : "string", + "minLength" : 0, + "maxLength" : 256 + }, + "S3EnableHiveCompatiblePath" : { + "description" : "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive.", + "type" : "boolean" } }, "additionalProperties" : false, diff --git a/aws-cloudformation-schema/aws-logs-deliverydestination.json b/aws-cloudformation-schema/aws-logs-deliverydestination.json index 85dc2bb792..8d43c86c03 100644 --- a/aws-cloudformation-schema/aws-logs-deliverydestination.json +++ b/aws-cloudformation-schema/aws-logs-deliverydestination.json @@ -88,11 +88,18 @@ "items" : { "$ref" : "#/definitions/DestinationPolicy" } + }, + "OutputFormat" : { + "description" : "The format of the logs that are sent to this delivery destination.", + "type" : "string", + "minLength" : 1, + "maxLength" : 12, + "pattern" : "^[0-9A-Za-z]+$" } }, "additionalProperties" : false, "required" : [ "Name" ], - "createOnlyProperties" : [ "/properties/Name", "/properties/DestinationResourceArn" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/OutputFormat", "/properties/DestinationResourceArn" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/DeliveryDestinationType" ], "primaryIdentifier" : [ "/properties/Name" ], "handlers" : { diff --git a/aws-cloudformation-schema/aws-medialive-channelplacementgroup.json b/aws-cloudformation-schema/aws-medialive-channelplacementgroup.json index 0b9fd400e3..4ad365a9f8 100644 --- a/aws-cloudformation-schema/aws-medialive-channelplacementgroup.json +++ b/aws-cloudformation-schema/aws-medialive-channelplacementgroup.json @@ -72,21 +72,21 @@ "primaryIdentifier" : [ "/properties/Id", "/properties/ClusterId" ], "tagging" : { "taggable" : true, - "tagOnCreate" : false, - "tagUpdatable" : false, + "tagOnCreate" : true, + "tagUpdatable" : true, "cloudFormationSystemTags" : false, "tagProperty" : "/properties/Tags", "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] }, "handlers" : { "create" : { - "permissions" : [ "medialive:CreateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", "medialive:CreateTags" ] + "permissions" : [ "medialive:CreateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", "medialive:CreateTags", "medialive:ListTagsForResource" ] }, "read" : { - "permissions" : [ "medialive:DescribeChannelPlacementGroup" ] + "permissions" : [ "medialive:DescribeChannelPlacementGroup", "medialive:ListTagsForResource" ] }, "update" : { - "permissions" : [ "medialive:UpdateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", "medialive:CreateTags", "medialive:DeleteTags" ] + "permissions" : [ "medialive:UpdateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", "medialive:CreateTags", "medialive:DeleteTags", "medialive:ListTagsForResource" ] }, "delete" : { "permissions" : [ "medialive:DeleteChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup" ] diff --git a/aws-cloudformation-schema/aws-medialive-cluster.json b/aws-cloudformation-schema/aws-medialive-cluster.json index a050b1ed25..d846cff099 100644 --- a/aws-cloudformation-schema/aws-medialive-cluster.json +++ b/aws-cloudformation-schema/aws-medialive-cluster.json @@ -134,13 +134,13 @@ "primaryIdentifier" : [ "/properties/Id" ], "handlers" : { "create" : { - "permissions" : [ "medialive:CreateCluster", "medialive:DescribeCluster", "medialive:CreateTags", "ecs:CreateCluster", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:CreateService", "iam:PassRole" ] + "permissions" : [ "medialive:CreateCluster", "medialive:DescribeCluster", "medialive:CreateTags", "ecs:CreateCluster", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:CreateService", "iam:PassRole", "medialive:ListTagsForResource" ] }, "read" : { - "permissions" : [ "medialive:DescribeCluster" ] + "permissions" : [ "medialive:DescribeCluster", "medialive:ListTagsForResource" ] }, "update" : { - "permissions" : [ "medialive:UpdateCluster", "medialive:DescribeCluster", "medialive:CreateTags", "medialive:DeleteTags" ] + "permissions" : [ "medialive:UpdateCluster", "medialive:DescribeCluster", "medialive:CreateTags", "medialive:DeleteTags", "medialive:ListTagsForResource" ] }, "delete" : { "permissions" : [ "medialive:DeleteCluster", "medialive:DescribeCluster" ] diff --git a/aws-cloudformation-schema/aws-medialive-network.json b/aws-cloudformation-schema/aws-medialive-network.json index ec649295c7..7a0563429c 100644 --- a/aws-cloudformation-schema/aws-medialive-network.json +++ b/aws-cloudformation-schema/aws-medialive-network.json @@ -108,13 +108,13 @@ }, "handlers" : { "create" : { - "permissions" : [ "medialive:CreateNetwork", "medialive:CreateTags" ] + "permissions" : [ "medialive:CreateNetwork", "medialive:CreateTags", "medialive:DescribeNetwork", "medialive:ListTagsForResource" ] }, "read" : { - "permissions" : [ "medialive:DescribeNetwork" ] + "permissions" : [ "medialive:DescribeNetwork", "medialive:ListTagsForResource" ] }, "update" : { - "permissions" : [ "medialive:UpdateNetwork", "medialive:CreateTags", "medialive:DeleteTags", "medialive:DescribeNetwork" ] + "permissions" : [ "medialive:UpdateNetwork", "medialive:CreateTags", "medialive:DeleteTags", "medialive:DescribeNetwork", "medialive:ListTagsForResource" ] }, "delete" : { "permissions" : [ "medialive:DeleteNetwork", "medialive:DescribeNetwork" ] diff --git a/aws-cloudformation-schema/aws-medialive-sdisource.json b/aws-cloudformation-schema/aws-medialive-sdisource.json index fcc618fe20..144e3ef1ba 100644 --- a/aws-cloudformation-schema/aws-medialive-sdisource.json +++ b/aws-cloudformation-schema/aws-medialive-sdisource.json @@ -83,13 +83,13 @@ }, "handlers" : { "create" : { - "permissions" : [ "medialive:CreateSdiSource", "medialive:CreateTags" ] + "permissions" : [ "medialive:CreateSdiSource", "medialive:CreateTags", "medialive:DescribeSdiSource", "medialive:ListTagsForResource" ] }, "read" : { - "permissions" : [ "medialive:DescribeSdiSource" ] + "permissions" : [ "medialive:DescribeSdiSource", "medialive:ListTagsForResource" ] }, "update" : { - "permissions" : [ "medialive:UpdateSdiSource", "medialive:DescribeSdiSource", "medialive:CreateTags", "medialive:DeleteTags" ] + "permissions" : [ "medialive:UpdateSdiSource", "medialive:DescribeSdiSource", "medialive:CreateTags", "medialive:DeleteTags", "medialive:ListTagsForResource" ] }, "delete" : { "permissions" : [ "medialive:DeleteSdiSource", "medialive:DescribeSdiSource" ] diff --git a/aws-cloudformation-schema/aws-nimblestudio-launchprofile.json b/aws-cloudformation-schema/aws-nimblestudio-launchprofile.json index 494696e99b..c48f081f8b 100644 --- a/aws-cloudformation-schema/aws-nimblestudio-launchprofile.json +++ b/aws-cloudformation-schema/aws-nimblestudio-launchprofile.json @@ -1,272 +1,158 @@ { "typeName" : "AWS::NimbleStudio::LaunchProfile", - "description" : "Represents a launch profile which delegates access to a collection of studio components to studio users", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", - "definitions" : { - "AutomaticTerminationMode" : { - "type" : "string", - "enum" : [ "DEACTIVATED", "ACTIVATED" ] + "description" : "Resource Type definition for AWS::NimbleStudio::LaunchProfile", + "additionalProperties" : false, + "properties" : { + "Description" : { + "type" : "string" }, - "SessionBackupMode" : { - "type" : "string", - "enum" : [ "AUTOMATIC", "DEACTIVATED" ] + "Ec2SubnetIds" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string" + } }, - "SessionPersistenceMode" : { - "type" : "string", - "enum" : [ "DEACTIVATED", "ACTIVATED" ] + "StudioComponentIds" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string" + } }, "StreamConfiguration" : { + "$ref" : "#/definitions/StreamConfiguration" + }, + "LaunchProfileProtocolVersions" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string" + } + }, + "StudioId" : { + "type" : "string" + }, + "LaunchProfileId" : { + "type" : "string" + }, + "Tags" : { + "type" : "object", + "patternProperties" : { + "[a-zA-Z0-9]+" : { + "type" : "string" + } + } + }, + "Name" : { + "type" : "string" + } + }, + "definitions" : { + "StreamingSessionStorageRoot" : { "type" : "object", - "description" : "
A configuration for a streaming session.
", + "additionalProperties" : false, "properties" : { - "ClipboardMode" : { - "$ref" : "#/definitions/StreamingClipboardMode" + "Linux" : { + "type" : "string" }, - "Ec2InstanceTypes" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/StreamingInstanceType" - }, - "maxItems" : 30, - "minItems" : 1, - "description" : "The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.
" + "Windows" : { + "type" : "string" + } + } + }, + "StreamConfigurationSessionBackup" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Mode" : { + "type" : "string" }, + "MaxBackupsToRetain" : { + "type" : "number" + } + } + }, + "StreamConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { "MaxSessionLengthInMinutes" : { - "type" : "number", - "default" : 690, - "maximum" : 43200, - "minimum" : 1, - "description" : "The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.
" + "type" : "number" + }, + "ClipboardMode" : { + "type" : "string" }, "StreamingImageIds" : { "type" : "array", + "uniqueItems" : false, "items" : { - "type" : "string", - "maxLength" : 22, - "minLength" : 0, - "pattern" : "^[a-zA-Z0-9-_]*$" - }, - "maxItems" : 20, - "minItems" : 1, - "description" : "The streaming images that users can select from when launching a streaming session\n with this launch profile.
" + "type" : "string" + } }, "MaxStoppedSessionLengthInMinutes" : { - "type" : "number", - "default" : 0, - "maximum" : 5760, - "minimum" : 0, - "description" : "Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED
state. The default value is 0. The maximum value is\n 5760.
This field is allowed only when sessionPersistenceMode
is\n ACTIVATED
and automaticTerminationMode
is\n ACTIVATED
.
If the value is set to 0, your sessions can’t be STOPPED
. If you then\n call StopStreamingSession
, the session fails. If the time that a session\n stays in the READY
state exceeds the maxSessionLengthInMinutes
\n value, the session will automatically be terminated (instead of\n STOPPED
).
If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession
to stop sessions in the READY
state.\n If the time that a session stays in the READY
state exceeds the\n maxSessionLengthInMinutes
value, the session will automatically be\n stopped (instead of terminated).
Configures how streaming sessions are backed up when launched from this launch\n profile.
", + "additionalProperties" : false, "properties" : { - "Mode" : { - "$ref" : "#/definitions/SessionBackupMode" + "Throughput" : { + "type" : "number" }, - "MaxBackupsToRetain" : { - "type" : "number", - "default" : 0, - "maximum" : 10, - "minimum" : 0, - "description" : "The maximum number of backups that each streaming session created from this launch\n profile can have.
" + "Iops" : { + "type" : "number" + }, + "Size" : { + "type" : "number" } - }, - "additionalProperties" : false + } }, "StreamConfigurationSessionStorage" : { "type" : "object", - "description" : "The configuration for a streaming session’s upload storage.
", + "additionalProperties" : false, "properties" : { "Root" : { "$ref" : "#/definitions/StreamingSessionStorageRoot" }, "Mode" : { "type" : "array", + "uniqueItems" : false, "items" : { - "$ref" : "#/definitions/StreamingSessionStorageMode" - }, - "minItems" : 1, - "description" : "Allows artists to upload files to their workstations. The only valid option is\n UPLOAD
.
The upload storage root location (folder) on streaming workstations where files are\n uploaded.
", - "properties" : { - "Linux" : { - "type" : "string", - "maxLength" : 128, - "minLength" : 1, - "pattern" : "^(\\$HOME|/)[/]?([A-Za-z0-9-_]+/)*([A-Za-z0-9_-]+)$", - "description" : "The folder path in Linux workstations where files are uploaded.
" - }, - "Windows" : { - "type" : "string", - "maxLength" : 128, - "minLength" : 1, - "pattern" : "^((\\%HOMEPATH\\%)|[a-zA-Z]:)[\\\\/](?:[a-zA-Z0-9_-]+[\\\\/])*[a-zA-Z0-9_-]+$", - "description" : "The folder path in Windows workstations where files are uploaded.
" - } - }, - "additionalProperties" : false - }, - "Tags" : { - "type" : "object", - "patternProperties" : { - ".+" : { - "type" : "string" - } - }, - "additionalProperties" : false - }, - "VolumeConfiguration" : { - "type" : "object", - "description" : "Custom volume configuration for the root volumes that are attached to streaming\n sessions.
\nThis parameter is only allowed when sessionPersistenceMode
is\n ACTIVATED
.
The size of the root volume that is attached to the streaming session. The root volume\n size is measured in GiBs.
" - }, - "Throughput" : { - "type" : "number", - "default" : 125, - "maximum" : 1000, - "minimum" : 125, - "description" : "The throughput to provision for the root volume that is attached to the streaming\n session. The throughput is measured in MiB/s.
" - }, - "Iops" : { - "type" : "number", - "default" : 3000, - "maximum" : 16000, - "minimum" : 3000, - "description" : "The number of I/O operations per second for the root volume that is attached to\n streaming session.
" + "type" : "string" + } } }, - "additionalProperties" : false - } - }, - "properties" : { - "Description" : { - "type" : "string", - "maxLength" : 256, - "minLength" : 0, - "description" : "The description.
" - }, - "Ec2SubnetIds" : { - "type" : "array", - "items" : { - "type" : "string" - }, - "maxItems" : 6, - "minItems" : 0, - "description" : "Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types.
" - }, - "LaunchProfileId" : { - "type" : "string" - }, - "LaunchProfileProtocolVersions" : { - "type" : "array", - "items" : { - "type" : "string", - "maxLength" : 10, - "minLength" : 0, - "pattern" : "^2021\\-03\\-31$", - "description" : "The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".
" - }, - "description" : "The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".
" - }, - "Name" : { - "type" : "string", - "maxLength" : 64, - "minLength" : 1, - "description" : "The name for the launch profile.
" - }, - "StreamConfiguration" : { - "$ref" : "#/definitions/StreamConfiguration" - }, - "StudioComponentIds" : { - "type" : "array", - "items" : { - "type" : "string" - }, - "maxItems" : 100, - "minItems" : 1, - "description" : "Unique identifiers for a collection of studio components that can be used with this\n launch profile.
" - }, - "StudioId" : { - "type" : "string", - "description" : "The studio ID.
" - }, - "Tags" : { - "$ref" : "#/definitions/Tags" + "required" : [ "Mode" ] } }, - "required" : [ "StudioId", "Name", "StudioComponentIds", "Ec2SubnetIds", "StreamConfiguration", "LaunchProfileProtocolVersions" ], - "readOnlyProperties" : [ "/properties/LaunchProfileId" ], + "required" : [ "Ec2SubnetIds", "StudioComponentIds", "StreamConfiguration", "LaunchProfileProtocolVersions", "StudioId", "Name" ], "createOnlyProperties" : [ "/properties/Ec2SubnetIds", "/properties/StudioId", "/properties/Tags" ], - "primaryIdentifier" : [ "/properties/LaunchProfileId", "/properties/StudioId" ], - "handlers" : { - "create" : { - "permissions" : [ "nimble:CreateLaunchProfile", "nimble:GetLaunchProfile", "nimble:TagResource", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:RunInstances", "ec2:DescribeSubnets" ] - }, - "read" : { - "permissions" : [ "nimble:GetLaunchProfile" ] - }, - "update" : { - "permissions" : [ "nimble:UpdateLaunchProfile", "nimble:GetLaunchProfile", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DescribeSubnets", "ec2:RunInstances" ] - }, - "delete" : { - "permissions" : [ "nimble:DeleteLaunchProfile", "nimble:GetLaunchProfile", "nimble:UntagResource" ] - }, - "list" : { - "handlerSchema" : { - "properties" : { - "StudioId" : { - "$ref" : "resource-schema.json#/properties/StudioId" - } - }, - "required" : [ "StudioId" ] - }, - "permissions" : [ "nimble:ListLaunchProfiles" ] - } - }, - "additionalProperties" : false + "primaryIdentifier" : [ "/properties/LaunchProfileId" ], + "readOnlyProperties" : [ "/properties/LaunchProfileId" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-nimblestudio-streamingimage.json b/aws-cloudformation-schema/aws-nimblestudio-streamingimage.json index 6a9ca0e6af..a5e01bdc48 100644 --- a/aws-cloudformation-schema/aws-nimblestudio-streamingimage.json +++ b/aws-cloudformation-schema/aws-nimblestudio-streamingimage.json @@ -1,117 +1,71 @@ { "typeName" : "AWS::NimbleStudio::StreamingImage", - "description" : "Represents a streaming session machine image that can be used to launch a streaming session", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", - "definitions" : { - "StreamingImageEncryptionConfiguration" : { - "type" : "object", - "description" : "TODO
", - "properties" : { - "KeyType" : { - "$ref" : "#/definitions/StreamingImageEncryptionConfigurationKeyType" - }, - "KeyArn" : { - "type" : "string", - "minLength" : 4, - "pattern" : "^arn:.*", - "description" : "The ARN for a KMS key that is used to encrypt studio data.
" - } - }, - "required" : [ "KeyType" ], - "additionalProperties" : false - }, - "StreamingImageEncryptionConfigurationKeyType" : { - "type" : "string", - "description" : "", - "enum" : [ "CUSTOMER_MANAGED_KEY" ] - }, - "Tags" : { - "type" : "object", - "description" : "", - "patternProperties" : { - ".+" : { - "type" : "string" - } - }, - "additionalProperties" : false - } - }, + "description" : "Resource Type definition for AWS::NimbleStudio::StreamingImage", + "additionalProperties" : false, "properties" : { + "Owner" : { + "type" : "string" + }, "Description" : { - "type" : "string", - "maxLength" : 256, - "minLength" : 0, - "description" : "A human-readable description of the streaming image.
" + "type" : "string" }, - "Ec2ImageId" : { - "type" : "string", - "pattern" : "^ami-[0-9A-z]+$", - "description" : "The ID of an EC2 machine image with which to create this streaming image.
" + "Platform" : { + "type" : "string" }, "EncryptionConfiguration" : { "$ref" : "#/definitions/StreamingImageEncryptionConfiguration" }, + "EncryptionConfigurationKeyType" : { + "type" : "string" + }, "EulaIds" : { "type" : "array", + "uniqueItems" : false, "items" : { "type" : "string" - }, - "description" : "The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.
" + } }, - "Name" : { - "type" : "string", - "maxLength" : 64, - "minLength" : 0, - "description" : "A friendly name for a streaming image resource.
" + "Ec2ImageId" : { + "type" : "string" }, - "Owner" : { - "type" : "string", - "description" : "The owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.
" + "StudioId" : { + "type" : "string" }, - "Platform" : { - "type" : "string", - "pattern" : "^[a-zA-Z]*$", - "description" : "The platform of the streaming image, either WINDOWS or LINUX.
" + "EncryptionConfigurationKeyArn" : { + "type" : "string" }, "StreamingImageId" : { "type" : "string" }, - "StudioId" : { - "type" : "string", - "description" : "The studioId.
" - }, "Tags" : { - "$ref" : "#/definitions/Tags" + "type" : "object", + "patternProperties" : { + "[a-zA-Z0-9]+" : { + "type" : "string" + } + } + }, + "Name" : { + "type" : "string" } }, - "readOnlyProperties" : [ "/properties/EncryptionConfiguration", "/properties/EulaIds", "/properties/Owner", "/properties/Platform", "/properties/StreamingImageId" ], - "createOnlyProperties" : [ "/properties/Ec2ImageId", "/properties/StudioId", "/properties/Tags" ], - "primaryIdentifier" : [ "/properties/StudioId", "/properties/StreamingImageId" ], - "required" : [ "StudioId", "Ec2ImageId", "Name" ], - "handlers" : { - "create" : { - "permissions" : [ "nimble:CreateStreamingImage", "nimble:GetStreamingImage", "nimble:TagResource", "ec2:DescribeImages", "ec2:DescribeSnapshots", "ec2:ModifyInstanceAttribute", "ec2:ModifySnapshotAttribute", "ec2:ModifyImageAttribute", "ec2:RegisterImage", "kms:Encrypt", "kms:Decrypt", "kms:CreateGrant", "kms:ListGrants", "kms:GenerateDataKey" ] - }, - "read" : { - "permissions" : [ "nimble:GetStreamingImage" ] - }, - "update" : { - "permissions" : [ "nimble:UpdateStreamingImage", "nimble:GetStreamingImage", "kms:Encrypt", "kms:Decrypt", "kms:CreateGrant", "kms:ListGrants", "kms:GenerateDataKey" ] - }, - "delete" : { - "permissions" : [ "nimble:DeleteStreamingImage", "nimble:GetStreamingImage", "nimble:UntagResource", "ec2:ModifyInstanceAttribute", "ec2:ModifySnapshotAttribute", "ec2:DeregisterImage", "ec2:DeleteSnapshot", "kms:ListGrants", "kms:RetireGrant" ] - }, - "list" : { - "handlerSchema" : { - "properties" : { - "StudioId" : { - "$ref" : "resource-schema.json#/properties/StudioId" - } + "definitions" : { + "StreamingImageEncryptionConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "KeyType" : { + "type" : "string" }, - "required" : [ "StudioId" ] + "KeyArn" : { + "type" : "string" + } }, - "permissions" : [ "nimble:ListStreamingImages" ] + "required" : [ "KeyType" ] } }, - "additionalProperties" : false + "required" : [ "Ec2ImageId", "StudioId", "Name" ], + "createOnlyProperties" : [ "/properties/StudioId", "/properties/Tags", "/properties/Ec2ImageId" ], + "primaryIdentifier" : [ "/properties/StreamingImageId" ], + "readOnlyProperties" : [ "/properties/Platform", "/properties/EulaIds", "/properties/Owner", "/properties/EncryptionConfiguration.KeyArn", "/properties/EncryptionConfiguration", "/properties/EncryptionConfiguration.KeyType", "/properties/StreamingImageId" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-nimblestudio-studio.json b/aws-cloudformation-schema/aws-nimblestudio-studio.json index b33a09d80d..b007297f56 100644 --- a/aws-cloudformation-schema/aws-nimblestudio-studio.json +++ b/aws-cloudformation-schema/aws-nimblestudio-studio.json @@ -1,108 +1,61 @@ { "typeName" : "AWS::NimbleStudio::Studio", - "description" : "Represents a studio that contains other Nimble Studio resources", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", - "definitions" : { - "StudioEncryptionConfiguration" : { - "type" : "object", - "description" : "Configuration of the encryption method that is used for the studio.
", - "properties" : { - "KeyType" : { - "$ref" : "#/definitions/StudioEncryptionConfigurationKeyType" - }, - "KeyArn" : { - "type" : "string", - "minLength" : 4, - "pattern" : "^arn:.*", - "description" : "The ARN for a KMS key that is used to encrypt studio data.
" - } - }, - "required" : [ "KeyType" ], - "additionalProperties" : false + "description" : "Resource Type definition for AWS::NimbleStudio::Studio", + "additionalProperties" : false, + "properties" : { + "UserRoleArn" : { + "type" : "string" }, - "StudioEncryptionConfigurationKeyType" : { - "type" : "string", - "description" : "The type of KMS key that is used to encrypt studio data.
", - "enum" : [ "AWS_OWNED_KEY", "CUSTOMER_MANAGED_KEY" ] + "HomeRegion" : { + "type" : "string" }, - "Tags" : { - "type" : "object", - "description" : "", - "patternProperties" : { - ".+" : { - "type" : "string" - } - }, - "additionalProperties" : false - } - }, - "properties" : { - "AdminRoleArn" : { - "type" : "string", - "description" : "The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.
" + "StudioUrl" : { + "type" : "string" }, "DisplayName" : { - "type" : "string", - "maxLength" : 64, - "minLength" : 0, - "description" : "A friendly name for the studio.
" + "type" : "string" }, - "HomeRegion" : { - "type" : "string", - "maxLength" : 50, - "minLength" : 0, - "pattern" : "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]", - "description" : "The Amazon Web Services Region where the studio resource is located.
" + "StudioName" : { + "type" : "string" }, "SsoClientId" : { - "type" : "string", - "description" : "The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.
" + "type" : "string" }, - "StudioEncryptionConfiguration" : { - "$ref" : "#/definitions/StudioEncryptionConfiguration" + "AdminRoleArn" : { + "type" : "string" }, "StudioId" : { "type" : "string" }, - "StudioName" : { - "type" : "string", - "maxLength" : 64, - "minLength" : 3, - "pattern" : "^[a-z0-9]*$", - "description" : "The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.
" - }, - "StudioUrl" : { - "type" : "string", - "description" : "The address of the web page for the studio.
" + "StudioEncryptionConfiguration" : { + "$ref" : "#/definitions/StudioEncryptionConfiguration" }, "Tags" : { - "$ref" : "#/definitions/Tags" - }, - "UserRoleArn" : { - "type" : "string", - "description" : "The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.
" + "type" : "object", + "patternProperties" : { + "[a-zA-Z0-9]+" : { + "type" : "string" + } + } } }, - "readOnlyProperties" : [ "/properties/HomeRegion", "/properties/SsoClientId", "/properties/StudioId", "/properties/StudioUrl" ], - "createOnlyProperties" : [ "/properties/StudioName", "/properties/Tags" ], - "primaryIdentifier" : [ "/properties/StudioId" ], - "required" : [ "DisplayName", "UserRoleArn", "AdminRoleArn", "StudioName" ], - "handlers" : { - "create" : { - "permissions" : [ "iam:PassRole", "nimble:CreateStudio", "nimble:GetStudio", "nimble:TagResource", "sso:CreateManagedApplicationInstance", "kms:Encrypt", "kms:Decrypt", "kms:CreateGrant", "kms:ListGrants", "kms:GenerateDataKey" ] - }, - "read" : { - "permissions" : [ "nimble:GetStudio", "kms:Encrypt", "kms:Decrypt", "kms:ListGrants", "kms:GenerateDataKey" ] - }, - "update" : { - "permissions" : [ "iam:PassRole", "nimble:UpdateStudio", "nimble:GetStudio", "kms:Encrypt", "kms:Decrypt", "kms:CreateGrant", "kms:ListGrants", "kms:GenerateDataKey" ] - }, - "delete" : { - "permissions" : [ "nimble:DeleteStudio", "nimble:GetStudio", "nimble:UntagResource", "kms:Encrypt", "kms:Decrypt", "kms:ListGrants", "kms:RetireGrant", "kms:GenerateDataKey", "sso:DeleteManagedApplicationInstance", "sso:GetManagedApplicationInstance" ] - }, - "list" : { - "permissions" : [ "nimble:ListStudios" ] + "definitions" : { + "StudioEncryptionConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "KeyType" : { + "type" : "string" + }, + "KeyArn" : { + "type" : "string" + } + }, + "required" : [ "KeyType" ] } }, - "additionalProperties" : false + "required" : [ "UserRoleArn", "DisplayName", "StudioName", "AdminRoleArn" ], + "createOnlyProperties" : [ "/properties/StudioName", "/properties/Tags" ], + "primaryIdentifier" : [ "/properties/StudioId" ], + "readOnlyProperties" : [ "/properties/StudioId", "/properties/HomeRegion", "/properties/SsoClientId", "/properties/StudioUrl" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-nimblestudio-studiocomponent.json b/aws-cloudformation-schema/aws-nimblestudio-studiocomponent.json index f569bd2e86..03641b0673 100644 --- a/aws-cloudformation-schema/aws-nimblestudio-studiocomponent.json +++ b/aws-cloudformation-schema/aws-nimblestudio-studiocomponent.json @@ -1,322 +1,184 @@ { "typeName" : "AWS::NimbleStudio::StudioComponent", - "description" : "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio", - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", + "description" : "Resource Type definition for AWS::NimbleStudio::StudioComponent", + "additionalProperties" : false, + "properties" : { + "InitializationScripts" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "$ref" : "#/definitions/StudioComponentInitializationScript" + } + }, + "Type" : { + "type" : "string" + }, + "Description" : { + "type" : "string" + }, + "Configuration" : { + "$ref" : "#/definitions/StudioComponentConfiguration" + }, + "Ec2SecurityGroupIds" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string" + } + }, + "ScriptParameters" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "$ref" : "#/definitions/ScriptParameterKeyValue" + } + }, + "StudioId" : { + "type" : "string" + }, + "StudioComponentId" : { + "type" : "string" + }, + "Subtype" : { + "type" : "string" + }, + "Tags" : { + "type" : "object", + "patternProperties" : { + "[a-zA-Z0-9]+" : { + "type" : "string" + } + } + }, + "Name" : { + "type" : "string" + } + }, "definitions" : { - "ActiveDirectoryComputerAttribute" : { + "LicenseServiceConfiguration" : { "type" : "object", - "description" : "An LDAP attribute of an Active Directory computer account, in the form of a name:value\n pair.
", + "additionalProperties" : false, "properties" : { - "Name" : { - "type" : "string", - "maxLength" : 40, - "minLength" : 1, - "description" : "The name for the LDAP attribute.
" - }, - "Value" : { - "type" : "string", - "maxLength" : 64, - "minLength" : 1, - "description" : "The value for the LDAP attribute.
" + "Endpoint" : { + "type" : "string" } - }, - "additionalProperties" : false + } }, - "ActiveDirectoryConfiguration" : { + "StudioComponentInitializationScript" : { "type" : "object", - "description" : "The configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.
", + "additionalProperties" : false, "properties" : { - "ComputerAttributes" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/ActiveDirectoryComputerAttribute" - }, - "maxItems" : 50, - "minItems" : 0, - "description" : "A collection of custom attributes for an Active Directory computer.
" + "Script" : { + "type" : "string" }, - "DirectoryId" : { - "type" : "string", - "description" : "The directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.
" + "RunContext" : { + "type" : "string" }, - "OrganizationalUnitDistinguishedName" : { - "type" : "string", - "maxLength" : 2000, - "minLength" : 1, - "description" : "The distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.
" + "LaunchProfileProtocolVersion" : { + "type" : "string" + }, + "Platform" : { + "type" : "string" } - }, - "additionalProperties" : false + } }, "ComputeFarmConfiguration" : { "type" : "object", - "description" : "The configuration for a render farm that is associated with a studio resource.
", + "additionalProperties" : false, "properties" : { "ActiveDirectoryUser" : { - "type" : "string", - "description" : "The name of an Active Directory user that is used on ComputeFarm worker\n instances.
" + "type" : "string" }, "Endpoint" : { - "type" : "string", - "description" : "The endpoint of the ComputeFarm that is accessed by the studio component\n resource.
" - } - }, - "additionalProperties" : false - }, - "LaunchProfilePlatform" : { - "type" : "string", - "enum" : [ "LINUX", "WINDOWS" ] - }, - "LicenseServiceConfiguration" : { - "type" : "object", - "description" : "The configuration for a license service that is associated with a studio\n resource.
", - "properties" : { - "Endpoint" : { - "type" : "string", - "description" : "The endpoint of the license service that is accessed by the studio component\n resource.
" - } - }, - "additionalProperties" : false - }, - "ScriptParameterKeyValue" : { - "type" : "object", - "description" : "A parameter for a studio component script, in the form of a key:value pair.
", - "properties" : { - "Key" : { - "type" : "string", - "maxLength" : 64, - "minLength" : 1, - "pattern" : "^[a-zA-Z_][a-zA-Z0-9_]+$", - "description" : "A script parameter key.
" - }, - "Value" : { - "type" : "string", - "maxLength" : 256, - "minLength" : 1, - "description" : "A script parameter value.
" + "type" : "string" } - }, - "additionalProperties" : false + } }, "SharedFileSystemConfiguration" : { "type" : "object", - "description" : "The configuration for a shared file storage system that is associated with a studio\n resource.
", + "additionalProperties" : false, "properties" : { - "Endpoint" : { - "type" : "string", - "description" : "The endpoint of the shared file system that is accessed by the studio component\n resource.
" - }, "FileSystemId" : { - "type" : "string", - "description" : "The unique identifier for a file system.
" - }, - "LinuxMountPoint" : { - "type" : "string", - "maxLength" : 128, - "minLength" : 0, - "pattern" : "^(/?|(\\$HOME)?(/[^/\\n\\s\\\\]+)*)$", - "description" : "The mount location for a shared file system on a Linux virtual workstation.
" + "type" : "string" }, "ShareName" : { - "type" : "string", - "description" : "The name of the file share.
" + "type" : "string" + }, + "Endpoint" : { + "type" : "string" }, "WindowsMountDrive" : { - "type" : "string", - "pattern" : "^[A-Z]$", - "description" : "The mount location for a shared file system on a Windows virtual workstation.
" + "type" : "string" + }, + "LinuxMountPoint" : { + "type" : "string" } - }, - "additionalProperties" : false + } }, - "StudioComponentConfiguration" : { - "description" : "The configuration of the studio component, based on component type.
", - "oneOf" : [ { - "type" : "object", - "title" : "ActiveDirectoryConfiguration", - "properties" : { - "ActiveDirectoryConfiguration" : { - "$ref" : "#/definitions/ActiveDirectoryConfiguration" - } - }, - "required" : [ "ActiveDirectoryConfiguration" ], - "additionalProperties" : false - }, { - "type" : "object", - "title" : "ComputeFarmConfiguration", - "properties" : { - "ComputeFarmConfiguration" : { - "$ref" : "#/definitions/ComputeFarmConfiguration" - } - }, - "required" : [ "ComputeFarmConfiguration" ], - "additionalProperties" : false - }, { - "type" : "object", - "title" : "LicenseServiceConfiguration", - "properties" : { - "LicenseServiceConfiguration" : { - "$ref" : "#/definitions/LicenseServiceConfiguration" + "ActiveDirectoryConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ComputerAttributes" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "$ref" : "#/definitions/ActiveDirectoryComputerAttribute" } }, - "required" : [ "LicenseServiceConfiguration" ], - "additionalProperties" : false - }, { - "type" : "object", - "title" : "SharedFileSystemConfiguration", - "properties" : { - "SharedFileSystemConfiguration" : { - "$ref" : "#/definitions/SharedFileSystemConfiguration" - } + "DirectoryId" : { + "type" : "string" }, - "required" : [ "SharedFileSystemConfiguration" ], - "additionalProperties" : false - } ] + "OrganizationalUnitDistinguishedName" : { + "type" : "string" + } + } }, - "StudioComponentInitializationScript" : { + "ActiveDirectoryComputerAttribute" : { "type" : "object", - "description" : "Initialization scripts for studio components.
", + "additionalProperties" : false, "properties" : { - "LaunchProfileProtocolVersion" : { - "type" : "string", - "maxLength" : 10, - "minLength" : 0, - "pattern" : "^2021\\-03\\-31$", - "description" : "The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".
" - }, - "Platform" : { - "$ref" : "#/definitions/LaunchProfilePlatform" - }, - "RunContext" : { - "$ref" : "#/definitions/StudioComponentInitializationScriptRunContext" + "Value" : { + "type" : "string" }, - "Script" : { - "type" : "string", - "maxLength" : 5120, - "minLength" : 1, - "description" : "The initialization script.
" + "Name" : { + "type" : "string" } - }, - "additionalProperties" : false - }, - "StudioComponentInitializationScriptRunContext" : { - "type" : "string", - "enum" : [ "SYSTEM_INITIALIZATION", "USER_INITIALIZATION" ] - }, - "StudioComponentSubtype" : { - "type" : "string", - "enum" : [ "AWS_MANAGED_MICROSOFT_AD", "AMAZON_FSX_FOR_WINDOWS", "AMAZON_FSX_FOR_LUSTRE", "CUSTOM" ] + } }, - "StudioComponentType" : { - "type" : "string", - "enum" : [ "ACTIVE_DIRECTORY", "SHARED_FILE_SYSTEM", "COMPUTE_FARM", "LICENSE_SERVICE", "CUSTOM" ] - }, - "Tags" : { + "ScriptParameterKeyValue" : { "type" : "object", - "patternProperties" : { - ".+" : { + "additionalProperties" : false, + "properties" : { + "Value" : { + "type" : "string" + }, + "Key" : { "type" : "string" } - }, - "additionalProperties" : false - } - }, - "properties" : { - "Configuration" : { - "$ref" : "#/definitions/StudioComponentConfiguration" - }, - "Description" : { - "type" : "string", - "maxLength" : 256, - "minLength" : 0, - "description" : "The description.
" - }, - "Ec2SecurityGroupIds" : { - "type" : "array", - "items" : { - "type" : "string" - }, - "maxItems" : 30, - "minItems" : 0, - "description" : "The EC2 security groups that control access to the studio component.
" - }, - "InitializationScripts" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/StudioComponentInitializationScript" - }, - "description" : "Initialization scripts for studio components.
" - }, - "Name" : { - "type" : "string", - "maxLength" : 64, - "minLength" : 0, - "description" : "The name for the studio component.
" - }, - "RuntimeRoleArn" : { - "type" : "string", - "maxLength" : 2048, - "minLength" : 0 - }, - "ScriptParameters" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/ScriptParameterKeyValue" - }, - "maxItems" : 30, - "minItems" : 0, - "description" : "Parameters for the studio component scripts.
" - }, - "SecureInitializationRoleArn" : { - "type" : "string", - "maxLength" : 2048, - "minLength" : 0 + } }, - "StudioComponentId" : { - "type" : "string" - }, - "StudioId" : { - "type" : "string", - "description" : "The studio ID.
" - }, - "Subtype" : { - "$ref" : "#/definitions/StudioComponentSubtype" - }, - "Tags" : { - "$ref" : "#/definitions/Tags" - }, - "Type" : { - "$ref" : "#/definitions/StudioComponentType" - } - }, - "required" : [ "StudioId", "Name", "Type" ], - "readOnlyProperties" : [ "/properties/StudioComponentId" ], - "createOnlyProperties" : [ "/properties/StudioId", "/properties/Subtype", "/properties/Tags" ], - "primaryIdentifier" : [ "/properties/StudioComponentId", "/properties/StudioId" ], - "handlers" : { - "create" : { - "permissions" : [ "iam:PassRole", "nimble:CreateStudioComponent", "nimble:GetStudioComponent", "nimble:TagResource", "ds:AuthorizeApplication", "ec2:DescribeSecurityGroups", "fsx:DescribeFilesystems", "ds:DescribeDirectories" ] - }, - "read" : { - "permissions" : [ "nimble:GetStudioComponent" ] - }, - "update" : { - "permissions" : [ "iam:PassRole", "nimble:UpdateStudioComponent", "nimble:GetStudioComponent", "ds:AuthorizeApplication", "ec2:DescribeSecurityGroups", "fsx:DescribeFilesystems", "ds:DescribeDirectories" ] - }, - "delete" : { - "permissions" : [ "nimble:DeleteStudioComponent", "nimble:GetStudioComponent", "nimble:UntagResource", "ds:UnauthorizeApplication" ] - }, - "list" : { - "handlerSchema" : { - "properties" : { - "StudioId" : { - "$ref" : "resource-schema.json#/properties/StudioId" - } + "StudioComponentConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "LicenseServiceConfiguration" : { + "$ref" : "#/definitions/LicenseServiceConfiguration" + }, + "ComputeFarmConfiguration" : { + "$ref" : "#/definitions/ComputeFarmConfiguration" }, - "required" : [ "StudioId" ] - }, - "permissions" : [ "nimble:ListStudioComponents" ] + "ActiveDirectoryConfiguration" : { + "$ref" : "#/definitions/ActiveDirectoryConfiguration" + }, + "SharedFileSystemConfiguration" : { + "$ref" : "#/definitions/SharedFileSystemConfiguration" + } + } } }, - "additionalProperties" : false + "required" : [ "Type", "StudioId", "Name" ], + "createOnlyProperties" : [ "/properties/Subtype", "/properties/StudioId", "/properties/Tags" ], + "primaryIdentifier" : [ "/properties/StudioComponentId" ], + "readOnlyProperties" : [ "/properties/StudioComponentId" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-quicksight-analysis.json b/aws-cloudformation-schema/aws-quicksight-analysis.json index 7d36abd520..fa7dd28a1d 100644 --- a/aws-cloudformation-schema/aws-quicksight-analysis.json +++ b/aws-cloudformation-schema/aws-quicksight-analysis.json @@ -5893,7 +5893,7 @@ }, "LayoutElementType" : { "type" : "string", - "enum" : [ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", "TEXT_BOX" ] + "enum" : [ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", "TEXT_BOX", "IMAGE" ] }, "WaterfallVisual" : { "additionalProperties" : false, diff --git a/aws-cloudformation-schema/aws-quicksight-dashboard.json b/aws-cloudformation-schema/aws-quicksight-dashboard.json index 9ca460df64..54fc73d7b2 100644 --- a/aws-cloudformation-schema/aws-quicksight-dashboard.json +++ b/aws-cloudformation-schema/aws-quicksight-dashboard.json @@ -6140,7 +6140,7 @@ }, "LayoutElementType" : { "type" : "string", - "enum" : [ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", "TEXT_BOX" ] + "enum" : [ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", "TEXT_BOX", "IMAGE" ] }, "WaterfallVisual" : { "additionalProperties" : false, diff --git a/aws-cloudformation-schema/aws-quicksight-datasource.json b/aws-cloudformation-schema/aws-quicksight-datasource.json index 9716fefd4f..0227694d4d 100644 --- a/aws-cloudformation-schema/aws-quicksight-datasource.json +++ b/aws-cloudformation-schema/aws-quicksight-datasource.json @@ -103,6 +103,10 @@ "required" : [ "Database", "Host", "Port" ], "additionalProperties" : false }, + "AuthenticationType" : { + "type" : "string", + "enum" : [ "PASSWORD", "TOKEN", "X509" ] + }, "AwsIotAnalyticsParameters" : { "type" : "object", "description" : "The parameters for IoT Analytics.
", @@ -370,6 +374,31 @@ "required" : [ "Database", "Host", "Port" ], "additionalProperties" : false }, + "OAuthParameters" : { + "type" : "object", + "properties" : { + "TokenProviderUrl" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1 + }, + "OAuthScope" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1 + }, + "IdentityProviderVpcConnectionProperties" : { + "$ref" : "#/definitions/VpcConnectionProperties" + }, + "IdentityProviderResourceUri" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1 + } + }, + "required" : [ "TokenProviderUrl" ], + "additionalProperties" : false + }, "OracleParameters" : { "type" : "object", "description" : "The parameters for Oracle.
", @@ -614,6 +643,17 @@ "maxLength" : 128, "minLength" : 0, "description" : "Warehouse.
" + }, + "AuthenticationType" : { + "$ref" : "#/definitions/AuthenticationType" + }, + "DatabaseAccessControlRole" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 0 + }, + "OAuthParameters" : { + "$ref" : "#/definitions/OAuthParameters" } }, "required" : [ "Database", "Host", "Warehouse" ], @@ -704,6 +744,17 @@ }, "ProductType" : { "$ref" : "#/definitions/StarburstProductType" + }, + "DatabaseAccessControlRole" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 0 + }, + "AuthenticationType" : { + "$ref" : "#/definitions/AuthenticationType" + }, + "OAuthParameters" : { + "$ref" : "#/definitions/OAuthParameters" } }, "required" : [ "Catalog", "Host", "Port" ], diff --git a/aws-cloudformation-schema/aws-quicksight-template.json b/aws-cloudformation-schema/aws-quicksight-template.json index 6a8dd84722..646e2d2bad 100644 --- a/aws-cloudformation-schema/aws-quicksight-template.json +++ b/aws-cloudformation-schema/aws-quicksight-template.json @@ -5910,7 +5910,7 @@ }, "LayoutElementType" : { "type" : "string", - "enum" : [ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", "TEXT_BOX" ] + "enum" : [ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", "TEXT_BOX", "IMAGE" ] }, "WaterfallVisual" : { "additionalProperties" : false, diff --git a/aws-cloudformation-schema/aws-rds-dbcluster.json b/aws-cloudformation-schema/aws-rds-dbcluster.json index 6d80c32bc0..3ecaa00031 100644 --- a/aws-cloudformation-schema/aws-rds-dbcluster.json +++ b/aws-cloudformation-schema/aws-rds-dbcluster.json @@ -1,458 +1,462 @@ { - "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", - "propertyTransform" : { - "/properties/KmsKeyId" : "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", - "/properties/SourceDBClusterIdentifier" : "$lowercase(SourceDBClusterIdentifier)", - "/properties/StorageType" : "$lowercase(StorageType)", - "/properties/MasterUserSecret/KmsKeyId" : "$join([\"arn:.+?:kms:.+?:.+?: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:.+?:kms:.+?:.+?: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" ] - }, - "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 + "properties" : { + "Endpoint" : { + "$ref" : "#/definitions/Endpoint", + "description" : "" }, - "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 + "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``." }, - "list" : { - "permissions" : [ "rds:DescribeDBClusters" ] + "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" }, - "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" - } + "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" } }, - "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" - } + "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" } }, - "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" - } - } + "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" }, - "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" - } - } + "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" }, - "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" - } - } + "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" }, - "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" ] + "ClusterScalabilityType" : { + "type" : "string", + "description" : "" }, - "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", + "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" }, - "DBSystemId" : { - "description" : "Reserved for future use.", + "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" }, - "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", + "DBClusterArn" : { + "type" : "string", + "description" : "" + }, + "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" }, - "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", + "DBClusterResourceId" : { + "description" : "", "type" : "string" }, - "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" + "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" + }, + "DBSystemId" : { + "description" : "Reserved for future use.", + "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 }, "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 }, - "StorageThroughput" : { - "description" : "", - "type" : "integer" + "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" }, - "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" + "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" }, - "Endpoint" : { - "description" : "", - "$ref" : "#/definitions/Endpoint" + "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" }, - "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" }, - "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", + "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" }, - "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, + "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", + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/Tag" + "type" : "string" } }, - "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" - }, - "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" - }, - "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" + "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" }, - "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" + "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" }, - "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" + "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" }, "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" }, - "DBClusterResourceId" : { - "description" : "", + "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" }, - "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" + "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" }, - "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", + "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" }, - "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", + "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" + }, + "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" }, - "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.", + "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" }, + "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" : { - "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" + "$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.*" }, - "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" + "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" }, - "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", + "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" }, - "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" + "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" }, - "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" + "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" }, "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" }, - "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" }, - "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.", + "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" }, - "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", + "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" }, - "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" - } + "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" }, - "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" + "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" }, "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" }, - "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", + "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", + "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" }, - "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", + "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" }, - "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 - }, - "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" + "StorageThroughput" : { + "description" : "", + "type" : "integer" }, - "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", + "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" }, - "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" + "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" + } }, - "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" + "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" }, - "AvailabilityZones" : { + "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", "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" - } - }, - "DBClusterArn" : { - "description" : "", - "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." }, - "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" + "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*." }, - "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" + "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" ] }, - "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" + "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" + } + } }, - "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" + "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" + } + } }, - "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" + "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" ] }, - "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" + "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)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", + "/properties/Engine" : "$lowercase(Engine)", + "/properties/EngineVersion" : "$join([$string(EngineVersion), \".*\"])", + "/properties/KmsKeyId" : "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId" : "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/NetworkType" : "$lowercase(NetworkType)", + "/properties/PerformanceInsightsKmsKeyId" : "$join([\"arn:.+?:kms:.+?:.+?: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/ClusterScalabilityType", "/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/ClusterScalabilityType", "/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 }, - "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" + "read" : { + "permissions" : [ "rds:DescribeDBClusters" ] }, - "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" + "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 }, - "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 + "delete" : { + "permissions" : [ "rds:AddTagsToResource", "rds:CreateDBClusterSnapshot", "rds:DeleteDBCluster", "rds:DeleteDBInstance", "rds:DescribeDBClusters", "rds:DescribeGlobalClusters", "rds:RemoveFromGlobalCluster" ] }, - "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" - } + "list" : { + "permissions" : [ "rds:DescribeDBClusters" ] } + }, + "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-dbshardgroup.json b/aws-cloudformation-schema/aws-rds-dbshardgroup.json new file mode 100644 index 0000000000..69c235956f --- /dev/null +++ b/aws-cloudformation-schema/aws-rds-dbshardgroup.json @@ -0,0 +1,113 @@ +{ + "typeName" : "AWS::RDS::DBShardGroup", + "description" : "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging" : { + "cloudFormationSystemTags" : true, + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], + "taggable" : true, + "tagOnCreate" : false, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags" + }, + "properties" : { + "DBShardGroupResourceId" : { + "description" : "The Amazon Web Services Region-unique, immutable identifier for the DB shard group.", + "type" : "string" + }, + "DBShardGroupIdentifier" : { + "description" : "The name of the DB shard group.", + "type" : "string", + "minLength" : 1, + "maxLength" : 63 + }, + "DBClusterIdentifier" : { + "description" : "The name of the primary DB cluster for the DB shard group.", + "type" : "string", + "minLength" : 1, + "maxLength" : 63 + }, + "ComputeRedundancy" : { + "description" : "Specifies whether to create standby instances for the DB shard group.", + "minimum" : 0, + "type" : "integer" + }, + "MaxACU" : { + "description" : "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).", + "type" : "number" + }, + "MinACU" : { + "description" : "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).", + "type" : "number" + }, + "PubliclyAccessible" : { + "description" : "Indicates whether the DB shard group is publicly accessible.", + "type" : "boolean" + }, + "Endpoint" : { + "description" : "The connection endpoint for the DB shard group.", + "type" : "string" + }, + "Tags" : { + "type" : "array", + "maxItems" : 50, + "uniqueItems" : true, + "insertionOrder" : false, + "description" : "An array of key-value pairs to apply to this resource.", + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "additionalProperties" : false, + "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, + "maxLength" : 256 + } + }, + "required" : [ "Key" ] + } + }, + "additionalProperties" : false, + "propertyTransform" : { + "/properties/DBClusterIdentifier" : "$lowercase(DBClusterIdentifier)", + "/properties/DBShardGroupIdentifier" : "$lowercase(DBShardGroupIdentifier)" + }, + "required" : [ "DBClusterIdentifier", "MaxACU" ], + "createOnlyProperties" : [ "/properties/DBClusterIdentifier", "/properties/DBShardGroupIdentifier", "/properties/PubliclyAccessible" ], + "readOnlyProperties" : [ "/properties/DBShardGroupResourceId", "/properties/Endpoint" ], + "writeOnlyProperties" : [ "/properties/MinACU" ], + "primaryIdentifier" : [ "/properties/DBShardGroupIdentifier" ], + "handlers" : { + "create" : { + "permissions" : [ "rds:AddTagsToResource", "rds:CreateDBShardGroup", "rds:DescribeDBClusters", "rds:DescribeDBShardGroups", "rds:ListTagsForResource" ], + "timeoutInMinutes" : 2160 + }, + "read" : { + "permissions" : [ "rds:DescribeDBShardGroups", "rds:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "rds:AddTagsToResource", "rds:DescribeDBShardGroups", "rds:DescribeDBClusters", "rds:RemoveTagsFromResource", "rds:ModifyDBShardGroup", "rds:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "rds:DeleteDBShardGroup", "rds:DescribeDBClusters", "rds:DescribeDbShardGroups" ], + "timeoutInMinutes" : 2160 + }, + "list" : { + "permissions" : [ "rds:DescribeDBShardGroups", "rds:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-scheduler-schedule.json b/aws-cloudformation-schema/aws-scheduler-schedule.json index 9388316b29..9b9bf46027 100644 --- a/aws-cloudformation-schema/aws-scheduler-schedule.json +++ b/aws-cloudformation-schema/aws-scheduler-schedule.json @@ -80,7 +80,7 @@ "type" : "string", "maxLength" : 1600, "minLength" : 1, - "pattern" : "^arn:aws(-[a-z]+)?:sqs:[a-z0-9\\-]+:\\d{12}:[a-zA-Z0-9\\-_]+$", + "pattern" : "^arn:aws[a-z-]*:sqs:[a-z0-9\\-]+:\\d{12}:[a-zA-Z0-9\\-_]+$", "description" : "The ARN of the SQS queue specified as the target for the dead-letter queue." } }, @@ -394,7 +394,7 @@ "type" : "string", "maxLength" : 1600, "minLength" : 1, - "pattern" : "^arn:aws(-[a-z]+)?:iam::\\d{12}:role\\/[\\w+=,.@\\/-]+$", + "pattern" : "^arn:aws[a-z-]*:iam::\\d{12}:role\\/[\\w+=,.@\\/-]+$", "description" : "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered." }, "DeadLetterConfig" : { @@ -433,7 +433,7 @@ "type" : "string", "maxLength" : 1224, "minLength" : 1, - "pattern" : "^arn:aws(-[a-z]+)?:scheduler:[a-z0-9\\-]+:\\d{12}:schedule\\/[0-9a-zA-Z-_.]+\\/[0-9a-zA-Z-_.]+$", + "pattern" : "^arn:aws[a-z-]*:scheduler:[a-z0-9\\-]+:\\d{12}:schedule\\/[0-9a-zA-Z-_.]+\\/[0-9a-zA-Z-_.]+$", "description" : "The Amazon Resource Name (ARN) of the schedule." }, "Description" : { @@ -461,7 +461,7 @@ "type" : "string", "maxLength" : 2048, "minLength" : 1, - "pattern" : "^arn:aws(-[a-z]+)?:kms:[a-z0-9\\-]+:\\d{12}:(key|alias)\\/[0-9a-zA-Z-_]*$", + "pattern" : "^arn:aws[a-z-]*:kms:[a-z0-9\\-]+:\\d{12}:(key|alias)\\/[0-9a-zA-Z-_]*$", "description" : "The ARN for a KMS Key that will be used to encrypt customer data." }, "Name" : { diff --git a/aws-cloudformation-schema/aws-scheduler-schedulegroup.json b/aws-cloudformation-schema/aws-scheduler-schedulegroup.json index b7d3977139..42f117028d 100644 --- a/aws-cloudformation-schema/aws-scheduler-schedulegroup.json +++ b/aws-cloudformation-schema/aws-scheduler-schedulegroup.json @@ -33,7 +33,7 @@ "type" : "string", "maxLength" : 1224, "minLength" : 1, - "pattern" : "^arn:aws(-[a-z]+)?:scheduler:[a-z0-9\\-]+:\\d{12}:schedule-group\\/[0-9a-zA-Z-_.]+$", + "pattern" : "^arn:aws[a-z-]*:scheduler:[a-z0-9\\-]+:\\d{12}:schedule-group\\/[0-9a-zA-Z-_.]+$", "description" : "The Amazon Resource Name (ARN) of the schedule group." }, "CreationDate" : { diff --git a/aws-cloudformation-schema/aws-transfer-user.json b/aws-cloudformation-schema/aws-transfer-user.json index 75c2ae231e..b0c676aad4 100644 --- a/aws-cloudformation-schema/aws-transfer-user.json +++ b/aws-cloudformation-schema/aws-transfer-user.json @@ -1,114 +1,193 @@ { "typeName" : "AWS::Transfer::User", - "description" : "Resource Type definition for AWS::Transfer::User", - "additionalProperties" : false, - "properties" : { - "Policy" : { - "type" : "string" + "description" : "Definition of AWS::Transfer::User Resource Type", + "definitions" : { + "HomeDirectoryMapEntry" : { + "type" : "object", + "properties" : { + "Entry" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "pattern" : "^/.*$" + }, + "Target" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "pattern" : "^/.*$" + }, + "Type" : { + "$ref" : "#/definitions/MapType" + } + }, + "required" : [ "Entry", "Target" ], + "additionalProperties" : false }, - "Role" : { - "type" : "string" + "HomeDirectoryType" : { + "type" : "string", + "enum" : [ "PATH", "LOGICAL" ] }, - "HomeDirectory" : { - "type" : "string" + "MapType" : { + "type" : "string", + "enum" : [ "FILE", "DIRECTORY" ] }, - "HomeDirectoryType" : { - "type" : "string" + "PosixProfile" : { + "type" : "object", + "properties" : { + "Uid" : { + "type" : "number", + "maximum" : 4294967295, + "minimum" : 0 + }, + "Gid" : { + "type" : "number", + "maximum" : 4294967295, + "minimum" : 0 + }, + "SecondaryGids" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "number", + "maximum" : 4294967295, + "minimum" : 0 + }, + "maxItems" : 16, + "minItems" : 0 + } + }, + "required" : [ "Gid", "Uid" ], + "additionalProperties" : false }, - "ServerId" : { - "type" : "string" + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 0 + }, + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 0 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "maxLength" : 1600, + "minLength" : 20, + "pattern" : "^arn:\\S+$" }, - "UserName" : { - "type" : "string" + "HomeDirectory" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "pattern" : "^(|/.*)$" }, "HomeDirectoryMappings" : { "type" : "array", - "uniqueItems" : false, + "insertionOrder" : false, "items" : { "$ref" : "#/definitions/HomeDirectoryMapEntry" - } + }, + "maxItems" : 50000, + "minItems" : 1 + }, + "HomeDirectoryType" : { + "$ref" : "#/definitions/HomeDirectoryType" + }, + "Policy" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 0 }, "PosixProfile" : { "$ref" : "#/definitions/PosixProfile" }, + "Role" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "pattern" : "^arn:.*role/\\S+$" + }, + "ServerId" : { + "type" : "string", + "maxLength" : 19, + "minLength" : 19, + "pattern" : "^s-([0-9a-f]{17})$" + }, "SshPublicKeys" : { "type" : "array", - "uniqueItems" : false, + "insertionOrder" : false, "items" : { - "$ref" : "#/definitions/SshPublicKey" - } - }, - "Id" : { - "type" : "string" - }, - "Arn" : { - "type" : "string" + "type" : "string", + "maxLength" : 2048, + "minLength" : 0, + "pattern" : "^\\s*(ssh|ecdsa)-[a-z0-9-]+[ \\t]+(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{1,3})?(={0,3})?)(\\s*|[ \\t]+[\\S \\t]*\\s*)$" + }, + "description" : "This represents the SSH User Public Keys for CloudFormation resource" }, "Tags" : { "type" : "array", - "uniqueItems" : false, + "insertionOrder" : false, "items" : { "$ref" : "#/definitions/Tag" - } + }, + "maxItems" : 50, + "minItems" : 1 + }, + "UserName" : { + "type" : "string", + "maxLength" : 100, + "minLength" : 3, + "pattern" : "^[\\w][\\w@.-]{2,99}$" } }, - "definitions" : { - "SshPublicKey" : { - "type" : "object", - "additionalProperties" : false + "required" : [ "Role", "ServerId", "UserName" ], + "readOnlyProperties" : [ "/properties/Arn" ], + "createOnlyProperties" : [ "/properties/ServerId", "/properties/UserName" ], + "primaryIdentifier" : [ "/properties/Arn" ], + "additionalIdentifiers" : [ [ "/properties/ServerId", "/properties/UserName" ] ], + "handlers" : { + "create" : { + "permissions" : [ "iam:PassRole", "transfer:CreateUser", "transfer:DescribeUser", "transfer:ImportSshPublicKey", "transfer:TagResource" ] }, - "PosixProfile" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Uid" : { - "type" : "number" - }, - "SecondaryGids" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "number" - } - }, - "Gid" : { - "type" : "number" - } - }, - "required" : [ "Uid", "Gid" ] + "read" : { + "permissions" : [ "transfer:DescribeUser" ] }, - "Tag" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Value" : { - "type" : "string" - }, - "Key" : { - "type" : "string" - } - }, - "required" : [ "Value", "Key" ] + "update" : { + "permissions" : [ "iam:PassRole", "transfer:DeleteSshPublicKey", "transfer:DescribeUser", "transfer:ImportSshPublicKey", "transfer:TagResource", "transfer:UnTagResource", "transfer:UpdateUser" ] }, - "HomeDirectoryMapEntry" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Entry" : { - "type" : "string" - }, - "Target" : { - "type" : "string" + "delete" : { + "permissions" : [ "transfer:DeleteUser" ] + }, + "list" : { + "permissions" : [ "transfer:ListUsers" ], + "handlerSchema" : { + "properties" : { + "ServerId" : { + "$ref" : "resource-schema.json#/properties/ServerId" + } }, - "Type" : { - "type" : "string" - } - }, - "required" : [ "Entry", "Target" ] + "required" : [ "ServerId" ] + } } }, - "required" : [ "Role", "ServerId", "UserName" ], - "createOnlyProperties" : [ "/properties/ServerId", "/properties/UserName" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ] + "tagging" : { + "cloudFormationSystemTags" : true, + "permissions" : [ "transfer:TagResource", "transfer:UnTagResource", "transfer:ListTagsForResource" ], + "tagOnCreate" : true, + "tagProperty" : "/properties/Tags", + "tagUpdatable" : true, + "taggable" : true + }, + "additionalProperties" : false, + "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-aiagentversion.json b/aws-cloudformation-schema/aws-wisdom-aiagentversion.json new file mode 100644 index 0000000000..7bddfe8132 --- /dev/null +++ b/aws-cloudformation-schema/aws-wisdom-aiagentversion.json @@ -0,0 +1,74 @@ +{ + "typeName" : "AWS::Wisdom::AIAgentVersion", + "description" : "Definition of AWS::Wisdom::AIAgentVersion Resource Type", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions" : { }, + "properties" : { + "AIAgentArn" : { + "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})?$" + }, + "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})?$" + }, + "AIAgentId" : { + "type" : "string", + "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "AssistantId" : { + "type" : "string", + "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "AIAgentVersionId" : { + "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}$" + }, + "VersionNumber" : { + "type" : "number" + }, + "ModifiedTimeSeconds" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "required" : [ "AssistantId", "AIAgentId" ], + "createOnlyProperties" : [ "/properties/AssistantId", "/properties/AIAgentId", "/properties/ModifiedTimeSeconds" ], + "readOnlyProperties" : [ "/properties/AIAgentVersionId", "/properties/AIAgentArn", "/properties/AssistantArn", "/properties/VersionNumber" ], + "primaryIdentifier" : [ "/properties/AssistantId", "/properties/AIAgentId", "/properties/VersionNumber" ], + "additionalIdentifiers" : [ [ "/properties/AIAgentArn", "/properties/AssistantArn" ] ], + "handlers" : { + "create" : { + "permissions" : [ "wisdom:CreateAIAgentVersion" ] + }, + "read" : { + "permissions" : [ "wisdom:GetAIAgent", "wisdom:GetAIAgentVersion" ] + }, + "update" : { + "permissions" : [ "wisdom:GetAIAgent", "wisdom:GetAIAgentVersion" ] + }, + "delete" : { + "permissions" : [ "wisdom:DeleteAIAgentVersion" ] + }, + "list" : { + "permissions" : [ "wisdom:ListAIAgentVersions" ], + "handlerSchema" : { + "properties" : { + "AssistantId" : { + "$ref" : "resource-schema.json#/properties/AssistantId" + }, + "AIAgentId" : { + "$ref" : "resource-schema.json#/properties/AIAgentId" + } + }, + "required" : [ "AssistantId", "AIAgentId" ] + } + } + } +} \ No newline at end of file diff --git a/meta/.botocore.version b/meta/.botocore.version index 752068675b..299ab6a647 100644 --- a/meta/.botocore.version +++ b/meta/.botocore.version @@ -1 +1 @@ -1.35.53 +1.35.56 diff --git a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt index 05b3941757..fd5c6b7ca9 100644 --- a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt @@ -2,6 +2,10 @@ AWS::Batch::JobDefinition AWS::Cognito::UserPoolDomain AWS::GameCast::Application AWS::GameCast::StreamGroup +AWS::NimbleStudio::LaunchProfile +AWS::NimbleStudio::StreamingImage +AWS::NimbleStudio::Studio +AWS::NimbleStudio::StudioComponent AWS::SNS::TopicPolicy AWS::SSMGuiConnect::Preferences AWSQS::EKS::Cluster diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 357809e463..fb619e5db6 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -354,6 +354,7 @@ AWS::EC2::RouteTable AWS::EC2::SecurityGroup AWS::EC2::SecurityGroupEgress AWS::EC2::SecurityGroupIngress +AWS::EC2::SecurityGroupVpcAssociation AWS::EC2::SnapshotBlockPublicAccess AWS::EC2::SpotFleet AWS::EC2::Subnet @@ -828,6 +829,7 @@ AWS::RDS::DBParameterGroup AWS::RDS::DBProxy AWS::RDS::DBProxyEndpoint AWS::RDS::DBProxyTargetGroup +AWS::RDS::DBShardGroup AWS::RDS::DBSubnetGroup AWS::RDS::EventSubscription AWS::RDS::GlobalCluster @@ -1030,6 +1032,7 @@ AWS::Transfer::Certificate AWS::Transfer::Connector AWS::Transfer::Profile AWS::Transfer::Server +AWS::Transfer::User AWS::Transfer::Workflow AWS::VerifiedPermissions::IdentitySource AWS::VerifiedPermissions::Policy @@ -1053,6 +1056,7 @@ AWS::WAFv2::RuleGroup AWS::WAFv2::WebACL AWS::WAFv2::WebACLAssociation AWS::Wisdom::AIAgent +AWS::Wisdom::AIAgentVersion AWS::Wisdom::AIPrompt AWS::Wisdom::AIPromptVersion AWS::Wisdom::Assistant diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 5406f7a332..d69ff338cc 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -6880,11 +6880,12 @@ "cf": "AWS::AppSync::Api", "inputs": { "eventConfig": { - "$ref": "#/types/aws-native:appsync:ApiEventConfig" + "$ref": "#/types/aws-native:appsync:ApiEventConfig", + "description": "Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API." }, "name": { "type": "string", - "description": "The API name." + "description": "The name of the `Api` ." }, "ownerContact": { "type": "string", @@ -6895,7 +6896,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "The tags." + "description": "A set of tags (key-value pairs) for this API." } }, "outputs": { @@ -6908,17 +6909,15 @@ "description": "The unique identifier for the AppSync Api generated by the service" }, "dns": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/types/aws-native:appsync:ApiDnsMap" }, "eventConfig": { - "$ref": "#/types/aws-native:appsync:ApiEventConfig" + "$ref": "#/types/aws-native:appsync:ApiEventConfig", + "description": "Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API." }, "name": { "type": "string", - "description": "The API name." + "description": "The name of the `Api` ." }, "ownerContact": { "type": "string", @@ -6929,7 +6928,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "The tags." + "description": "A set of tags (key-value pairs) for this API." } }, "autoNamingSpec": { @@ -6946,14 +6945,16 @@ "description": "AppSync Api Id that this Channel Namespace belongs to." }, "codeHandlers": { - "type": "string" + "type": "string", + "description": "The event handler functions that run custom business logic to process published events and subscribe requests." }, "codeS3Location": { "type": "string", "description": "The Amazon S3 endpoint where the code is located." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the channel namespace. This name must be unique within the `Api` ." }, "publishAuthModes": { "type": "array", @@ -6973,7 +6974,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:index:Tag" - } + }, + "description": "A set of tags (key-value pairs) for this channel namespace." } }, "outputs": { @@ -6983,10 +6985,12 @@ "replaceOnChanges": true }, "channelNamespaceArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the channel namespace." }, "codeHandlers": { - "type": "string" + "type": "string", + "description": "The event handler functions that run custom business logic to process published events and subscribe requests." }, "codeS3Location": { "type": "string", @@ -6994,6 +6998,7 @@ }, "name": { "type": "string", + "description": "The name of the channel namespace. This name must be unique within the `Api` .", "replaceOnChanges": true }, "publishAuthModes": { @@ -7014,7 +7019,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:index:Tag" - } + }, + "description": "A set of tags (key-value pairs) for this channel namespace." } }, "autoNamingSpec": { @@ -7970,8 +7976,7 @@ "outputs": { "alias": { "type": "string", - "description": "Scraper alias.", - "replaceOnChanges": true + "description": "Scraper alias." }, "arn": { "type": "string", @@ -7979,8 +7984,7 @@ }, "destination": { "$ref": "#/types/aws-native:aps:ScraperDestination", - "description": "The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.", - "replaceOnChanges": true + "description": "The Amazon Managed Service for Prometheus workspace the scraper sends metrics to." }, "roleArn": { "type": "string", @@ -7988,8 +7992,7 @@ }, "scrapeConfiguration": { "$ref": "#/types/aws-native:aps:ScraperScrapeConfiguration", - "description": "The configuration in use by the scraper.", - "replaceOnChanges": true + "description": "The configuration in use by the scraper." }, "scraperId": { "type": "string", @@ -8014,9 +8017,6 @@ "source" ], "createOnly": [ - "alias", - "destination", - "scrapeConfiguration", "source" ], "tagsProperty": "tags", @@ -11435,10 +11435,12 @@ "description": "Description of the inference profile" }, "inferenceProfileName": { - "type": "string" + "type": "string", + "description": "The name of the inference profile." }, "modelSource": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileModelSourceProperties" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileModelSourceProperties", + "description": "Contains configurations for the inference profile to copy as the resource." }, "tags": { "type": "array", @@ -11459,10 +11461,12 @@ "replaceOnChanges": true }, "inferenceProfileArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the inference profile." }, "inferenceProfileId": { - "type": "string" + "type": "string", + "description": "The unique identifier of the inference profile." }, "inferenceProfileIdentifier": { "type": "string", @@ -11470,10 +11474,12 @@ }, "inferenceProfileName": { "type": "string", + "description": "The name of the inference profile.", "replaceOnChanges": true }, "modelSource": { "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileModelSourceProperties", + "description": "Contains configurations for the inference profile to copy as the resource.", "replaceOnChanges": true }, "models": { @@ -11484,7 +11490,8 @@ "description": "List of model configuration" }, "status": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileStatus" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileStatus", + "description": "The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used." }, "tags": { "type": "array", @@ -11494,7 +11501,8 @@ "description": "List of Tags" }, "type": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileType" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileType", + "description": "The type of the inference profile. The following types are possible:\n\n- `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.\n- `APPLICATION` – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions." }, "updatedAt": { "type": "string", @@ -12357,7 +12365,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "A map of tags attached to the prompt version and their values." } }, "outputs": { @@ -12400,6 +12409,7 @@ "additionalProperties": { "type": "string" }, + "description": "A map of tags attached to the prompt version and their values.", "replaceOnChanges": true }, "updatedAt": { @@ -16993,11 +17003,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "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.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n\u003e If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB 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 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "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* ." + "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 `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), 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", @@ -17038,11 +17048,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "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.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n\u003e If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB 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 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "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* ." + "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 `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), 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", @@ -25049,6 +25059,10 @@ }, "description": "An array of key-value pairs to apply to this resource." }, + "taskMode": { + "$ref": "#/types/aws-native:datasync:TaskMode", + "description": "Specifies the task mode for the task." + }, "taskReportConfig": { "$ref": "#/types/aws-native:datasync:TaskReportConfig", "description": "Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .\n\nWhen using this parameter, your caller identity (the role that you're using DataSync with) must have the `iam:PassRole` permission. The [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess) policy includes this permission." @@ -25128,6 +25142,11 @@ "type": "string", "description": "The ARN of the task." }, + "taskMode": { + "$ref": "#/types/aws-native:datasync:TaskMode", + "description": "Specifies the task mode for the task.", + "replaceOnChanges": true + }, "taskReportConfig": { "$ref": "#/types/aws-native:datasync:TaskReportConfig", "description": "Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .\n\nWhen using this parameter, your caller identity (the role that you're using DataSync with) must have the `iam:PassRole` permission. The [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess) policy includes this permission." @@ -25144,7 +25163,8 @@ ], "createOnly": [ "destinationLocationArn", - "sourceLocationArn" + "sourceLocationArn", + "taskMode" ], "tagsProperty": "tags", "tagsStyle": "keyValueArray" @@ -29687,7 +29707,7 @@ "inputs": { "address": { "type": "string", - "description": "Describes an Elastic IP address, or a carrier IP address." + "description": "An Elastic IP address or a carrier IP address in a Wavelength Zone." }, "domain": { "type": "string", @@ -29698,7 +29718,8 @@ "description": "The ID of the instance.\n Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource." }, "ipamPoolId": { - "type": "string" + "type": "string", + "description": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* ." }, "networkBorderGroup": { "type": "string", @@ -29723,7 +29744,7 @@ "outputs": { "address": { "type": "string", - "description": "Describes an Elastic IP address, or a carrier IP address.", + "description": "An Elastic IP address or a carrier IP address in a Wavelength Zone.", "replaceOnChanges": true }, "allocationId": { @@ -29741,6 +29762,7 @@ }, "ipamPoolId": { "type": "string", + "description": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* .", "replaceOnChanges": true }, "networkBorderGroup": { @@ -31479,7 +31501,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -31513,7 +31535,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -33369,6 +33391,51 @@ "awsId": "Id" } }, + "aws-native:ec2:SecurityGroupVpcAssociation": { + "cf": "AWS::EC2::SecurityGroupVpcAssociation", + "inputs": { + "groupId": { + "type": "string", + "description": "The group ID of the specified security group." + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC in the security group vpc association." + } + }, + "outputs": { + "groupId": { + "type": "string", + "description": "The group ID of the specified security group.", + "replaceOnChanges": true + }, + "state": { + "$ref": "#/types/aws-native:ec2:SecurityGroupVpcAssociationState", + "description": "The state of the security group vpc association." + }, + "stateReason": { + "type": "string", + "description": "The reason for the state of the security group vpc association." + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC in the security group vpc association.", + "replaceOnChanges": true + }, + "vpcOwnerId": { + "type": "string", + "description": "The owner of the VPC in the security group vpc association." + } + }, + "required": [ + "groupId", + "vpcId" + ], + "createOnly": [ + "groupId", + "vpcId" + ] + }, "aws-native:ec2:SnapshotBlockPublicAccess": { "cf": "AWS::EC2::SnapshotBlockPublicAccess", "inputs": { @@ -36880,7 +36947,7 @@ }, "deploymentConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentConfiguration", - "description": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks." + "description": "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods." }, "deploymentController": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentController", @@ -36996,7 +37063,7 @@ }, "deploymentConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentConfiguration", - "description": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks." + "description": "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods." }, "deploymentController": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentController", @@ -39831,6 +39898,9 @@ "aws-native:elasticloadbalancingv2:LoadBalancer": { "cf": "AWS::ElasticLoadBalancingV2::LoadBalancer", "inputs": { + "enablePrefixForIpv6SourceNat": { + "type": "string" + }, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { "type": "string", "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink." @@ -39896,6 +39966,9 @@ "type": "string", "description": "The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` ." }, + "enablePrefixForIpv6SourceNat": { + "type": "string" + }, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { "type": "string", "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink." @@ -44297,7 +44370,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" }, "description": { "type": "string", @@ -44430,7 +44503,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", "replaceOnChanges": true }, "description": { @@ -61107,6 +61180,25 @@ "type": "string", "description": "The name of the delivery source that is associated with this delivery." }, + "fieldDelimiter": { + "type": "string", + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format." + }, + "recordFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list." + }, + "s3EnableHiveCompatiblePath": { + "type": "boolean", + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive." + }, + "s3SuffixPath": { + "type": "string", + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source." + }, "tags": { "type": "array", "items": { @@ -61138,6 +61230,25 @@ "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, + "fieldDelimiter": { + "type": "string", + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format." + }, + "recordFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list." + }, + "s3EnableHiveCompatiblePath": { + "type": "boolean", + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive." + }, + "s3SuffixPath": { + "type": "string", + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source." + }, "tags": { "type": "array", "items": { @@ -61154,6 +61265,10 @@ "deliveryDestinationArn", "deliverySourceName" ], + "irreversibleNames": { + "s3EnableHiveCompatiblePath": "S3EnableHiveCompatiblePath", + "s3SuffixPath": "S3SuffixPath" + }, "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, @@ -61175,6 +61290,10 @@ "type": "string", "description": "The name of this delivery destination." }, + "outputFormat": { + "type": "string", + "description": "The format of the logs that are sent to this delivery destination." + }, "tags": { "type": "array", "items": { @@ -61209,6 +61328,11 @@ "description": "The name of this delivery destination.", "replaceOnChanges": true }, + "outputFormat": { + "type": "string", + "description": "The format of the logs that are sent to this delivery destination.", + "replaceOnChanges": true + }, "tags": { "type": "array", "items": { @@ -61224,7 +61348,8 @@ }, "createOnly": [ "destinationResourceArn", - "name" + "name", + "outputFormat" ], "tagsProperty": "tags", "tagsStyle": "keyValueArray" @@ -69422,25 +69547,25 @@ "inputs": { "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description of the launch profile." }, "ec2SubnetIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eSpecifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types. \u003c/p\u003e" + "description": "Unique identifiers for a collection of EC2 subnets." }, "launchProfileProtocolVersions": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".\u003c/p\u003e" + "description": "The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\"." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the launch profile.\u003c/p\u003e" + "description": "A friendly name for the launch profile." }, "streamConfiguration": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamConfiguration", @@ -69451,11 +69576,11 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eUnique identifiers for a collection of studio components that can be used with this\n launch profile.\u003c/p\u003e" + "description": "Unique identifiers for a collection of studio components that can be used with this launch profile." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e" + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource." }, "tags": { "type": "object", @@ -69468,14 +69593,14 @@ "outputs": { "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description of the launch profile." }, "ec2SubnetIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eSpecifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types. \u003c/p\u003e", + "description": "Unique identifiers for a collection of EC2 subnets.", "replaceOnChanges": true }, "launchProfileId": { @@ -69487,11 +69612,11 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eThe version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".\u003c/p\u003e" + "description": "The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\"." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the launch profile.\u003c/p\u003e" + "description": "A friendly name for the launch profile." }, "streamConfiguration": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamConfiguration", @@ -69502,11 +69627,11 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eUnique identifiers for a collection of studio components that can be used with this\n launch profile.\u003c/p\u003e" + "description": "Unique identifiers for a collection of studio components that can be used with this launch profile." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e", + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.", "replaceOnChanges": true }, "tags": { @@ -69519,9 +69644,7 @@ } }, "autoNamingSpec": { - "sdkName": "name", - "minLength": 1, - "maxLength": 64 + "sdkName": "name" }, "required": [ "ec2SubnetIds", @@ -69543,19 +69666,25 @@ "inputs": { "description": { "type": "string", - "description": "\u003cp\u003eA human-readable description of the streaming image.\u003c/p\u003e" + "description": "A human-readable description of the streaming image." }, "ec2ImageId": { "type": "string", - "description": "\u003cp\u003eThe ID of an EC2 machine image with which to create this streaming image.\u003c/p\u003e" + "description": "The ID of an EC2 machine image with which to create the streaming image." + }, + "encryptionConfigurationKeyArn": { + "type": "string" + }, + "encryptionConfigurationKeyType": { + "type": "string" }, "name": { "type": "string", - "description": "\u003cp\u003eA friendly name for a streaming image resource.\u003c/p\u003e" + "description": "A friendly name for a streaming image resource." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studioId. \u003c/p\u003e" + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource." }, "tags": { "type": "object", @@ -69568,34 +69697,40 @@ "outputs": { "description": { "type": "string", - "description": "\u003cp\u003eA human-readable description of the streaming image.\u003c/p\u003e" + "description": "A human-readable description of the streaming image." }, "ec2ImageId": { "type": "string", - "description": "\u003cp\u003eThe ID of an EC2 machine image with which to create this streaming image.\u003c/p\u003e", + "description": "The ID of an EC2 machine image with which to create the streaming image.", "replaceOnChanges": true }, "encryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StreamingImageEncryptionConfiguration" }, + "encryptionConfigurationKeyArn": { + "type": "string" + }, + "encryptionConfigurationKeyType": { + "type": "string" + }, "eulaIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.\u003c/p\u003e" + "description": "The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image." }, "name": { "type": "string", - "description": "\u003cp\u003eA friendly name for a streaming image resource.\u003c/p\u003e" + "description": "A friendly name for a streaming image resource." }, "owner": { "type": "string", - "description": "\u003cp\u003eThe owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.\u003c/p\u003e" + "description": "The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by ." }, "platform": { "type": "string", - "description": "\u003cp\u003eThe platform of the streaming image, either WINDOWS or LINUX.\u003c/p\u003e" + "description": "The platform of the streaming image, either WINDOWS or LINUX." }, "streamingImageId": { "type": "string", @@ -69603,7 +69738,7 @@ }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studioId. \u003c/p\u003e", + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.", "replaceOnChanges": true }, "tags": { @@ -69616,8 +69751,7 @@ } }, "autoNamingSpec": { - "sdkName": "name", - "maxLength": 64 + "sdkName": "name" }, "required": [ "ec2ImageId", @@ -69636,11 +69770,11 @@ "inputs": { "adminRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio admins assume when logging in to the Nimble Studio portal." }, "displayName": { "type": "string", - "description": "\u003cp\u003eA friendly name for the studio.\u003c/p\u003e" + "description": "A friendly name for the studio." }, "studioEncryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StudioEncryptionConfiguration", @@ -69648,7 +69782,7 @@ }, "studioName": { "type": "string", - "description": "\u003cp\u003eThe studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.\u003c/p\u003e" + "description": "The name of the studio, as included in the URL when accessing it in the Nimble Studio portal." }, "tags": { "type": "object", @@ -69659,25 +69793,25 @@ }, "userRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Users will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio users assume when logging in to the Nimble Studio portal." } }, "outputs": { "adminRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio admins assume when logging in to the Nimble Studio portal." }, "displayName": { "type": "string", - "description": "\u003cp\u003eA friendly name for the studio.\u003c/p\u003e" + "description": "A friendly name for the studio." }, "homeRegion": { "type": "string", - "description": "\u003cp\u003eThe Amazon Web Services Region where the studio resource is located.\u003c/p\u003e" + "description": "The AWS Region where the studio resource is located. For example, `us-west-2` ." }, "ssoClientId": { "type": "string", - "description": "\u003cp\u003eThe Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM Identity Center application client ID that is used to integrate with IAM Identity Center , which enables IAM Identity Center users to log into the portal." }, "studioEncryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StudioEncryptionConfiguration", @@ -69689,12 +69823,12 @@ }, "studioName": { "type": "string", - "description": "\u003cp\u003eThe studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.\u003c/p\u003e", + "description": "The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.", "replaceOnChanges": true }, "studioUrl": { "type": "string", - "description": "\u003cp\u003eThe address of the web page for the studio.\u003c/p\u003e" + "description": "The unique identifier for the studio resource." }, "tags": { "type": "object", @@ -69706,13 +69840,11 @@ }, "userRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Users will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio users assume when logging in to the Nimble Studio portal." } }, "autoNamingSpec": { - "sdkName": "studioName", - "minLength": 3, - "maxLength": 64 + "sdkName": "studioName" }, "required": [ "adminRoleArn", @@ -69730,65 +69862,44 @@ "cf": "AWS::NimbleStudio::StudioComponent", "inputs": { "configuration": { - "oneOf": [ - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration0Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration1Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration2Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration3Properties" - } - ], + "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration", "description": "The configuration of the studio component, based on component type." }, "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description for the studio component resource." }, "ec2SecurityGroupIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe EC2 security groups that control access to the studio component.\u003c/p\u003e" + "description": "The EC2 security groups that control access to the studio component." }, "initializationScripts": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentInitializationScript" }, - "description": "\u003cp\u003eInitialization scripts for studio components.\u003c/p\u003e" + "description": "Initialization scripts for studio components." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the studio component.\u003c/p\u003e" - }, - "runtimeRoleArn": { - "type": "string", - "description": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running." + "description": "A friendly name for the studio component resource." }, "scriptParameters": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentScriptParameterKeyValue" }, - "description": "\u003cp\u003eParameters for the studio component scripts.\u003c/p\u003e" - }, - "secureInitializationRoleArn": { - "type": "string", - "description": "An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs." + "description": "Parameters for the studio component scripts." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e" + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource." }, "subtype": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentSubtype", + "type": "string", "description": "The specific subtype of a studio component." }, "tags": { @@ -69799,64 +69910,43 @@ "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) ." }, "type": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentType", + "type": "string", "description": "The type of the studio component." } }, "outputs": { "configuration": { - "oneOf": [ - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration0Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration1Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration2Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration3Properties" - } - ], + "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration", "description": "The configuration of the studio component, based on component type." }, "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description for the studio component resource." }, "ec2SecurityGroupIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe EC2 security groups that control access to the studio component.\u003c/p\u003e" + "description": "The EC2 security groups that control access to the studio component." }, "initializationScripts": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentInitializationScript" }, - "description": "\u003cp\u003eInitialization scripts for studio components.\u003c/p\u003e" + "description": "Initialization scripts for studio components." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the studio component.\u003c/p\u003e" - }, - "runtimeRoleArn": { - "type": "string", - "description": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running." + "description": "A friendly name for the studio component resource." }, "scriptParameters": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentScriptParameterKeyValue" }, - "description": "\u003cp\u003eParameters for the studio component scripts.\u003c/p\u003e" - }, - "secureInitializationRoleArn": { - "type": "string", - "description": "An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs." + "description": "Parameters for the studio component scripts." }, "studioComponentId": { "type": "string", @@ -69864,11 +69954,11 @@ }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e", + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.", "replaceOnChanges": true }, "subtype": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentSubtype", + "type": "string", "description": "The specific subtype of a studio component.", "replaceOnChanges": true }, @@ -69881,13 +69971,12 @@ "replaceOnChanges": true }, "type": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentType", + "type": "string", "description": "The type of the studio component." } }, "autoNamingSpec": { - "sdkName": "name", - "maxLength": 64 + "sdkName": "name" }, "required": [ "studioId", @@ -76235,6 +76324,10 @@ "type": "integer", "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" }, + "clusterScalabilityType": { + "type": "string", + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation." + }, "copyTagsToSnapshot": { "type": "boolean", "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" @@ -76481,6 +76574,11 @@ "type": "integer", "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" }, + "clusterScalabilityType": { + "type": "string", + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation.", + "replaceOnChanges": true + }, "copyTagsToSnapshot": { "type": "boolean", "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" @@ -76726,6 +76824,7 @@ }, "createOnly": [ "availabilityZones", + "clusterScalabilityType", "databaseName", "dbClusterIdentifier", "dbSubnetGroupName", @@ -76742,6 +76841,7 @@ "useLatestRestorableTime" ], "writeOnly": [ + "clusterScalabilityType", "dbInstanceParameterGroupName", "masterUserPassword", "restoreToTime", @@ -78001,6 +78101,107 @@ "dbProxyName": "DBProxyName" } }, + "aws-native:rds:DbShardGroup": { + "cf": "AWS::RDS::DBShardGroup", + "inputs": { + "computeRedundancy": { + "type": "integer", + "description": "Specifies whether to create standby instances for the DB shard group." + }, + "dbClusterIdentifier": { + "type": "string", + "description": "The name of the primary DB cluster for the DB shard group." + }, + "dbShardGroupIdentifier": { + "type": "string", + "description": "The name of the DB shard group." + }, + "maxAcu": { + "type": "number", + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "minAcu": { + "type": "number", + "description": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "Indicates whether the DB shard group is publicly accessible." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "outputs": { + "computeRedundancy": { + "type": "integer", + "description": "Specifies whether to create standby instances for the DB shard group." + }, + "dbClusterIdentifier": { + "type": "string", + "description": "The name of the primary DB cluster for the DB shard group.", + "replaceOnChanges": true + }, + "dbShardGroupIdentifier": { + "type": "string", + "description": "The name of the DB shard group.", + "replaceOnChanges": true + }, + "dbShardGroupResourceId": { + "type": "string", + "description": "The Amazon Web Services Region-unique, immutable identifier for the DB shard group." + }, + "endpoint": { + "type": "string", + "description": "The connection endpoint for the DB shard group." + }, + "maxAcu": { + "type": "number", + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "minAcu": { + "type": "number", + "description": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "Indicates whether the DB shard group is publicly accessible.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "required": [ + "dbClusterIdentifier", + "maxAcu" + ], + "createOnly": [ + "dbClusterIdentifier", + "dbShardGroupIdentifier", + "publiclyAccessible" + ], + "writeOnly": [ + "minAcu" + ], + "irreversibleNames": { + "dbClusterIdentifier": "DBClusterIdentifier", + "dbShardGroupIdentifier": "DBShardGroupIdentifier", + "dbShardGroupResourceId": "DBShardGroupResourceId", + "maxAcu": "MaxACU", + "minAcu": "MinACU" + }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:rds:DbSubnetGroup": { "cf": "AWS::RDS::DBSubnetGroup", "inputs": { @@ -94915,6 +95116,132 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:transfer:User": { + "cf": "AWS::Transfer::User", + "inputs": { + "homeDirectory": { + "type": "string", + "description": "The landing directory (folder) for a user when they log in to the server using the client.\n\nA `HomeDirectory` example is `/bucket_name/home/mydirectory` .\n\n\u003e The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` ." + }, + "homeDirectoryMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryMapEntry" + }, + "description": "Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target` . This value can be set only when `HomeDirectoryType` is set to *LOGICAL* .\n\nThe following is an `Entry` and `Target` pair example.\n\n`[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`\n\nIn most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\" `chroot` \"). To do this, you can set `Entry` to `/` and set `Target` to the value the user should see for their home directory when they log in.\n\nThe following is an `Entry` and `Target` pair example for `chroot` .\n\n`[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`" + }, + "homeDirectoryType": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryType", + "description": "The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL` , you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.\n\n\u003e If `HomeDirectoryType` is `LOGICAL` , you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH` , you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template." + }, + "policy": { + "type": "string", + "description": "A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}` , `${Transfer:HomeDirectory}` , and `${Transfer:HomeBucket}` .\n\n\u003e For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.\n\u003e \n\u003e For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) .\n\u003e \n\u003e For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* ." + }, + "posixProfile": { + "$ref": "#/types/aws-native:transfer:UserPosixProfile", + "description": "Specifies the full POSIX identity, including user ID ( `Uid` ), group ID ( `Gid` ), and any secondary groups IDs ( `SecondaryGids` ), that controls your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems." + }, + "role": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests." + }, + "serverId": { + "type": "string", + "description": "A system-assigned unique identifier for a server instance. This is the specific server that you added your user to." + }, + "sshPublicKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This represents the SSH User Public Keys for CloudFormation resource" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose." + }, + "userName": { + "type": "string", + "description": "A unique string that identifies a user and is associated with a `ServerId` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` .\n\nAn example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` ." + }, + "homeDirectory": { + "type": "string", + "description": "The landing directory (folder) for a user when they log in to the server using the client.\n\nA `HomeDirectory` example is `/bucket_name/home/mydirectory` .\n\n\u003e The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` ." + }, + "homeDirectoryMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryMapEntry" + }, + "description": "Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target` . This value can be set only when `HomeDirectoryType` is set to *LOGICAL* .\n\nThe following is an `Entry` and `Target` pair example.\n\n`[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`\n\nIn most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\" `chroot` \"). To do this, you can set `Entry` to `/` and set `Target` to the value the user should see for their home directory when they log in.\n\nThe following is an `Entry` and `Target` pair example for `chroot` .\n\n`[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`" + }, + "homeDirectoryType": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryType", + "description": "The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL` , you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.\n\n\u003e If `HomeDirectoryType` is `LOGICAL` , you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH` , you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template." + }, + "policy": { + "type": "string", + "description": "A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}` , `${Transfer:HomeDirectory}` , and `${Transfer:HomeBucket}` .\n\n\u003e For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.\n\u003e \n\u003e For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) .\n\u003e \n\u003e For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* ." + }, + "posixProfile": { + "$ref": "#/types/aws-native:transfer:UserPosixProfile", + "description": "Specifies the full POSIX identity, including user ID ( `Uid` ), group ID ( `Gid` ), and any secondary groups IDs ( `SecondaryGids` ), that controls your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems." + }, + "role": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests." + }, + "serverId": { + "type": "string", + "description": "A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.", + "replaceOnChanges": true + }, + "sshPublicKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This represents the SSH User Public Keys for CloudFormation resource" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose." + }, + "userName": { + "type": "string", + "description": "A unique string that identifies a user and is associated with a `ServerId` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.", + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "userName", + "minLength": 3, + "maxLength": 100 + }, + "required": [ + "role", + "serverId" + ], + "createOnly": [ + "serverId", + "userName" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:transfer:Workflow": { "cf": "AWS::Transfer::Workflow", "inputs": { @@ -96656,7 +96983,8 @@ "cf": "AWS::Wisdom::AIAgent", "inputs": { "assistantId": { - "type": "string" + "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." }, "configuration": { "oneOf": [ @@ -96666,36 +96994,45 @@ { "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentConfiguration1Properties" } - ] + ], + "description": "Configuration for the AI Agent." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the AI Agent." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the AI Agent." }, "tags": { "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "The tags used to organize, track, or control access for this resource." }, "type": { - "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentType" + "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentType", + "description": "The type of the AI Agent." } }, "outputs": { "aiAgentArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AI agent." }, "aiAgentId": { - "type": "string" + "type": "string", + "description": "The identifier of the AI Agent." }, "assistantArn": { - "type": "string" + "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 }, "configuration": { @@ -96706,13 +97043,16 @@ { "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentConfiguration1Properties" } - ] + ], + "description": "Configuration for the AI Agent." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the AI Agent." }, "name": { "type": "string", + "description": "The name of the AI Agent.", "replaceOnChanges": true }, "tags": { @@ -96720,10 +97060,12 @@ "additionalProperties": { "type": "string" }, + "description": "The tags used to organize, track, or control access for this resource.", "replaceOnChanges": true }, "type": { "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentType", + "description": "The type of the AI Agent.", "replaceOnChanges": true } }, @@ -96750,6 +97092,61 @@ "tagsProperty": "tags", "tagsStyle": "stringMap" }, + "aws-native:wisdom:AiAgentVersion": { + "cf": "AWS::Wisdom::AIAgentVersion", + "inputs": { + "aiAgentId": { + "type": "string" + }, + "assistantId": { + "type": "string" + }, + "modifiedTimeSeconds": { + "type": "number" + } + }, + "outputs": { + "aiAgentArn": { + "type": "string" + }, + "aiAgentId": { + "type": "string", + "replaceOnChanges": true + }, + "aiAgentVersionId": { + "type": "string" + }, + "assistantArn": { + "type": "string" + }, + "assistantId": { + "type": "string", + "replaceOnChanges": true + }, + "modifiedTimeSeconds": { + "type": "number", + "replaceOnChanges": true + }, + "versionNumber": { + "type": "number", + "description": "The version number for this AI Agent version." + } + }, + "required": [ + "aiAgentId", + "assistantId" + ], + "createOnly": [ + "aiAgentId", + "assistantId", + "modifiedTimeSeconds" + ], + "irreversibleNames": { + "aiAgentArn": "AIAgentArn", + "aiAgentId": "AIAgentId", + "aiAgentVersionId": "AIAgentVersionId" + } + }, "aws-native:wisdom:AiPrompt": { "cf": "AWS::Wisdom::AIPrompt", "inputs": { @@ -96917,7 +97314,8 @@ "replaceOnChanges": true }, "versionNumber": { - "type": "number" + "type": "number", + "description": "The version number for this AI Prompt version." } }, "required": [ @@ -104934,6 +105332,19 @@ } } }, + "aws-native:appsync:ApiDnsMap": { + "type": "object", + "properties": { + "http": { + "type": "string", + "description": "The domain name of the Api's HTTP endpoint." + }, + "realtime": { + "type": "string", + "description": "The domain name of the Api's real-time endpoint." + } + } + }, "aws-native:appsync:ApiEventConfig": { "type": "object", "properties": { @@ -104941,28 +105352,33 @@ "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthProvider" - } + }, + "description": "A list of authorization providers." }, "connectionAuthModes": { "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthMode" - } + }, + "description": "A list of valid authorization modes for the Event API connections." }, "defaultPublishAuthModes": { "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthMode" - } + }, + "description": "A list of valid authorization modes for the Event API publishing." }, "defaultSubscribeAuthModes": { "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthMode" - } + }, + "description": "A list of valid authorization modes for the Event API subscriptions." }, "logConfig": { - "$ref": "#/types/aws-native:appsync:ApiEventLogConfig" + "$ref": "#/types/aws-native:appsync:ApiEventLogConfig", + "description": "The CloudWatch Logs configuration for the Event API." } } }, @@ -104970,10 +105386,12 @@ "type": "object", "properties": { "cloudWatchLogsRoleArn": { - "type": "string" + "type": "string", + "description": "The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account." }, "logLevel": { - "$ref": "#/types/aws-native:appsync:ApiEventLogLevel" + "$ref": "#/types/aws-native:appsync:ApiEventLogLevel", + "description": "The type of information to log for the Event API." } } }, @@ -121829,6 +122247,9 @@ "s3BucketArn": "S3BucketArn" } }, + "aws-native:datasync:TaskMode": { + "type": "string" + }, "aws-native:datasync:TaskOptions": { "type": "object", "properties": { @@ -125583,7 +126004,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateElasticInferenceAccelerator" }, - "description": "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service." + "description": "Amazon Elastic Inference is no longer available.\n An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service." }, "enclaveOptions": { "$ref": "#/types/aws-native:ec2:LaunchTemplateEnclaveOptions", @@ -125611,7 +126032,7 @@ }, "instanceRequirements": { "$ref": "#/types/aws-native:ec2:LaunchTemplateInstanceRequirements", - "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*." + "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*." }, "instanceType": { "type": "string", @@ -125682,7 +126103,7 @@ "items": { "$ref": "#/types/aws-native:ec2:TagSpecification" }, - "description": "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." + "description": "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." }, "userData": { "type": "string", @@ -125707,7 +126128,7 @@ }, "kmsKeyId": { "type": "string", - "description": "The ARN of the symmetric KMSlong (KMS) CMK used for encryption." + "description": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption." }, "snapshotId": { "type": "string", @@ -125845,7 +126266,7 @@ "items": { "type": "string" }, - "description": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n + For instance types with inference accelerators, specify ``inference``.\n \n Default: Any accelerator type" + "description": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n \n Default: Any accelerator type" }, "allowedInstanceTypes": { "type": "array", @@ -126101,7 +126522,7 @@ }, "interfaceType": { "type": "string", - "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``" + "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``" }, "ipv4PrefixCount": { "type": "integer", @@ -127476,6 +127897,9 @@ } } }, + "aws-native:ec2:SecurityGroupVpcAssociationState": { + "type": "string" + }, "aws-native:ec2:SnapshotBlockPublicAccessState": { "type": "string" }, @@ -129246,7 +129670,7 @@ }, "minimumScalingStepSize": { "type": "integer", - "description": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.\n\nIf you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand." + "description": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.\n\nIf you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand." }, "status": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScalingStatus", @@ -129669,7 +130093,7 @@ }, "loadBalancerName": { "type": "string", - "description": "The name of the load balancer to associate with the Amazon ECS service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted." + "description": "The name of the load balancer to associate with the service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted." }, "targetGroupArn": { "type": "string", @@ -129709,7 +130133,7 @@ }, "filesystemType": { "type": "string", - "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are\n ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default." + "description": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available Linux filesystem types are\n ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n The available Windows filesystem types are ``NTFS``." }, "iops": { "type": "integer", @@ -132435,7 +132859,7 @@ "properties": { "key": { "type": "string", - "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity." + "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``." }, "value": { "type": "string", @@ -132458,6 +132882,9 @@ "type": "string", "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer." }, + "sourceNatIpv6Prefix": { + "type": "string" + }, "subnetId": { "type": "string", "description": "The ID of the subnet." @@ -136013,7 +136440,7 @@ }, "locationCapacity": { "$ref": "#/types/aws-native:gamelift:FleetLocationCapacity", - "description": "Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" + "description": "Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" } } }, @@ -158900,47 +159327,38 @@ } } }, - "aws-native:nimblestudio:LaunchProfileAutomaticTerminationMode": { - "type": "string" - }, - "aws-native:nimblestudio:LaunchProfileSessionBackupMode": { - "type": "string" - }, - "aws-native:nimblestudio:LaunchProfileSessionPersistenceMode": { - "type": "string" - }, "aws-native:nimblestudio:LaunchProfileStreamConfiguration": { "type": "object", "properties": { "automaticTerminationMode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileAutomaticTerminationMode", + "type": "string", "description": "Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state.\n\n- When `ACTIVATED` , the streaming session is scheduled for termination after being in the `STOPPED` state for the time specified in `maxStoppedSessionLengthInMinutes` .\n- When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely.\n\nThis parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` ." }, "clipboardMode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingClipboardMode", + "type": "string", "description": "Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client." }, "ec2InstanceTypes": { "type": "array", "items": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingInstanceType" + "type": "string" }, - "description": "\u003cp\u003eThe EC2 instance types that users can select from when launching a streaming session\n with this launch profile.\u003c/p\u003e" + "description": "The EC2 instance types that users can select from when launching a streaming session with this launch profile." }, "maxSessionLengthInMinutes": { "type": "number", - "description": "\u003cp\u003eThe length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.\u003c/p\u003e" + "description": "The length of time, in minutes, that a streaming session can be active before it is stopped or terminated. After this point, Nimble Studio automatically terminates or stops the session. The default length of time is 690 minutes, and the maximum length of time is 30 days." }, "maxStoppedSessionLengthInMinutes": { "type": "number", - "description": "\u003cp\u003eInteger that determines if you can start and stop your sessions and how long a session\n can stay in the \u003ccode\u003eSTOPPED\u003c/code\u003e state. The default value is 0. The maximum value is\n 5760.\u003c/p\u003e\n \u003cp\u003eThis field is allowed only when \u003ccode\u003esessionPersistenceMode\u003c/code\u003e is\n \u003ccode\u003eACTIVATED\u003c/code\u003e and \u003ccode\u003eautomaticTerminationMode\u003c/code\u003e is\n \u003ccode\u003eACTIVATED\u003c/code\u003e.\u003c/p\u003e\n \u003cp\u003eIf the value is set to 0, your sessions can’t be \u003ccode\u003eSTOPPED\u003c/code\u003e. If you then\n call \u003ccode\u003eStopStreamingSession\u003c/code\u003e, the session fails. If the time that a session\n stays in the \u003ccode\u003eREADY\u003c/code\u003e state exceeds the \u003ccode\u003emaxSessionLengthInMinutes\u003c/code\u003e\n value, the session will automatically be terminated (instead of\n \u003ccode\u003eSTOPPED\u003c/code\u003e).\u003c/p\u003e\n \u003cp\u003eIf the value is set to a positive number, the session can be stopped. You can call\n \u003ccode\u003eStopStreamingSession\u003c/code\u003e to stop sessions in the \u003ccode\u003eREADY\u003c/code\u003e state.\n If the time that a session stays in the \u003ccode\u003eREADY\u003c/code\u003e state exceeds the\n \u003ccode\u003emaxSessionLengthInMinutes\u003c/code\u003e value, the session will automatically be\n stopped (instead of terminated).\u003c/p\u003e" + "description": "Integer that determines if you can start and stop your sessions and how long a session can stay in the `STOPPED` state. The default value is 0. The maximum value is 5760.\n\nThis field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` .\n\nIf the value is set to 0, your sessions can’t be `STOPPED` . If you then call `StopStreamingSession` , the session fails. If the time that a session stays in the `READY` state exceeds the `maxSessionLengthInMinutes` value, the session will automatically be terminated (instead of `STOPPED` ).\n\nIf the value is set to a positive number, the session can be stopped. You can call `StopStreamingSession` to stop sessions in the `READY` state. If the time that a session stays in the `READY` state exceeds the `maxSessionLengthInMinutes` value, the session will automatically be stopped (instead of terminated)." }, "sessionBackup": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamConfigurationSessionBackup", "description": "Information about the streaming session backup." }, "sessionPersistenceMode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileSessionPersistenceMode", + "type": "string", "description": "Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured." }, "sessionStorage": { @@ -158952,7 +159370,7 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eThe streaming images that users can select from when launching a streaming session\n with this launch profile.\u003c/p\u003e" + "description": "The streaming images that users can select from when launching a streaming session with this launch profile." }, "volumeConfiguration": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileVolumeConfiguration", @@ -158965,10 +159383,10 @@ "properties": { "maxBackupsToRetain": { "type": "number", - "description": "\u003cp\u003eThe maximum number of backups that each streaming session created from this launch\n profile can have.\u003c/p\u003e" + "description": "The maximum number of backups that each streaming session created from this launch profile can have." }, "mode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileSessionBackupMode", + "type": "string", "description": "Specifies how artists sessions are backed up.\n\nConfigures backups for streaming sessions launched with this launch profile. The default value is `DEACTIVATED` , which means that backups are deactivated. To allow backups, set this value to `AUTOMATIC` ." } } @@ -158979,9 +159397,9 @@ "mode": { "type": "array", "items": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingSessionStorageMode" + "type": "string" }, - "description": "\u003cp\u003eAllows artists to upload files to their workstations. The only valid option is\n \u003ccode\u003eUPLOAD\u003c/code\u003e.\u003c/p\u003e" + "description": "Allows artists to upload files to their workstations. The only valid option is `UPLOAD` ." }, "root": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingSessionStorageRoot", @@ -158989,25 +159407,16 @@ } } }, - "aws-native:nimblestudio:LaunchProfileStreamingClipboardMode": { - "type": "string" - }, - "aws-native:nimblestudio:LaunchProfileStreamingInstanceType": { - "type": "string" - }, - "aws-native:nimblestudio:LaunchProfileStreamingSessionStorageMode": { - "type": "string" - }, "aws-native:nimblestudio:LaunchProfileStreamingSessionStorageRoot": { "type": "object", "properties": { "linux": { "type": "string", - "description": "\u003cp\u003eThe folder path in Linux workstations where files are uploaded.\u003c/p\u003e" + "description": "The folder path in Linux workstations where files are uploaded." }, "windows": { "type": "string", - "description": "\u003cp\u003eThe folder path in Windows workstations where files are uploaded.\u003c/p\u003e" + "description": "The folder path in Windows workstations where files are uploaded." } } }, @@ -159016,15 +159425,15 @@ "properties": { "iops": { "type": "number", - "description": "\u003cp\u003eThe number of I/O operations per second for the root volume that is attached to\n streaming session.\u003c/p\u003e" + "description": "The number of I/O operations per second for the root volume that is attached to streaming session." }, "size": { "type": "number", - "description": "\u003cp\u003eThe size of the root volume that is attached to the streaming session. The root volume\n size is measured in GiBs.\u003c/p\u003e" + "description": "The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs." }, "throughput": { "type": "number", - "description": "\u003cp\u003eThe throughput to provision for the root volume that is attached to the streaming\n session. The throughput is measured in MiB/s.\u003c/p\u003e" + "description": "The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s." } } }, @@ -159033,27 +159442,24 @@ "properties": { "keyArn": { "type": "string", - "description": "\u003cp\u003eThe ARN for a KMS key that is used to encrypt studio data.\u003c/p\u003e" + "description": "The ARN for a KMS key that is used to encrypt studio data." }, "keyType": { - "$ref": "#/types/aws-native:nimblestudio:StreamingImageEncryptionConfigurationKeyType", + "type": "string", "description": "The type of KMS key that is used to encrypt studio data." } } }, - "aws-native:nimblestudio:StreamingImageEncryptionConfigurationKeyType": { - "type": "string" - }, "aws-native:nimblestudio:StudioComponentActiveDirectoryComputerAttribute": { "type": "object", "properties": { "name": { "type": "string", - "description": "\u003cp\u003eThe name for the LDAP attribute.\u003c/p\u003e" + "description": "The name for the LDAP attribute." }, "value": { "type": "string", - "description": "\u003cp\u003eThe value for the LDAP attribute.\u003c/p\u003e" + "description": "The value for the LDAP attribute." } } }, @@ -159065,15 +159471,15 @@ "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentActiveDirectoryComputerAttribute" }, - "description": "\u003cp\u003eA collection of custom attributes for an Active Directory computer.\u003c/p\u003e" + "description": "A collection of custom attributes for an Active Directory computer." }, "directoryId": { "type": "string", - "description": "\u003cp\u003eThe directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.\u003c/p\u003e" + "description": "The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component." }, "organizationalUnitDistinguishedName": { "type": "string", - "description": "\u003cp\u003eThe distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.\u003c/p\u003e" + "description": "The distinguished name (DN) and organizational unit (OU) of an Active Directory computer." } } }, @@ -159082,43 +159488,32 @@ "properties": { "activeDirectoryUser": { "type": "string", - "description": "\u003cp\u003eThe name of an Active Directory user that is used on ComputeFarm worker\n instances.\u003c/p\u003e" + "description": "The name of an Active Directory user that is used on ComputeFarm worker instances." }, "endpoint": { "type": "string", - "description": "\u003cp\u003eThe endpoint of the ComputeFarm that is accessed by the studio component\n resource.\u003c/p\u003e" + "description": "The endpoint of the ComputeFarm that is accessed by the studio component resource." } } }, - "aws-native:nimblestudio:StudioComponentConfiguration0Properties": { + "aws-native:nimblestudio:StudioComponentConfiguration": { "type": "object", "properties": { "activeDirectoryConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentActiveDirectoryConfiguration" - } - } - }, - "aws-native:nimblestudio:StudioComponentConfiguration1Properties": { - "type": "object", - "properties": { + "$ref": "#/types/aws-native:nimblestudio:StudioComponentActiveDirectoryConfiguration", + "description": "The configuration for a AWS Directory Service for Microsoft Active Directory studio resource." + }, "computeFarmConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentComputeFarmConfiguration" - } - } - }, - "aws-native:nimblestudio:StudioComponentConfiguration2Properties": { - "type": "object", - "properties": { + "$ref": "#/types/aws-native:nimblestudio:StudioComponentComputeFarmConfiguration", + "description": "The configuration for a render farm that is associated with a studio resource." + }, "licenseServiceConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentLicenseServiceConfiguration" - } - } - }, - "aws-native:nimblestudio:StudioComponentConfiguration3Properties": { - "type": "object", - "properties": { + "$ref": "#/types/aws-native:nimblestudio:StudioComponentLicenseServiceConfiguration", + "description": "The configuration for a license service that is associated with a studio resource." + }, "sharedFileSystemConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentSharedFileSystemConfiguration" + "$ref": "#/types/aws-native:nimblestudio:StudioComponentSharedFileSystemConfiguration", + "description": "The configuration for a shared file storage system that is associated with a studio resource." } } }, @@ -159127,34 +159522,28 @@ "properties": { "launchProfileProtocolVersion": { "type": "string", - "description": "\u003cp\u003eThe version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".\u003c/p\u003e" + "description": "The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\"." }, "platform": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentLaunchProfilePlatform", + "type": "string", "description": "The platform of the initialization script, either Windows or Linux." }, "runContext": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentInitializationScriptRunContext", + "type": "string", "description": "The method to use when running the initialization script." }, "script": { "type": "string", - "description": "\u003cp\u003eThe initialization script.\u003c/p\u003e" + "description": "The initialization script." } } }, - "aws-native:nimblestudio:StudioComponentInitializationScriptRunContext": { - "type": "string" - }, - "aws-native:nimblestudio:StudioComponentLaunchProfilePlatform": { - "type": "string" - }, "aws-native:nimblestudio:StudioComponentLicenseServiceConfiguration": { "type": "object", "properties": { "endpoint": { "type": "string", - "description": "\u003cp\u003eThe endpoint of the license service that is accessed by the studio component\n resource.\u003c/p\u003e" + "description": "The endpoint of the license service that is accessed by the studio component resource." } } }, @@ -159163,11 +159552,11 @@ "properties": { "key": { "type": "string", - "description": "\u003cp\u003eA script parameter key.\u003c/p\u003e" + "description": "A script parameter key." }, "value": { "type": "string", - "description": "\u003cp\u003eA script parameter value.\u003c/p\u003e" + "description": "A script parameter value." } } }, @@ -159176,48 +159565,39 @@ "properties": { "endpoint": { "type": "string", - "description": "\u003cp\u003eThe endpoint of the shared file system that is accessed by the studio component\n resource.\u003c/p\u003e" + "description": "The endpoint of the shared file system that is accessed by the studio component resource." }, "fileSystemId": { "type": "string", - "description": "\u003cp\u003eThe unique identifier for a file system.\u003c/p\u003e" + "description": "The unique identifier for a file system." }, "linuxMountPoint": { "type": "string", - "description": "\u003cp\u003eThe mount location for a shared file system on a Linux virtual workstation.\u003c/p\u003e" + "description": "The mount location for a shared file system on a Linux virtual workstation." }, "shareName": { "type": "string", - "description": "\u003cp\u003eThe name of the file share.\u003c/p\u003e" + "description": "The name of the file share." }, "windowsMountDrive": { "type": "string", - "description": "\u003cp\u003eThe mount location for a shared file system on a Windows virtual workstation.\u003c/p\u003e" + "description": "The mount location for a shared file system on a Windows virtual workstation." } } }, - "aws-native:nimblestudio:StudioComponentSubtype": { - "type": "string" - }, - "aws-native:nimblestudio:StudioComponentType": { - "type": "string" - }, "aws-native:nimblestudio:StudioEncryptionConfiguration": { "type": "object", "properties": { "keyArn": { "type": "string", - "description": "\u003cp\u003eThe ARN for a KMS key that is used to encrypt studio data.\u003c/p\u003e" + "description": "The ARN for a KMS key that is used to encrypt studio data." }, "keyType": { - "$ref": "#/types/aws-native:nimblestudio:StudioEncryptionConfigurationKeyType", + "type": "string", "description": "The type of KMS key that is used to encrypt studio data." } } }, - "aws-native:nimblestudio:StudioEncryptionConfigurationKeyType": { - "type": "string" - }, "aws-native:oam:LinkConfiguration": { "type": "object", "properties": { @@ -184557,6 +184937,9 @@ } } }, + "aws-native:quicksight:DataSourceAuthenticationType": { + "type": "string" + }, "aws-native:quicksight:DataSourceCredentialPair": { "type": "object", "properties": { @@ -184683,6 +185066,23 @@ } } }, + "aws-native:quicksight:DataSourceOAuthParameters": { + "type": "object", + "properties": { + "identityProviderResourceUri": { + "type": "string" + }, + "identityProviderVpcConnectionProperties": { + "$ref": "#/types/aws-native:quicksight:DataSourceVpcConnectionProperties" + }, + "oAuthScope": { + "type": "string" + }, + "tokenProviderUrl": { + "type": "string" + } + } + }, "aws-native:quicksight:DataSourceOracleParameters": { "type": "object", "properties": { @@ -184929,14 +185329,23 @@ "aws-native:quicksight:DataSourceSnowflakeParameters": { "type": "object", "properties": { + "authenticationType": { + "$ref": "#/types/aws-native:quicksight:DataSourceAuthenticationType" + }, "database": { "type": "string", "description": "\u003cp\u003eDatabase.\u003c/p\u003e" }, + "databaseAccessControlRole": { + "type": "string" + }, "host": { "type": "string", "description": "\u003cp\u003eHost.\u003c/p\u003e" }, + "oAuthParameters": { + "$ref": "#/types/aws-native:quicksight:DataSourceOAuthParameters" + }, "warehouse": { "type": "string", "description": "\u003cp\u003eWarehouse.\u003c/p\u003e" @@ -184985,14 +185394,23 @@ "aws-native:quicksight:DataSourceStarburstParameters": { "type": "object", "properties": { + "authenticationType": { + "$ref": "#/types/aws-native:quicksight:DataSourceAuthenticationType" + }, "catalog": { "type": "string", "description": "\u003cp\u003eThe catalog name for the Starburst data source.\u003c/p\u003e" }, + "databaseAccessControlRole": { + "type": "string" + }, "host": { "type": "string", "description": "\u003cp\u003eThe host name of the Starburst data source.\u003c/p\u003e" }, + "oAuthParameters": { + "$ref": "#/types/aws-native:quicksight:DataSourceOAuthParameters" + }, "port": { "type": "number", "description": "\u003cp\u003eThe port for the Starburst data source.\u003c/p\u003e" @@ -196582,6 +197000,19 @@ "aws-native:rds:DbProxyTargetGroupTargetGroupName": { "type": "string" }, + "aws-native:rds:DbShardGroupTag": { + "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 -. " + }, + "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 -. " + } + } + }, "aws-native:rds:DbSubnetGroupTag": { "type": "object", "properties": { @@ -212036,6 +212467,62 @@ } } }, + "aws-native:transfer:UserHomeDirectoryMapEntry": { + "type": "object", + "properties": { + "entry": { + "type": "string", + "description": "Represents an entry for `HomeDirectoryMappings` ." + }, + "target": { + "type": "string", + "description": "Represents the map target that is used in a `HomeDirectoryMapEntry` ." + }, + "type": { + "$ref": "#/types/aws-native:transfer:UserMapType", + "description": "Specifies the type of mapping. Set the type to `FILE` if you want the mapping to point to a file, or `DIRECTORY` for the directory to point to a directory.\n\n\u003e By default, home directory mappings have a `Type` of `DIRECTORY` when you create a Transfer Family server. You would need to explicitly set `Type` to `FILE` if you want a mapping to have a file target." + } + } + }, + "aws-native:transfer:UserHomeDirectoryType": { + "type": "string" + }, + "aws-native:transfer:UserMapType": { + "type": "string" + }, + "aws-native:transfer:UserPosixProfile": { + "type": "object", + "properties": { + "gid": { + "type": "number", + "description": "The POSIX group ID used for all EFS operations by this user." + }, + "secondaryGids": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The secondary POSIX group IDs used for all EFS operations by this user." + }, + "uid": { + "type": "number", + "description": "The POSIX user ID used for all EFS operations by this user." + } + } + }, + "aws-native:transfer:UserTag": { + "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:WorkflowEfsInputFileLocation": { "type": "object", "properties": { @@ -218478,6 +218965,13 @@ "id" ] }, + "aws-native:ec2:getSecurityGroupVpcAssociation": { + "cf": "AWS::EC2::SecurityGroupVpcAssociation", + "ids": [ + "groupId", + "vpcId" + ] + }, "aws-native:ec2:getSnapshotBlockPublicAccess": { "cf": "AWS::EC2::SnapshotBlockPublicAccess", "ids": [ @@ -220832,14 +221326,12 @@ "aws-native:nimblestudio:getLaunchProfile": { "cf": "AWS::NimbleStudio::LaunchProfile", "ids": [ - "launchProfileId", - "studioId" + "launchProfileId" ] }, "aws-native:nimblestudio:getStreamingImage": { "cf": "AWS::NimbleStudio::StreamingImage", "ids": [ - "studioId", "streamingImageId" ] }, @@ -220852,8 +221344,7 @@ "aws-native:nimblestudio:getStudioComponent": { "cf": "AWS::NimbleStudio::StudioComponent", "ids": [ - "studioComponentId", - "studioId" + "studioComponentId" ] }, "aws-native:oam:getLink": { @@ -221280,6 +221771,12 @@ "targetGroupArn" ] }, + "aws-native:rds:getDbShardGroup": { + "cf": "AWS::RDS::DBShardGroup", + "ids": [ + "dbShardGroupIdentifier" + ] + }, "aws-native:rds:getDbSubnetGroup": { "cf": "AWS::RDS::DBSubnetGroup", "ids": [ @@ -222459,6 +222956,12 @@ "arn" ] }, + "aws-native:transfer:getUser": { + "cf": "AWS::Transfer::User", + "ids": [ + "arn" + ] + }, "aws-native:transfer:getWorkflow": { "cf": "AWS::Transfer::Workflow", "ids": [ @@ -222603,6 +223106,14 @@ "assistantId" ] }, + "aws-native:wisdom:getAiAgentVersion": { + "cf": "AWS::Wisdom::AIAgentVersion", + "ids": [ + "assistantId", + "aiAgentId", + "versionNumber" + ] + }, "aws-native:wisdom:getAiPrompt": { "cf": "AWS::Wisdom::AIPrompt", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index a1d1aa4fb2..2f102f0fad 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -9877,6 +9877,20 @@ "userPoolId" ] }, + "aws-native:appsync:ApiDnsMap": { + "description": "A map of DNS names for the AppSync API.", + "properties": { + "http": { + "type": "string", + "description": "The domain name of the Api's HTTP endpoint." + }, + "realtime": { + "type": "string", + "description": "The domain name of the Api's real-time endpoint." + } + }, + "type": "object" + }, "aws-native:appsync:ApiEventConfig": { "description": "The configuration for an Event Api", "properties": { @@ -9884,28 +9898,33 @@ "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthProvider" - } + }, + "description": "A list of authorization providers." }, "connectionAuthModes": { "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthMode" - } + }, + "description": "A list of valid authorization modes for the Event API connections." }, "defaultPublishAuthModes": { "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthMode" - } + }, + "description": "A list of valid authorization modes for the Event API publishing." }, "defaultSubscribeAuthModes": { "type": "array", "items": { "$ref": "#/types/aws-native:appsync:ApiAuthMode" - } + }, + "description": "A list of valid authorization modes for the Event API subscriptions." }, "logConfig": { - "$ref": "#/types/aws-native:appsync:ApiEventLogConfig" + "$ref": "#/types/aws-native:appsync:ApiEventLogConfig", + "description": "The CloudWatch Logs configuration for the Event API." } }, "type": "object", @@ -9920,10 +9939,12 @@ "description": "The log config for the AppSync API.", "properties": { "cloudWatchLogsRoleArn": { - "type": "string" + "type": "string", + "description": "The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account." }, "logLevel": { - "$ref": "#/types/aws-native:appsync:ApiEventLogLevel" + "$ref": "#/types/aws-native:appsync:ApiEventLogLevel", + "description": "The type of information to log for the Event API." } }, "type": "object", @@ -25074,7 +25095,7 @@ ] }, "aws-native:codebuild:FleetComputeType": { - "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.*", + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n\u003e If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB 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 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*", "type": "string", "enum": [ { @@ -25100,7 +25121,7 @@ ] }, "aws-native:codebuild:FleetEnvironmentType": { - "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* .", + "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 `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), 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": [ { @@ -34890,6 +34911,20 @@ }, "type": "object" }, + "aws-native:datasync:TaskMode": { + "description": "Specifies the task mode for the task.", + "type": "string", + "enum": [ + { + "name": "Basic", + "value": "BASIC" + }, + { + "name": "Enhanced", + "value": "ENHANCED" + } + ] + }, "aws-native:datasync:TaskOptions": { "description": "Represents the options that are available to control the behavior of a StartTaskExecution operation.", "properties": { @@ -40766,7 +40801,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateElasticInferenceAccelerator" }, - "description": "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service." + "description": "Amazon Elastic Inference is no longer available.\n An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service." }, "enclaveOptions": { "$ref": "#/types/aws-native:ec2:LaunchTemplateEnclaveOptions", @@ -40794,7 +40829,7 @@ }, "instanceRequirements": { "$ref": "#/types/aws-native:ec2:LaunchTemplateInstanceRequirements", - "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*." + "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*." }, "instanceType": { "type": "string", @@ -40865,7 +40900,7 @@ "items": { "$ref": "#/types/aws-native:ec2:TagSpecification" }, - "description": "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." + "description": "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)." }, "userData": { "type": "string", @@ -40891,7 +40926,7 @@ }, "kmsKeyId": { "type": "string", - "description": "The ARN of the symmetric KMSlong (KMS) CMK used for encryption." + "description": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption." }, "snapshotId": { "type": "string", @@ -41009,7 +41044,7 @@ "type": "object" }, "aws-native:ec2:LaunchTemplateInstanceRequirements": { - "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", + "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", "properties": { "acceleratorCount": { "$ref": "#/types/aws-native:ec2:LaunchTemplateAcceleratorCount", @@ -41038,7 +41073,7 @@ "items": { "type": "string" }, - "description": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n + For instance types with inference accelerators, specify ``inference``.\n \n Default: Any accelerator type" + "description": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n \n Default: Any accelerator type" }, "allowedInstanceTypes": { "type": "array", @@ -41302,7 +41337,7 @@ }, "interfaceType": { "type": "string", - "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``" + "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``" }, "ipv4PrefixCount": { "type": "integer", @@ -41504,7 +41539,7 @@ ] }, "aws-native:ec2:LaunchTemplateTagSpecification": { - "description": "Specifies the tags to apply to the launch template during creation.\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).", + "description": "Specifies the tags to apply to the launch template during creation.\n To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).", "properties": { "resourceType": { "type": "string", @@ -42830,6 +42865,35 @@ "value" ] }, + "aws-native:ec2:SecurityGroupVpcAssociationState": { + "type": "string", + "enum": [ + { + "name": "Associating", + "value": "associating" + }, + { + "name": "Associated", + "value": "associated" + }, + { + "name": "AssociationFailed", + "value": "association-failed" + }, + { + "name": "Disassociating", + "value": "disassociating" + }, + { + "name": "Disassociated", + "value": "disassociated" + }, + { + "name": "DisassociationFailed", + "value": "disassociation-failed" + } + ] + }, "aws-native:ec2:SnapshotBlockPublicAccessState": { "description": "The state of EBS Snapshot Block Public Access.", "type": "string", @@ -44259,7 +44323,7 @@ ] }, "aws-native:ec2:TagSpecification": { - "description": "Specifies the tags to apply to a resource when the resource is created for the launch template.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", + "description": "Specifies the tags to apply to resources that are created during instance launch.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "properties": { "resourceType": { "type": "string", @@ -45481,7 +45545,7 @@ }, "minimumScalingStepSize": { "type": "integer", - "description": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.\n\nIf you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand." + "description": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of `1` is used.\n\nWhen additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.\n\nIf you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand." }, "status": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScalingStatus", @@ -45914,7 +45978,7 @@ ] }, "aws-native:ecs:ServiceDeploymentConfiguration": { - "description": "Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.", + "description": "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods.", "properties": { "alarms": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentAlarms", @@ -46032,7 +46096,7 @@ }, "loadBalancerName": { "type": "string", - "description": "The name of the load balancer to associate with the Amazon ECS service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted." + "description": "The name of the load balancer to associate with the service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted." }, "targetGroupArn": { "type": "string", @@ -46066,7 +46130,7 @@ "type": "object" }, "aws-native:ecs:ServiceManagedEbsVolumeConfiguration": { - "description": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", + "description": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. For information about the supported launch types and operating systems, see [Supported operating systems and launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volumes-configuration) in the*Amazon Elastic Container Service Developer Guide*.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", "properties": { "encrypted": { "type": "boolean", @@ -46074,7 +46138,7 @@ }, "filesystemType": { "type": "string", - "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are\n ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default." + "description": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available Linux filesystem types are\n ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n The available Windows filesystem types are ``NTFS``." }, "iops": { "type": "integer", @@ -49391,7 +49455,7 @@ "properties": { "key": { "type": "string", - "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity." + "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``." }, "value": { "type": "string", @@ -49415,6 +49479,9 @@ "type": "string", "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer." }, + "sourceNatIpv6Prefix": { + "type": "string" + }, "subnetId": { "type": "string", "description": "The ID of the subnet." @@ -54818,7 +54885,7 @@ }, "locationCapacity": { "$ref": "#/types/aws-native:gamelift:FleetLocationCapacity", - "description": "Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" + "description": "Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" } }, "type": "object", @@ -60274,7 +60341,8 @@ }, "type": "object", "required": [ - "accountIds" + "accountIds", + "targetResourceTags" ] }, "aws-native:inspectorv2:CisScanConfigurationDailySchedule": { @@ -87859,77 +87927,37 @@ }, "type": "object" }, - "aws-native:nimblestudio:LaunchProfileAutomaticTerminationMode": { - "type": "string", - "enum": [ - { - "name": "Deactivated", - "value": "DEACTIVATED" - }, - { - "name": "Activated", - "value": "ACTIVATED" - } - ] - }, - "aws-native:nimblestudio:LaunchProfileSessionBackupMode": { - "type": "string", - "enum": [ - { - "name": "Automatic", - "value": "AUTOMATIC" - }, - { - "name": "Deactivated", - "value": "DEACTIVATED" - } - ] - }, - "aws-native:nimblestudio:LaunchProfileSessionPersistenceMode": { - "type": "string", - "enum": [ - { - "name": "Deactivated", - "value": "DEACTIVATED" - }, - { - "name": "Activated", - "value": "ACTIVATED" - } - ] - }, "aws-native:nimblestudio:LaunchProfileStreamConfiguration": { - "description": "\u003cp\u003eA configuration for a streaming session.\u003c/p\u003e", "properties": { "automaticTerminationMode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileAutomaticTerminationMode", + "type": "string", "description": "Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state.\n\n- When `ACTIVATED` , the streaming session is scheduled for termination after being in the `STOPPED` state for the time specified in `maxStoppedSessionLengthInMinutes` .\n- When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely.\n\nThis parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` ." }, "clipboardMode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingClipboardMode", + "type": "string", "description": "Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client." }, "ec2InstanceTypes": { "type": "array", "items": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingInstanceType" + "type": "string" }, - "description": "\u003cp\u003eThe EC2 instance types that users can select from when launching a streaming session\n with this launch profile.\u003c/p\u003e" + "description": "The EC2 instance types that users can select from when launching a streaming session with this launch profile." }, "maxSessionLengthInMinutes": { "type": "number", - "description": "\u003cp\u003eThe length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.\u003c/p\u003e" + "description": "The length of time, in minutes, that a streaming session can be active before it is stopped or terminated. After this point, Nimble Studio automatically terminates or stops the session. The default length of time is 690 minutes, and the maximum length of time is 30 days." }, "maxStoppedSessionLengthInMinutes": { "type": "number", - "description": "\u003cp\u003eInteger that determines if you can start and stop your sessions and how long a session\n can stay in the \u003ccode\u003eSTOPPED\u003c/code\u003e state. The default value is 0. The maximum value is\n 5760.\u003c/p\u003e\n \u003cp\u003eThis field is allowed only when \u003ccode\u003esessionPersistenceMode\u003c/code\u003e is\n \u003ccode\u003eACTIVATED\u003c/code\u003e and \u003ccode\u003eautomaticTerminationMode\u003c/code\u003e is\n \u003ccode\u003eACTIVATED\u003c/code\u003e.\u003c/p\u003e\n \u003cp\u003eIf the value is set to 0, your sessions can’t be \u003ccode\u003eSTOPPED\u003c/code\u003e. If you then\n call \u003ccode\u003eStopStreamingSession\u003c/code\u003e, the session fails. If the time that a session\n stays in the \u003ccode\u003eREADY\u003c/code\u003e state exceeds the \u003ccode\u003emaxSessionLengthInMinutes\u003c/code\u003e\n value, the session will automatically be terminated (instead of\n \u003ccode\u003eSTOPPED\u003c/code\u003e).\u003c/p\u003e\n \u003cp\u003eIf the value is set to a positive number, the session can be stopped. You can call\n \u003ccode\u003eStopStreamingSession\u003c/code\u003e to stop sessions in the \u003ccode\u003eREADY\u003c/code\u003e state.\n If the time that a session stays in the \u003ccode\u003eREADY\u003c/code\u003e state exceeds the\n \u003ccode\u003emaxSessionLengthInMinutes\u003c/code\u003e value, the session will automatically be\n stopped (instead of terminated).\u003c/p\u003e" + "description": "Integer that determines if you can start and stop your sessions and how long a session can stay in the `STOPPED` state. The default value is 0. The maximum value is 5760.\n\nThis field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` .\n\nIf the value is set to 0, your sessions can’t be `STOPPED` . If you then call `StopStreamingSession` , the session fails. If the time that a session stays in the `READY` state exceeds the `maxSessionLengthInMinutes` value, the session will automatically be terminated (instead of `STOPPED` ).\n\nIf the value is set to a positive number, the session can be stopped. You can call `StopStreamingSession` to stop sessions in the `READY` state. If the time that a session stays in the `READY` state exceeds the `maxSessionLengthInMinutes` value, the session will automatically be stopped (instead of terminated)." }, "sessionBackup": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamConfigurationSessionBackup", "description": "Information about the streaming session backup." }, "sessionPersistenceMode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileSessionPersistenceMode", + "type": "string", "description": "Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured." }, "sessionStorage": { @@ -87941,7 +87969,7 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eThe streaming images that users can select from when launching a streaming session\n with this launch profile.\u003c/p\u003e" + "description": "The streaming images that users can select from when launching a streaming session with this launch profile." }, "volumeConfiguration": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileVolumeConfiguration", @@ -87956,28 +87984,26 @@ ] }, "aws-native:nimblestudio:LaunchProfileStreamConfigurationSessionBackup": { - "description": "\u003cp\u003eConfigures how streaming sessions are backed up when launched from this launch\n profile.\u003c/p\u003e", "properties": { "maxBackupsToRetain": { "type": "number", - "description": "\u003cp\u003eThe maximum number of backups that each streaming session created from this launch\n profile can have.\u003c/p\u003e" + "description": "The maximum number of backups that each streaming session created from this launch profile can have." }, "mode": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileSessionBackupMode", + "type": "string", "description": "Specifies how artists sessions are backed up.\n\nConfigures backups for streaming sessions launched with this launch profile. The default value is `DEACTIVATED` , which means that backups are deactivated. To allow backups, set this value to `AUTOMATIC` ." } }, "type": "object" }, "aws-native:nimblestudio:LaunchProfileStreamConfigurationSessionStorage": { - "description": "\u003cp\u003eThe configuration for a streaming session’s upload storage.\u003c/p\u003e", "properties": { "mode": { "type": "array", "items": { - "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingSessionStorageMode" + "type": "string" }, - "description": "\u003cp\u003eAllows artists to upload files to their workstations. The only valid option is\n \u003ccode\u003eUPLOAD\u003c/code\u003e.\u003c/p\u003e" + "description": "Allows artists to upload files to their workstations. The only valid option is `UPLOAD` ." }, "root": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamingSessionStorageRoot", @@ -87989,126 +88015,44 @@ "mode" ] }, - "aws-native:nimblestudio:LaunchProfileStreamingClipboardMode": { - "type": "string", - "enum": [ - { - "name": "Enabled", - "value": "ENABLED" - }, - { - "name": "Disabled", - "value": "DISABLED" - } - ] - }, - "aws-native:nimblestudio:LaunchProfileStreamingInstanceType": { - "type": "string", - "enum": [ - { - "name": "G4dnXlarge", - "value": "g4dn.xlarge" - }, - { - "name": "G4dn2xlarge", - "value": "g4dn.2xlarge" - }, - { - "name": "G4dn4xlarge", - "value": "g4dn.4xlarge" - }, - { - "name": "G4dn8xlarge", - "value": "g4dn.8xlarge" - }, - { - "name": "G4dn12xlarge", - "value": "g4dn.12xlarge" - }, - { - "name": "G4dn16xlarge", - "value": "g4dn.16xlarge" - }, - { - "name": "G34xlarge", - "value": "g3.4xlarge" - }, - { - "name": "G3sXlarge", - "value": "g3s.xlarge" - }, - { - "name": "G5Xlarge", - "value": "g5.xlarge" - }, - { - "name": "G52xlarge", - "value": "g5.2xlarge" - }, - { - "name": "G54xlarge", - "value": "g5.4xlarge" - }, - { - "name": "G58xlarge", - "value": "g5.8xlarge" - }, - { - "name": "G516xlarge", - "value": "g5.16xlarge" - } - ] - }, - "aws-native:nimblestudio:LaunchProfileStreamingSessionStorageMode": { - "type": "string", - "enum": [ - { - "name": "Upload", - "value": "UPLOAD" - } - ] - }, "aws-native:nimblestudio:LaunchProfileStreamingSessionStorageRoot": { - "description": "\u003cp\u003eThe upload storage root location (folder) on streaming workstations where files are\n uploaded.\u003c/p\u003e", "properties": { "linux": { "type": "string", - "description": "\u003cp\u003eThe folder path in Linux workstations where files are uploaded.\u003c/p\u003e" + "description": "The folder path in Linux workstations where files are uploaded." }, "windows": { "type": "string", - "description": "\u003cp\u003eThe folder path in Windows workstations where files are uploaded.\u003c/p\u003e" + "description": "The folder path in Windows workstations where files are uploaded." } }, "type": "object" }, "aws-native:nimblestudio:LaunchProfileVolumeConfiguration": { - "description": "\u003cp\u003eCustom volume configuration for the root volumes that are attached to streaming\n sessions.\u003c/p\u003e\n \u003cp\u003eThis parameter is only allowed when \u003ccode\u003esessionPersistenceMode\u003c/code\u003e is\n \u003ccode\u003eACTIVATED\u003c/code\u003e.\u003c/p\u003e", "properties": { "iops": { "type": "number", - "description": "\u003cp\u003eThe number of I/O operations per second for the root volume that is attached to\n streaming session.\u003c/p\u003e" + "description": "The number of I/O operations per second for the root volume that is attached to streaming session." }, "size": { "type": "number", - "description": "\u003cp\u003eThe size of the root volume that is attached to the streaming session. The root volume\n size is measured in GiBs.\u003c/p\u003e" + "description": "The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs." }, "throughput": { "type": "number", - "description": "\u003cp\u003eThe throughput to provision for the root volume that is attached to the streaming\n session. The throughput is measured in MiB/s.\u003c/p\u003e" + "description": "The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s." } }, "type": "object" }, "aws-native:nimblestudio:StreamingImageEncryptionConfiguration": { - "description": "\u003cp\u003eTODO\u003c/p\u003e", "properties": { "keyArn": { "type": "string", - "description": "\u003cp\u003eThe ARN for a KMS key that is used to encrypt studio data.\u003c/p\u003e" + "description": "The ARN for a KMS key that is used to encrypt studio data." }, "keyType": { - "$ref": "#/types/aws-native:nimblestudio:StreamingImageEncryptionConfigurationKeyType", + "type": "string", "description": "The type of KMS key that is used to encrypt studio data." } }, @@ -88117,266 +88061,149 @@ "keyType" ] }, - "aws-native:nimblestudio:StreamingImageEncryptionConfigurationKeyType": { - "description": "\u003cp/\u003e", - "type": "string", - "enum": [ - { - "name": "CustomerManagedKey", - "value": "CUSTOMER_MANAGED_KEY" - } - ] - }, "aws-native:nimblestudio:StudioComponentActiveDirectoryComputerAttribute": { - "description": "\u003cp\u003eAn LDAP attribute of an Active Directory computer account, in the form of a name:value\n pair.\u003c/p\u003e", "properties": { "name": { "type": "string", - "description": "\u003cp\u003eThe name for the LDAP attribute.\u003c/p\u003e" + "description": "The name for the LDAP attribute." }, "value": { "type": "string", - "description": "\u003cp\u003eThe value for the LDAP attribute.\u003c/p\u003e" + "description": "The value for the LDAP attribute." } }, "type": "object" }, "aws-native:nimblestudio:StudioComponentActiveDirectoryConfiguration": { - "description": "\u003cp\u003eThe configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.\u003c/p\u003e", "properties": { "computerAttributes": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentActiveDirectoryComputerAttribute" }, - "description": "\u003cp\u003eA collection of custom attributes for an Active Directory computer.\u003c/p\u003e" + "description": "A collection of custom attributes for an Active Directory computer." }, "directoryId": { "type": "string", - "description": "\u003cp\u003eThe directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.\u003c/p\u003e" + "description": "The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component." }, "organizationalUnitDistinguishedName": { "type": "string", - "description": "\u003cp\u003eThe distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.\u003c/p\u003e" + "description": "The distinguished name (DN) and organizational unit (OU) of an Active Directory computer." } }, "type": "object" }, "aws-native:nimblestudio:StudioComponentComputeFarmConfiguration": { - "description": "\u003cp\u003eThe configuration for a render farm that is associated with a studio resource.\u003c/p\u003e", "properties": { "activeDirectoryUser": { "type": "string", - "description": "\u003cp\u003eThe name of an Active Directory user that is used on ComputeFarm worker\n instances.\u003c/p\u003e" + "description": "The name of an Active Directory user that is used on ComputeFarm worker instances." }, "endpoint": { "type": "string", - "description": "\u003cp\u003eThe endpoint of the ComputeFarm that is accessed by the studio component\n resource.\u003c/p\u003e" + "description": "The endpoint of the ComputeFarm that is accessed by the studio component resource." } }, "type": "object" }, - "aws-native:nimblestudio:StudioComponentConfiguration0Properties": { - "description": "\u003cp\u003eThe configuration of the studio component, based on component type.\u003c/p\u003e", + "aws-native:nimblestudio:StudioComponentConfiguration": { "properties": { "activeDirectoryConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentActiveDirectoryConfiguration" - } - }, - "type": "object", - "required": [ - "activeDirectoryConfiguration" - ] - }, - "aws-native:nimblestudio:StudioComponentConfiguration1Properties": { - "description": "\u003cp\u003eThe configuration of the studio component, based on component type.\u003c/p\u003e", - "properties": { + "$ref": "#/types/aws-native:nimblestudio:StudioComponentActiveDirectoryConfiguration", + "description": "The configuration for a AWS Directory Service for Microsoft Active Directory studio resource." + }, "computeFarmConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentComputeFarmConfiguration" - } - }, - "type": "object", - "required": [ - "computeFarmConfiguration" - ] - }, - "aws-native:nimblestudio:StudioComponentConfiguration2Properties": { - "description": "\u003cp\u003eThe configuration of the studio component, based on component type.\u003c/p\u003e", - "properties": { + "$ref": "#/types/aws-native:nimblestudio:StudioComponentComputeFarmConfiguration", + "description": "The configuration for a render farm that is associated with a studio resource." + }, "licenseServiceConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentLicenseServiceConfiguration" - } - }, - "type": "object", - "required": [ - "licenseServiceConfiguration" - ] - }, - "aws-native:nimblestudio:StudioComponentConfiguration3Properties": { - "description": "\u003cp\u003eThe configuration of the studio component, based on component type.\u003c/p\u003e", - "properties": { + "$ref": "#/types/aws-native:nimblestudio:StudioComponentLicenseServiceConfiguration", + "description": "The configuration for a license service that is associated with a studio resource." + }, "sharedFileSystemConfiguration": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentSharedFileSystemConfiguration" + "$ref": "#/types/aws-native:nimblestudio:StudioComponentSharedFileSystemConfiguration", + "description": "The configuration for a shared file storage system that is associated with a studio resource." } }, - "type": "object", - "required": [ - "sharedFileSystemConfiguration" - ] + "type": "object" }, "aws-native:nimblestudio:StudioComponentInitializationScript": { - "description": "\u003cp\u003eInitialization scripts for studio components.\u003c/p\u003e", "properties": { "launchProfileProtocolVersion": { "type": "string", - "description": "\u003cp\u003eThe version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".\u003c/p\u003e" + "description": "The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\"." }, "platform": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentLaunchProfilePlatform", + "type": "string", "description": "The platform of the initialization script, either Windows or Linux." }, "runContext": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentInitializationScriptRunContext", + "type": "string", "description": "The method to use when running the initialization script." }, "script": { "type": "string", - "description": "\u003cp\u003eThe initialization script.\u003c/p\u003e" + "description": "The initialization script." } }, "type": "object" }, - "aws-native:nimblestudio:StudioComponentInitializationScriptRunContext": { - "type": "string", - "enum": [ - { - "name": "SystemInitialization", - "value": "SYSTEM_INITIALIZATION" - }, - { - "name": "UserInitialization", - "value": "USER_INITIALIZATION" - } - ] - }, - "aws-native:nimblestudio:StudioComponentLaunchProfilePlatform": { - "type": "string", - "enum": [ - { - "name": "Linux", - "value": "LINUX" - }, - { - "name": "Windows", - "value": "WINDOWS" - } - ] - }, "aws-native:nimblestudio:StudioComponentLicenseServiceConfiguration": { - "description": "\u003cp\u003eThe configuration for a license service that is associated with a studio\n resource.\u003c/p\u003e", "properties": { "endpoint": { "type": "string", - "description": "\u003cp\u003eThe endpoint of the license service that is accessed by the studio component\n resource.\u003c/p\u003e" + "description": "The endpoint of the license service that is accessed by the studio component resource." } }, "type": "object" }, "aws-native:nimblestudio:StudioComponentScriptParameterKeyValue": { - "description": "\u003cp\u003eA parameter for a studio component script, in the form of a key:value pair.\u003c/p\u003e", "properties": { "key": { "type": "string", - "description": "\u003cp\u003eA script parameter key.\u003c/p\u003e" + "description": "A script parameter key." }, "value": { "type": "string", - "description": "\u003cp\u003eA script parameter value.\u003c/p\u003e" + "description": "A script parameter value." } }, "type": "object" }, "aws-native:nimblestudio:StudioComponentSharedFileSystemConfiguration": { - "description": "\u003cp\u003eThe configuration for a shared file storage system that is associated with a studio\n resource.\u003c/p\u003e", "properties": { "endpoint": { "type": "string", - "description": "\u003cp\u003eThe endpoint of the shared file system that is accessed by the studio component\n resource.\u003c/p\u003e" + "description": "The endpoint of the shared file system that is accessed by the studio component resource." }, "fileSystemId": { "type": "string", - "description": "\u003cp\u003eThe unique identifier for a file system.\u003c/p\u003e" + "description": "The unique identifier for a file system." }, "linuxMountPoint": { "type": "string", - "description": "\u003cp\u003eThe mount location for a shared file system on a Linux virtual workstation.\u003c/p\u003e" + "description": "The mount location for a shared file system on a Linux virtual workstation." }, "shareName": { "type": "string", - "description": "\u003cp\u003eThe name of the file share.\u003c/p\u003e" + "description": "The name of the file share." }, "windowsMountDrive": { "type": "string", - "description": "\u003cp\u003eThe mount location for a shared file system on a Windows virtual workstation.\u003c/p\u003e" + "description": "The mount location for a shared file system on a Windows virtual workstation." } }, "type": "object" }, - "aws-native:nimblestudio:StudioComponentSubtype": { - "type": "string", - "enum": [ - { - "name": "AwsManagedMicrosoftAd", - "value": "AWS_MANAGED_MICROSOFT_AD" - }, - { - "name": "AmazonFsxForWindows", - "value": "AMAZON_FSX_FOR_WINDOWS" - }, - { - "name": "AmazonFsxForLustre", - "value": "AMAZON_FSX_FOR_LUSTRE" - }, - { - "name": "Custom", - "value": "CUSTOM" - } - ] - }, - "aws-native:nimblestudio:StudioComponentType": { - "type": "string", - "enum": [ - { - "name": "ActiveDirectory", - "value": "ACTIVE_DIRECTORY" - }, - { - "name": "SharedFileSystem", - "value": "SHARED_FILE_SYSTEM" - }, - { - "name": "ComputeFarm", - "value": "COMPUTE_FARM" - }, - { - "name": "LicenseService", - "value": "LICENSE_SERVICE" - }, - { - "name": "Custom", - "value": "CUSTOM" - } - ] - }, "aws-native:nimblestudio:StudioEncryptionConfiguration": { - "description": "\u003cp\u003eConfiguration of the encryption method that is used for the studio.\u003c/p\u003e", "properties": { "keyArn": { "type": "string", - "description": "\u003cp\u003eThe ARN for a KMS key that is used to encrypt studio data.\u003c/p\u003e" + "description": "The ARN for a KMS key that is used to encrypt studio data." }, "keyType": { - "$ref": "#/types/aws-native:nimblestudio:StudioEncryptionConfigurationKeyType", + "type": "string", "description": "The type of KMS key that is used to encrypt studio data." } }, @@ -88385,20 +88212,6 @@ "keyType" ] }, - "aws-native:nimblestudio:StudioEncryptionConfigurationKeyType": { - "description": "\u003cp\u003eThe type of KMS key that is used to encrypt studio data.\u003c/p\u003e", - "type": "string", - "enum": [ - { - "name": "AwsOwnedKey", - "value": "AWS_OWNED_KEY" - }, - { - "name": "CustomerManagedKey", - "value": "CUSTOMER_MANAGED_KEY" - } - ] - }, "aws-native:oam:LinkConfiguration": { "properties": { "logGroupConfiguration": { @@ -100940,6 +100753,10 @@ { "name": "TextBox", "value": "TEXT_BOX" + }, + { + "name": "Image", + "value": "IMAGE" } ] }, @@ -113341,6 +113158,10 @@ { "name": "TextBox", "value": "TEXT_BOX" + }, + { + "name": "Image", + "value": "IMAGE" } ] }, @@ -121324,6 +121145,23 @@ "port" ] }, + "aws-native:quicksight:DataSourceAuthenticationType": { + "type": "string", + "enum": [ + { + "name": "Password", + "value": "PASSWORD" + }, + { + "name": "Token", + "value": "TOKEN" + }, + { + "name": "X509", + "value": "X509" + } + ] + }, "aws-native:quicksight:DataSourceCredentialPair": { "description": "\u003cp\u003eThe combination of user name and password that are used as credentials.\u003c/p\u003e", "properties": { @@ -121515,6 +121353,26 @@ "port" ] }, + "aws-native:quicksight:DataSourceOAuthParameters": { + "properties": { + "identityProviderResourceUri": { + "type": "string" + }, + "identityProviderVpcConnectionProperties": { + "$ref": "#/types/aws-native:quicksight:DataSourceVpcConnectionProperties" + }, + "oAuthScope": { + "type": "string" + }, + "tokenProviderUrl": { + "type": "string" + } + }, + "type": "object", + "required": [ + "tokenProviderUrl" + ] + }, "aws-native:quicksight:DataSourceOracleParameters": { "description": "\u003cp\u003eThe parameters for Oracle.\u003c/p\u003e", "properties": { @@ -121826,14 +121684,23 @@ "aws-native:quicksight:DataSourceSnowflakeParameters": { "description": "\u003cp\u003eThe parameters for Snowflake.\u003c/p\u003e", "properties": { + "authenticationType": { + "$ref": "#/types/aws-native:quicksight:DataSourceAuthenticationType" + }, "database": { "type": "string", "description": "\u003cp\u003eDatabase.\u003c/p\u003e" }, + "databaseAccessControlRole": { + "type": "string" + }, "host": { "type": "string", "description": "\u003cp\u003eHost.\u003c/p\u003e" }, + "oAuthParameters": { + "$ref": "#/types/aws-native:quicksight:DataSourceOAuthParameters" + }, "warehouse": { "type": "string", "description": "\u003cp\u003eWarehouse.\u003c/p\u003e" @@ -121900,14 +121767,23 @@ "aws-native:quicksight:DataSourceStarburstParameters": { "description": "\u003cp\u003eThe parameters that are required to connect to a Starburst data source.\u003c/p\u003e", "properties": { + "authenticationType": { + "$ref": "#/types/aws-native:quicksight:DataSourceAuthenticationType" + }, "catalog": { "type": "string", "description": "\u003cp\u003eThe catalog name for the Starburst data source.\u003c/p\u003e" }, + "databaseAccessControlRole": { + "type": "string" + }, "host": { "type": "string", "description": "\u003cp\u003eThe host name of the Starburst data source.\u003c/p\u003e" }, + "oAuthParameters": { + "$ref": "#/types/aws-native:quicksight:DataSourceOAuthParameters" + }, "port": { "type": "number", "description": "\u003cp\u003eThe port for the Starburst data source.\u003c/p\u003e" @@ -128325,6 +128201,10 @@ { "name": "TextBox", "value": "TEXT_BOX" + }, + { + "name": "Image", + "value": "IMAGE" } ] }, @@ -136960,6 +136840,23 @@ } ] }, + "aws-native:rds:DbShardGroupTag": { + "description": "A key-value pair to associate with a resource.", + "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 -. " + }, + "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 -. " + } + }, + "type": "object", + "required": [ + "key" + ] + }, "aws-native:rds:DbSubnetGroupTag": { "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*.", "properties": { @@ -160850,6 +160747,94 @@ }, "type": "object" }, + "aws-native:transfer:UserHomeDirectoryMapEntry": { + "properties": { + "entry": { + "type": "string", + "description": "Represents an entry for `HomeDirectoryMappings` ." + }, + "target": { + "type": "string", + "description": "Represents the map target that is used in a `HomeDirectoryMapEntry` ." + }, + "type": { + "$ref": "#/types/aws-native:transfer:UserMapType", + "description": "Specifies the type of mapping. Set the type to `FILE` if you want the mapping to point to a file, or `DIRECTORY` for the directory to point to a directory.\n\n\u003e By default, home directory mappings have a `Type` of `DIRECTORY` when you create a Transfer Family server. You would need to explicitly set `Type` to `FILE` if you want a mapping to have a file target." + } + }, + "type": "object", + "required": [ + "entry", + "target" + ] + }, + "aws-native:transfer:UserHomeDirectoryType": { + "type": "string", + "enum": [ + { + "name": "Path", + "value": "PATH" + }, + { + "name": "Logical", + "value": "LOGICAL" + } + ] + }, + "aws-native:transfer:UserMapType": { + "type": "string", + "enum": [ + { + "name": "File", + "value": "FILE" + }, + { + "name": "Directory", + "value": "DIRECTORY" + } + ] + }, + "aws-native:transfer:UserPosixProfile": { + "properties": { + "gid": { + "type": "number", + "description": "The POSIX group ID used for all EFS operations by this user." + }, + "secondaryGids": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The secondary POSIX group IDs used for all EFS operations by this user." + }, + "uid": { + "type": "number", + "description": "The POSIX user ID used for all EFS operations by this user." + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:transfer:UserTag": { + "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:WorkflowEfsInputFileLocation": { "description": "Specifies the details for an EFS file.", "properties": { @@ -174037,17 +174022,15 @@ "description": "The unique identifier for the AppSync Api generated by the service" }, "dns": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/types/aws-native:appsync:ApiDnsMap" }, "eventConfig": { - "$ref": "#/types/aws-native:appsync:ApiEventConfig" + "$ref": "#/types/aws-native:appsync:ApiEventConfig", + "description": "Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API." }, "name": { "type": "string", - "description": "The API name." + "description": "The name of the `Api` ." }, "ownerContact": { "type": "string", @@ -174058,7 +174041,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "The tags." + "description": "A set of tags (key-value pairs) for this API." } }, "type": "object", @@ -174070,11 +174053,12 @@ ], "inputProperties": { "eventConfig": { - "$ref": "#/types/aws-native:appsync:ApiEventConfig" + "$ref": "#/types/aws-native:appsync:ApiEventConfig", + "description": "Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API." }, "name": { "type": "string", - "description": "The API name." + "description": "The name of the `Api` ." }, "ownerContact": { "type": "string", @@ -174085,7 +174069,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "The tags." + "description": "A set of tags (key-value pairs) for this API." } } }, @@ -174098,10 +174082,12 @@ "replaceOnChanges": true }, "channelNamespaceArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the channel namespace." }, "codeHandlers": { - "type": "string" + "type": "string", + "description": "The event handler functions that run custom business logic to process published events and subscribe requests." }, "codeS3Location": { "type": "string", @@ -174109,6 +174095,7 @@ }, "name": { "type": "string", + "description": "The name of the channel namespace. This name must be unique within the `Api` .", "replaceOnChanges": true }, "publishAuthModes": { @@ -174129,7 +174116,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:index:Tag" - } + }, + "description": "A set of tags (key-value pairs) for this channel namespace." } }, "type": "object", @@ -174144,14 +174132,16 @@ "description": "AppSync Api Id that this Channel Namespace belongs to." }, "codeHandlers": { - "type": "string" + "type": "string", + "description": "The event handler functions that run custom business logic to process published events and subscribe requests." }, "codeS3Location": { "type": "string", "description": "The Amazon S3 endpoint where the code is located." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the channel namespace. This name must be unique within the `Api` ." }, "publishAuthModes": { "type": "array", @@ -174171,7 +174161,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:index:Tag" - } + }, + "description": "A set of tags (key-value pairs) for this channel namespace." } }, "requiredInputs": [ @@ -175075,8 +175066,7 @@ "properties": { "alias": { "type": "string", - "description": "Scraper alias.", - "replaceOnChanges": true + "description": "Scraper alias." }, "arn": { "type": "string", @@ -175084,8 +175074,7 @@ }, "destination": { "$ref": "#/types/aws-native:aps:ScraperDestination", - "description": "The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.", - "replaceOnChanges": true + "description": "The Amazon Managed Service for Prometheus workspace the scraper sends metrics to." }, "roleArn": { "type": "string", @@ -175093,8 +175082,7 @@ }, "scrapeConfiguration": { "$ref": "#/types/aws-native:aps:ScraperScrapeConfiguration", - "description": "The configuration in use by the scraper.", - "replaceOnChanges": true + "description": "The configuration in use by the scraper." }, "scraperId": { "type": "string", @@ -178455,10 +178443,12 @@ "replaceOnChanges": true }, "inferenceProfileArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the inference profile." }, "inferenceProfileId": { - "type": "string" + "type": "string", + "description": "The unique identifier of the inference profile." }, "inferenceProfileIdentifier": { "type": "string", @@ -178466,10 +178456,12 @@ }, "inferenceProfileName": { "type": "string", + "description": "The name of the inference profile.", "replaceOnChanges": true }, "modelSource": { "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileModelSourceProperties", + "description": "Contains configurations for the inference profile to copy as the resource.", "replaceOnChanges": true }, "models": { @@ -178480,7 +178472,8 @@ "description": "List of model configuration" }, "status": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileStatus" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileStatus", + "description": "The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used." }, "tags": { "type": "array", @@ -178490,7 +178483,8 @@ "description": "List of Tags" }, "type": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileType" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileType", + "description": "The type of the inference profile. The following types are possible:\n\n- `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.\n- `APPLICATION` – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions." }, "updatedAt": { "type": "string", @@ -178515,10 +178509,12 @@ "description": "Description of the inference profile" }, "inferenceProfileName": { - "type": "string" + "type": "string", + "description": "The name of the inference profile." }, "modelSource": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileModelSourceProperties" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileModelSourceProperties", + "description": "Contains configurations for the inference profile to copy as the resource." }, "tags": { "type": "array", @@ -179413,6 +179409,7 @@ "additionalProperties": { "type": "string" }, + "description": "A map of tags attached to the prompt version and their values.", "replaceOnChanges": true }, "updatedAt": { @@ -179457,7 +179454,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "A map of tags attached to the prompt version and their values." } }, "requiredInputs": [ @@ -183968,11 +183966,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "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.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n\u003e If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB 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 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "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* ." + "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 `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), 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", @@ -184013,11 +184011,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "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.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n\u003e If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB 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 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "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* ." + "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 `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), 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", @@ -191770,6 +191768,11 @@ "type": "string", "description": "The ARN of the task." }, + "taskMode": { + "$ref": "#/types/aws-native:datasync:TaskMode", + "description": "Specifies the task mode for the task.", + "replaceOnChanges": true + }, "taskReportConfig": { "$ref": "#/types/aws-native:datasync:TaskReportConfig", "description": "Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .\n\nWhen using this parameter, your caller identity (the role that you're using DataSync with) must have the `iam:PassRole` permission. The [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess) policy includes this permission." @@ -191834,6 +191837,10 @@ }, "description": "An array of key-value pairs to apply to this resource." }, + "taskMode": { + "$ref": "#/types/aws-native:datasync:TaskMode", + "description": "Specifies the task mode for the task." + }, "taskReportConfig": { "$ref": "#/types/aws-native:datasync:TaskReportConfig", "description": "Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .\n\nWhen using this parameter, your caller identity (the role that you're using DataSync with) must have the `iam:PassRole` permission. The [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess) policy includes this permission." @@ -196313,7 +196320,7 @@ "properties": { "address": { "type": "string", - "description": "Describes an Elastic IP address, or a carrier IP address.", + "description": "An Elastic IP address or a carrier IP address in a Wavelength Zone.", "replaceOnChanges": true }, "allocationId": { @@ -196331,6 +196338,7 @@ }, "ipamPoolId": { "type": "string", + "description": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* .", "replaceOnChanges": true }, "networkBorderGroup": { @@ -196367,7 +196375,7 @@ "inputProperties": { "address": { "type": "string", - "description": "Describes an Elastic IP address, or a carrier IP address." + "description": "An Elastic IP address or a carrier IP address in a Wavelength Zone." }, "domain": { "type": "string", @@ -196378,7 +196386,8 @@ "description": "The ID of the instance.\n Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource." }, "ipamPoolId": { - "type": "string" + "type": "string", + "description": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* ." }, "networkBorderGroup": { "type": "string", @@ -198082,7 +198091,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -198110,7 +198119,7 @@ "items": { "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification" }, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)." }, "versionDescription": { "type": "string", @@ -199938,6 +199947,55 @@ "ipProtocol" ] }, + "aws-native:ec2:SecurityGroupVpcAssociation": { + "description": "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource", + "properties": { + "groupId": { + "type": "string", + "description": "The group ID of the specified security group.", + "replaceOnChanges": true + }, + "state": { + "$ref": "#/types/aws-native:ec2:SecurityGroupVpcAssociationState", + "description": "The state of the security group vpc association." + }, + "stateReason": { + "type": "string", + "description": "The reason for the state of the security group vpc association." + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC in the security group vpc association.", + "replaceOnChanges": true + }, + "vpcOwnerId": { + "type": "string", + "description": "The owner of the VPC in the security group vpc association." + } + }, + "type": "object", + "required": [ + "groupId", + "state", + "stateReason", + "vpcId", + "vpcOwnerId" + ], + "inputProperties": { + "groupId": { + "type": "string", + "description": "The group ID of the specified security group." + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC in the security group vpc association." + } + }, + "requiredInputs": [ + "groupId", + "vpcId" + ] + }, "aws-native:ec2:SnapshotBlockPublicAccess": { "description": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess", "properties": { @@ -203389,7 +203447,7 @@ }, "deploymentConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentConfiguration", - "description": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks." + "description": "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods." }, "deploymentController": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentController", @@ -203522,7 +203580,7 @@ }, "deploymentConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentConfiguration", - "description": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks." + "description": "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods." }, "deploymentController": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentController", @@ -206193,6 +206251,9 @@ "type": "string", "description": "The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` ." }, + "enablePrefixForIpv6SourceNat": { + "type": "string" + }, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { "type": "string", "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink." @@ -206273,6 +206334,9 @@ "loadBalancerName" ], "inputProperties": { + "enablePrefixForIpv6SourceNat": { + "type": "string" + }, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { "type": "string", "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink." @@ -210540,7 +210604,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", "replaceOnChanges": true }, "description": { @@ -210689,7 +210753,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" + "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" }, "description": { "type": "string", @@ -226777,6 +226841,25 @@ "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, + "fieldDelimiter": { + "type": "string", + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format." + }, + "recordFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list." + }, + "s3EnableHiveCompatiblePath": { + "type": "boolean", + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive." + }, + "s3SuffixPath": { + "type": "string", + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source." + }, "tags": { "type": "array", "items": { @@ -226802,6 +226885,25 @@ "type": "string", "description": "The name of the delivery source that is associated with this delivery." }, + "fieldDelimiter": { + "type": "string", + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format." + }, + "recordFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list." + }, + "s3EnableHiveCompatiblePath": { + "type": "boolean", + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive." + }, + "s3SuffixPath": { + "type": "string", + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source." + }, "tags": { "type": "array", "items": { @@ -226843,6 +226945,11 @@ "description": "The name of this delivery destination.", "replaceOnChanges": true }, + "outputFormat": { + "type": "string", + "description": "The format of the logs that are sent to this delivery destination.", + "replaceOnChanges": true + }, "tags": { "type": "array", "items": { @@ -226873,6 +226980,10 @@ "type": "string", "description": "The name of this delivery destination." }, + "outputFormat": { + "type": "string", + "description": "The format of the logs that are sent to this delivery destination." + }, "tags": { "type": "array", "items": { @@ -234936,18 +235047,18 @@ ] }, "aws-native:nimblestudio:LaunchProfile": { - "description": "Represents a launch profile which delegates access to a collection of studio components to studio users", + "description": "Resource Type definition for AWS::NimbleStudio::LaunchProfile", "properties": { "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description of the launch profile." }, "ec2SubnetIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eSpecifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types. \u003c/p\u003e", + "description": "Unique identifiers for a collection of EC2 subnets.", "replaceOnChanges": true }, "launchProfileId": { @@ -234959,11 +235070,11 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eThe version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".\u003c/p\u003e" + "description": "The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\"." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the launch profile.\u003c/p\u003e" + "description": "A friendly name for the launch profile." }, "streamConfiguration": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamConfiguration", @@ -234974,11 +235085,11 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eUnique identifiers for a collection of studio components that can be used with this\n launch profile.\u003c/p\u003e" + "description": "Unique identifiers for a collection of studio components that can be used with this launch profile." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e", + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.", "replaceOnChanges": true }, "tags": { @@ -235003,25 +235114,25 @@ "inputProperties": { "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description of the launch profile." }, "ec2SubnetIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eSpecifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types. \u003c/p\u003e" + "description": "Unique identifiers for a collection of EC2 subnets." }, "launchProfileProtocolVersions": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".\u003c/p\u003e" + "description": "The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\"." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the launch profile.\u003c/p\u003e" + "description": "A friendly name for the launch profile." }, "streamConfiguration": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamConfiguration", @@ -235032,11 +235143,11 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eUnique identifiers for a collection of studio components that can be used with this\n launch profile.\u003c/p\u003e" + "description": "Unique identifiers for a collection of studio components that can be used with this launch profile." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e" + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource." }, "tags": { "type": "object", @@ -235055,38 +235166,44 @@ ] }, "aws-native:nimblestudio:StreamingImage": { - "description": "Represents a streaming session machine image that can be used to launch a streaming session", + "description": "Resource Type definition for AWS::NimbleStudio::StreamingImage", "properties": { "description": { "type": "string", - "description": "\u003cp\u003eA human-readable description of the streaming image.\u003c/p\u003e" + "description": "A human-readable description of the streaming image." }, "ec2ImageId": { "type": "string", - "description": "\u003cp\u003eThe ID of an EC2 machine image with which to create this streaming image.\u003c/p\u003e", + "description": "The ID of an EC2 machine image with which to create the streaming image.", "replaceOnChanges": true }, "encryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StreamingImageEncryptionConfiguration" }, + "encryptionConfigurationKeyArn": { + "type": "string" + }, + "encryptionConfigurationKeyType": { + "type": "string" + }, "eulaIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.\u003c/p\u003e" + "description": "The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image." }, "name": { "type": "string", - "description": "\u003cp\u003eA friendly name for a streaming image resource.\u003c/p\u003e" + "description": "A friendly name for a streaming image resource." }, "owner": { "type": "string", - "description": "\u003cp\u003eThe owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.\u003c/p\u003e" + "description": "The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by ." }, "platform": { "type": "string", - "description": "\u003cp\u003eThe platform of the streaming image, either WINDOWS or LINUX.\u003c/p\u003e" + "description": "The platform of the streaming image, either WINDOWS or LINUX." }, "streamingImageId": { "type": "string", @@ -235094,7 +235211,7 @@ }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studioId. \u003c/p\u003e", + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.", "replaceOnChanges": true }, "tags": { @@ -235120,19 +235237,25 @@ "inputProperties": { "description": { "type": "string", - "description": "\u003cp\u003eA human-readable description of the streaming image.\u003c/p\u003e" + "description": "A human-readable description of the streaming image." }, "ec2ImageId": { "type": "string", - "description": "\u003cp\u003eThe ID of an EC2 machine image with which to create this streaming image.\u003c/p\u003e" + "description": "The ID of an EC2 machine image with which to create the streaming image." + }, + "encryptionConfigurationKeyArn": { + "type": "string" + }, + "encryptionConfigurationKeyType": { + "type": "string" }, "name": { "type": "string", - "description": "\u003cp\u003eA friendly name for a streaming image resource.\u003c/p\u003e" + "description": "A friendly name for a streaming image resource." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studioId. \u003c/p\u003e" + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource." }, "tags": { "type": "object", @@ -235148,23 +235271,23 @@ ] }, "aws-native:nimblestudio:Studio": { - "description": "Represents a studio that contains other Nimble Studio resources", + "description": "Resource Type definition for AWS::NimbleStudio::Studio", "properties": { "adminRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio admins assume when logging in to the Nimble Studio portal." }, "displayName": { "type": "string", - "description": "\u003cp\u003eA friendly name for the studio.\u003c/p\u003e" + "description": "A friendly name for the studio." }, "homeRegion": { "type": "string", - "description": "\u003cp\u003eThe Amazon Web Services Region where the studio resource is located.\u003c/p\u003e" + "description": "The AWS Region where the studio resource is located. For example, `us-west-2` ." }, "ssoClientId": { "type": "string", - "description": "\u003cp\u003eThe Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM Identity Center application client ID that is used to integrate with IAM Identity Center , which enables IAM Identity Center users to log into the portal." }, "studioEncryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StudioEncryptionConfiguration", @@ -235176,12 +235299,12 @@ }, "studioName": { "type": "string", - "description": "\u003cp\u003eThe studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.\u003c/p\u003e", + "description": "The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.", "replaceOnChanges": true }, "studioUrl": { "type": "string", - "description": "\u003cp\u003eThe address of the web page for the studio.\u003c/p\u003e" + "description": "The unique identifier for the studio resource." }, "tags": { "type": "object", @@ -235193,7 +235316,7 @@ }, "userRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Users will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio users assume when logging in to the Nimble Studio portal." } }, "type": "object", @@ -235210,11 +235333,11 @@ "inputProperties": { "adminRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio admins assume when logging in to the Nimble Studio portal." }, "displayName": { "type": "string", - "description": "\u003cp\u003eA friendly name for the studio.\u003c/p\u003e" + "description": "A friendly name for the studio." }, "studioEncryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StudioEncryptionConfiguration", @@ -235222,7 +235345,7 @@ }, "studioName": { "type": "string", - "description": "\u003cp\u003eThe studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.\u003c/p\u003e" + "description": "The name of the studio, as included in the URL when accessing it in the Nimble Studio portal." }, "tags": { "type": "object", @@ -235233,7 +235356,7 @@ }, "userRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Users will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio users assume when logging in to the Nimble Studio portal." } }, "requiredInputs": [ @@ -235243,61 +235366,40 @@ ] }, "aws-native:nimblestudio:StudioComponent": { - "description": "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio", + "description": "Resource Type definition for AWS::NimbleStudio::StudioComponent", "properties": { "configuration": { - "oneOf": [ - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration0Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration1Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration2Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration3Properties" - } - ], + "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration", "description": "The configuration of the studio component, based on component type." }, "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description for the studio component resource." }, "ec2SecurityGroupIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe EC2 security groups that control access to the studio component.\u003c/p\u003e" + "description": "The EC2 security groups that control access to the studio component." }, "initializationScripts": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentInitializationScript" }, - "description": "\u003cp\u003eInitialization scripts for studio components.\u003c/p\u003e" + "description": "Initialization scripts for studio components." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the studio component.\u003c/p\u003e" - }, - "runtimeRoleArn": { - "type": "string", - "description": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running." + "description": "A friendly name for the studio component resource." }, "scriptParameters": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentScriptParameterKeyValue" }, - "description": "\u003cp\u003eParameters for the studio component scripts.\u003c/p\u003e" - }, - "secureInitializationRoleArn": { - "type": "string", - "description": "An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs." + "description": "Parameters for the studio component scripts." }, "studioComponentId": { "type": "string", @@ -235305,11 +235407,11 @@ }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e", + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.", "replaceOnChanges": true }, "subtype": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentSubtype", + "type": "string", "description": "The specific subtype of a studio component.", "replaceOnChanges": true }, @@ -235322,7 +235424,7 @@ "replaceOnChanges": true }, "type": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentType", + "type": "string", "description": "The type of the studio component." } }, @@ -235335,65 +235437,44 @@ ], "inputProperties": { "configuration": { - "oneOf": [ - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration0Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration1Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration2Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration3Properties" - } - ], + "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration", "description": "The configuration of the studio component, based on component type." }, "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description for the studio component resource." }, "ec2SecurityGroupIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe EC2 security groups that control access to the studio component.\u003c/p\u003e" + "description": "The EC2 security groups that control access to the studio component." }, "initializationScripts": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentInitializationScript" }, - "description": "\u003cp\u003eInitialization scripts for studio components.\u003c/p\u003e" + "description": "Initialization scripts for studio components." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the studio component.\u003c/p\u003e" - }, - "runtimeRoleArn": { - "type": "string", - "description": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running." + "description": "A friendly name for the studio component resource." }, "scriptParameters": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentScriptParameterKeyValue" }, - "description": "\u003cp\u003eParameters for the studio component scripts.\u003c/p\u003e" - }, - "secureInitializationRoleArn": { - "type": "string", - "description": "An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs." + "description": "Parameters for the studio component scripts." }, "studioId": { "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e" + "description": "The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource." }, "subtype": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentSubtype", + "type": "string", "description": "The specific subtype of a studio component." }, "tags": { @@ -235404,7 +235485,7 @@ "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) ." }, "type": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentType", + "type": "string", "description": "The type of the studio component." } }, @@ -241474,6 +241555,11 @@ "type": "integer", "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" }, + "clusterScalabilityType": { + "type": "string", + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation.", + "replaceOnChanges": true + }, "copyTagsToSnapshot": { "type": "boolean", "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" @@ -241755,6 +241841,10 @@ "type": "integer", "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" }, + "clusterScalabilityType": { + "type": "string", + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation." + }, "copyTagsToSnapshot": { "type": "boolean", "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" @@ -243125,6 +243215,97 @@ "targetGroupName" ] }, + "aws-native:rds:DbShardGroup": { + "description": "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group.", + "properties": { + "computeRedundancy": { + "type": "integer", + "description": "Specifies whether to create standby instances for the DB shard group." + }, + "dbClusterIdentifier": { + "type": "string", + "description": "The name of the primary DB cluster for the DB shard group.", + "replaceOnChanges": true + }, + "dbShardGroupIdentifier": { + "type": "string", + "description": "The name of the DB shard group.", + "replaceOnChanges": true + }, + "dbShardGroupResourceId": { + "type": "string", + "description": "The Amazon Web Services Region-unique, immutable identifier for the DB shard group." + }, + "endpoint": { + "type": "string", + "description": "The connection endpoint for the DB shard group." + }, + "maxAcu": { + "type": "number", + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "minAcu": { + "type": "number", + "description": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "Indicates whether the DB shard group is publicly accessible.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "dbClusterIdentifier", + "dbShardGroupResourceId", + "endpoint", + "maxAcu" + ], + "inputProperties": { + "computeRedundancy": { + "type": "integer", + "description": "Specifies whether to create standby instances for the DB shard group." + }, + "dbClusterIdentifier": { + "type": "string", + "description": "The name of the primary DB cluster for the DB shard group." + }, + "dbShardGroupIdentifier": { + "type": "string", + "description": "The name of the DB shard group." + }, + "maxAcu": { + "type": "number", + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "minAcu": { + "type": "number", + "description": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "Indicates whether the DB shard group is publicly accessible." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "dbClusterIdentifier", + "maxAcu" + ] + }, "aws-native:rds:DbSubnetGroup": { "description": "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*.", "properties": { @@ -259402,6 +259583,128 @@ } } }, + "aws-native:transfer:User": { + "description": "Definition of AWS::Transfer::User Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` .\n\nAn example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` ." + }, + "homeDirectory": { + "type": "string", + "description": "The landing directory (folder) for a user when they log in to the server using the client.\n\nA `HomeDirectory` example is `/bucket_name/home/mydirectory` .\n\n\u003e The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` ." + }, + "homeDirectoryMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryMapEntry" + }, + "description": "Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target` . This value can be set only when `HomeDirectoryType` is set to *LOGICAL* .\n\nThe following is an `Entry` and `Target` pair example.\n\n`[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`\n\nIn most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\" `chroot` \"). To do this, you can set `Entry` to `/` and set `Target` to the value the user should see for their home directory when they log in.\n\nThe following is an `Entry` and `Target` pair example for `chroot` .\n\n`[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`" + }, + "homeDirectoryType": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryType", + "description": "The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL` , you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.\n\n\u003e If `HomeDirectoryType` is `LOGICAL` , you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH` , you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template." + }, + "policy": { + "type": "string", + "description": "A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}` , `${Transfer:HomeDirectory}` , and `${Transfer:HomeBucket}` .\n\n\u003e For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.\n\u003e \n\u003e For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) .\n\u003e \n\u003e For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* ." + }, + "posixProfile": { + "$ref": "#/types/aws-native:transfer:UserPosixProfile", + "description": "Specifies the full POSIX identity, including user ID ( `Uid` ), group ID ( `Gid` ), and any secondary groups IDs ( `SecondaryGids` ), that controls your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems." + }, + "role": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests." + }, + "serverId": { + "type": "string", + "description": "A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.", + "replaceOnChanges": true + }, + "sshPublicKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This represents the SSH User Public Keys for CloudFormation resource" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose." + }, + "userName": { + "type": "string", + "description": "A unique string that identifies a user and is associated with a `ServerId` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "role", + "serverId", + "userName" + ], + "inputProperties": { + "homeDirectory": { + "type": "string", + "description": "The landing directory (folder) for a user when they log in to the server using the client.\n\nA `HomeDirectory` example is `/bucket_name/home/mydirectory` .\n\n\u003e The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` ." + }, + "homeDirectoryMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryMapEntry" + }, + "description": "Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target` . This value can be set only when `HomeDirectoryType` is set to *LOGICAL* .\n\nThe following is an `Entry` and `Target` pair example.\n\n`[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`\n\nIn most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\" `chroot` \"). To do this, you can set `Entry` to `/` and set `Target` to the value the user should see for their home directory when they log in.\n\nThe following is an `Entry` and `Target` pair example for `chroot` .\n\n`[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`" + }, + "homeDirectoryType": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryType", + "description": "The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL` , you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.\n\n\u003e If `HomeDirectoryType` is `LOGICAL` , you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH` , you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template." + }, + "policy": { + "type": "string", + "description": "A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}` , `${Transfer:HomeDirectory}` , and `${Transfer:HomeBucket}` .\n\n\u003e For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.\n\u003e \n\u003e For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) .\n\u003e \n\u003e For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* ." + }, + "posixProfile": { + "$ref": "#/types/aws-native:transfer:UserPosixProfile", + "description": "Specifies the full POSIX identity, including user ID ( `Uid` ), group ID ( `Gid` ), and any secondary groups IDs ( `SecondaryGids` ), that controls your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems." + }, + "role": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests." + }, + "serverId": { + "type": "string", + "description": "A system-assigned unique identifier for a server instance. This is the specific server that you added your user to." + }, + "sshPublicKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This represents the SSH User Public Keys for CloudFormation resource" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose." + }, + "userName": { + "type": "string", + "description": "A unique string that identifies a user and is associated with a `ServerId` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign." + } + }, + "requiredInputs": [ + "role", + "serverId" + ] + }, "aws-native:transfer:Workflow": { "description": "Resource Type definition for AWS::Transfer::Workflow", "properties": { @@ -261095,16 +261398,20 @@ "description": "Definition of AWS::Wisdom::AIAgent Resource Type", "properties": { "aiAgentArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AI agent." }, "aiAgentId": { - "type": "string" + "type": "string", + "description": "The identifier of the AI Agent." }, "assistantArn": { - "type": "string" + "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 }, "configuration": { @@ -261115,13 +261422,16 @@ { "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentConfiguration1Properties" } - ] + ], + "description": "Configuration for the AI Agent." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the AI Agent." }, "name": { "type": "string", + "description": "The name of the AI Agent.", "replaceOnChanges": true }, "tags": { @@ -261129,10 +261439,12 @@ "additionalProperties": { "type": "string" }, + "description": "The tags used to organize, track, or control access for this resource.", "replaceOnChanges": true }, "type": { "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentType", + "description": "The type of the AI Agent.", "replaceOnChanges": true } }, @@ -261147,7 +261459,8 @@ ], "inputProperties": { "assistantId": { - "type": "string" + "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." }, "configuration": { "oneOf": [ @@ -261157,22 +261470,27 @@ { "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentConfiguration1Properties" } - ] + ], + "description": "Configuration for the AI Agent." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the AI Agent." }, "name": { - "type": "string" + "type": "string", + "description": "The name of the AI Agent." }, "tags": { "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "The tags used to organize, track, or control access for this resource." }, "type": { - "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentType" + "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentType", + "description": "The type of the AI Agent." } }, "requiredInputs": [ @@ -261181,6 +261499,60 @@ "type" ] }, + "aws-native:wisdom:AiAgentVersion": { + "description": "Definition of AWS::Wisdom::AIAgentVersion Resource Type", + "properties": { + "aiAgentArn": { + "type": "string" + }, + "aiAgentId": { + "type": "string", + "replaceOnChanges": true + }, + "aiAgentVersionId": { + "type": "string" + }, + "assistantArn": { + "type": "string" + }, + "assistantId": { + "type": "string", + "replaceOnChanges": true + }, + "modifiedTimeSeconds": { + "type": "number", + "replaceOnChanges": true + }, + "versionNumber": { + "type": "number", + "description": "The version number for this AI Agent version." + } + }, + "type": "object", + "required": [ + "aiAgentArn", + "aiAgentId", + "aiAgentVersionId", + "assistantArn", + "assistantId", + "versionNumber" + ], + "inputProperties": { + "aiAgentId": { + "type": "string" + }, + "assistantId": { + "type": "string" + }, + "modifiedTimeSeconds": { + "type": "number" + } + }, + "requiredInputs": [ + "aiAgentId", + "assistantId" + ] + }, "aws-native:wisdom:AiPrompt": { "description": "Definition of AWS::Wisdom::AIPrompt Resource Type", "properties": { @@ -261328,7 +261700,8 @@ "replaceOnChanges": true }, "versionNumber": { - "type": "number" + "type": "number", + "description": "The version number for this AI Prompt version." } }, "type": "object", @@ -266186,17 +266559,15 @@ "description": "The unique identifier for the AppSync Api generated by the service" }, "dns": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/types/aws-native:appsync:ApiDnsMap" }, "eventConfig": { - "$ref": "#/types/aws-native:appsync:ApiEventConfig" + "$ref": "#/types/aws-native:appsync:ApiEventConfig", + "description": "Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API." }, "name": { "type": "string", - "description": "The API name." + "description": "The name of the `Api` ." }, "ownerContact": { "type": "string", @@ -266207,7 +266578,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "The tags." + "description": "A set of tags (key-value pairs) for this API." } } } @@ -266217,7 +266588,8 @@ "inputs": { "properties": { "channelNamespaceArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the channel namespace." } }, "required": [ @@ -266227,10 +266599,12 @@ "outputs": { "properties": { "channelNamespaceArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the channel namespace." }, "codeHandlers": { - "type": "string" + "type": "string", + "description": "The event handler functions that run custom business logic to process published events and subscribe requests." }, "publishAuthModes": { "type": "array", @@ -266250,7 +266624,8 @@ "type": "array", "items": { "$ref": "#/types/aws-native:index:Tag" - } + }, + "description": "A set of tags (key-value pairs) for this channel namespace." } } } @@ -266749,14 +267124,26 @@ }, "outputs": { "properties": { + "alias": { + "type": "string", + "description": "Scraper alias." + }, "arn": { "type": "string", "description": "Scraper ARN." }, + "destination": { + "$ref": "#/types/aws-native:aps:ScraperDestination", + "description": "The Amazon Managed Service for Prometheus workspace the scraper sends metrics to." + }, "roleArn": { "type": "string", "description": "IAM role ARN for the scraper." }, + "scrapeConfiguration": { + "$ref": "#/types/aws-native:aps:ScraperScrapeConfiguration", + "description": "The configuration in use by the scraper." + }, "scraperId": { "type": "string", "description": "Required to identify a specific scraper." @@ -268522,10 +268909,12 @@ "description": "Time Stamp" }, "inferenceProfileArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the inference profile." }, "inferenceProfileId": { - "type": "string" + "type": "string", + "description": "The unique identifier of the inference profile." }, "inferenceProfileIdentifier": { "type": "string", @@ -268539,7 +268928,8 @@ "description": "List of model configuration" }, "status": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileStatus" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileStatus", + "description": "The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used." }, "tags": { "type": "array", @@ -268549,7 +268939,8 @@ "description": "List of Tags" }, "type": { - "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileType" + "$ref": "#/types/aws-native:bedrock:ApplicationInferenceProfileInferenceProfileType", + "description": "The type of the inference profile. The following types are possible:\n\n- `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.\n- `APPLICATION` – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions." }, "updatedAt": { "type": "string", @@ -271678,11 +272069,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "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.*" + "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine.\n\n\u003e If you use `ATTRIBUTE_BASED_COMPUTE` , you must define your attributes by using `computeConfiguration` . AWS CodeBuild will select the cheapest instance that satisfies your specified attributes. For more information, see [Reserved capacity environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types) in the *AWS CodeBuild User Guide* .\n- `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 144 GiB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n- `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n- `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` .\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GiB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GiB 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 16 GiB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [On-demand environment types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "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* ." + "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 `MAC_ARM` is available only in regions US East (Ohio), US East (N. Virginia), US West (Oregon), Europe (Frankfurt), 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", @@ -279847,6 +280238,41 @@ } } }, + "aws-native:ec2:getSecurityGroupVpcAssociation": { + "description": "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource", + "inputs": { + "properties": { + "groupId": { + "type": "string", + "description": "The group ID of the specified security group." + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC in the security group vpc association." + } + }, + "required": [ + "groupId", + "vpcId" + ] + }, + "outputs": { + "properties": { + "state": { + "$ref": "#/types/aws-native:ec2:SecurityGroupVpcAssociationState", + "description": "The state of the security group vpc association." + }, + "stateReason": { + "type": "string", + "description": "The reason for the state of the security group vpc association." + }, + "vpcOwnerId": { + "type": "string", + "description": "The owner of the VPC in the security group vpc association." + } + } + } + }, "aws-native:ec2:getSnapshotBlockPublicAccess": { "description": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess", "inputs": { @@ -281559,7 +281985,7 @@ }, "deploymentConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentConfiguration", - "description": "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks." + "description": "Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods." }, "desiredCount": { "type": "integer", @@ -282736,6 +283162,9 @@ "type": "string", "description": "The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` ." }, + "enablePrefixForIpv6SourceNat": { + "type": "string" + }, "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { "type": "string", "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink." @@ -293903,6 +294332,25 @@ "type": "string", "description": "The unique ID that identifies this delivery in your account." }, + "fieldDelimiter": { + "type": "string", + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format." + }, + "recordFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list." + }, + "s3EnableHiveCompatiblePath": { + "type": "boolean", + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive." + }, + "s3SuffixPath": { + "type": "string", + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source." + }, "tags": { "type": "array", "items": { @@ -298226,28 +298674,23 @@ } }, "aws-native:nimblestudio:getLaunchProfile": { - "description": "Represents a launch profile which delegates access to a collection of studio components to studio users", + "description": "Resource Type definition for AWS::NimbleStudio::LaunchProfile", "inputs": { "properties": { "launchProfileId": { "type": "string", "description": "The unique identifier for the launch profile resource." - }, - "studioId": { - "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e" } }, "required": [ - "launchProfileId", - "studioId" + "launchProfileId" ] }, "outputs": { "properties": { "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description of the launch profile." }, "launchProfileId": { "type": "string", @@ -298258,11 +298701,11 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eThe version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".\u003c/p\u003e" + "description": "The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\"." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the launch profile.\u003c/p\u003e" + "description": "A friendly name for the launch profile." }, "streamConfiguration": { "$ref": "#/types/aws-native:nimblestudio:LaunchProfileStreamConfiguration", @@ -298273,26 +298716,21 @@ "items": { "type": "string" }, - "description": "\u003cp\u003eUnique identifiers for a collection of studio components that can be used with this\n launch profile.\u003c/p\u003e" + "description": "Unique identifiers for a collection of studio components that can be used with this launch profile." } } } }, "aws-native:nimblestudio:getStreamingImage": { - "description": "Represents a streaming session machine image that can be used to launch a streaming session", + "description": "Resource Type definition for AWS::NimbleStudio::StreamingImage", "inputs": { "properties": { "streamingImageId": { "type": "string", "description": "The unique identifier for the streaming image resource." - }, - "studioId": { - "type": "string", - "description": "\u003cp\u003eThe studioId. \u003c/p\u003e" } }, "required": [ - "studioId", "streamingImageId" ] }, @@ -298300,29 +298738,35 @@ "properties": { "description": { "type": "string", - "description": "\u003cp\u003eA human-readable description of the streaming image.\u003c/p\u003e" + "description": "A human-readable description of the streaming image." }, "encryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StreamingImageEncryptionConfiguration" }, + "encryptionConfigurationKeyArn": { + "type": "string" + }, + "encryptionConfigurationKeyType": { + "type": "string" + }, "eulaIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.\u003c/p\u003e" + "description": "The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image." }, "name": { "type": "string", - "description": "\u003cp\u003eA friendly name for a streaming image resource.\u003c/p\u003e" + "description": "A friendly name for a streaming image resource." }, "owner": { "type": "string", - "description": "\u003cp\u003eThe owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.\u003c/p\u003e" + "description": "The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by ." }, "platform": { "type": "string", - "description": "\u003cp\u003eThe platform of the streaming image, either WINDOWS or LINUX.\u003c/p\u003e" + "description": "The platform of the streaming image, either WINDOWS or LINUX." }, "streamingImageId": { "type": "string", @@ -298332,7 +298776,7 @@ } }, "aws-native:nimblestudio:getStudio": { - "description": "Represents a studio that contains other Nimble Studio resources", + "description": "Resource Type definition for AWS::NimbleStudio::Studio", "inputs": { "properties": { "studioId": { @@ -298348,19 +298792,19 @@ "properties": { "adminRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio admins assume when logging in to the Nimble Studio portal." }, "displayName": { "type": "string", - "description": "\u003cp\u003eA friendly name for the studio.\u003c/p\u003e" + "description": "A friendly name for the studio." }, "homeRegion": { "type": "string", - "description": "\u003cp\u003eThe Amazon Web Services Region where the studio resource is located.\u003c/p\u003e" + "description": "The AWS Region where the studio resource is located. For example, `us-west-2` ." }, "ssoClientId": { "type": "string", - "description": "\u003cp\u003eThe Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM Identity Center application client ID that is used to integrate with IAM Identity Center , which enables IAM Identity Center users to log into the portal." }, "studioEncryptionConfiguration": { "$ref": "#/types/aws-native:nimblestudio:StudioEncryptionConfiguration", @@ -298372,95 +298816,69 @@ }, "studioUrl": { "type": "string", - "description": "\u003cp\u003eThe address of the web page for the studio.\u003c/p\u003e" + "description": "The unique identifier for the studio resource." }, "userRoleArn": { "type": "string", - "description": "\u003cp\u003eThe IAM role that Studio Users will assume when logging in to the Nimble Studio portal.\u003c/p\u003e" + "description": "The IAM role that studio users assume when logging in to the Nimble Studio portal." } } } }, "aws-native:nimblestudio:getStudioComponent": { - "description": "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio", + "description": "Resource Type definition for AWS::NimbleStudio::StudioComponent", "inputs": { "properties": { "studioComponentId": { "type": "string", "description": "The unique identifier for the studio component resource." - }, - "studioId": { - "type": "string", - "description": "\u003cp\u003eThe studio ID. \u003c/p\u003e" } }, "required": [ - "studioComponentId", - "studioId" + "studioComponentId" ] }, "outputs": { "properties": { "configuration": { - "oneOf": [ - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration0Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration1Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration2Properties" - }, - { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration3Properties" - } - ], + "$ref": "#/types/aws-native:nimblestudio:StudioComponentConfiguration", "description": "The configuration of the studio component, based on component type." }, "description": { "type": "string", - "description": "\u003cp\u003eThe description.\u003c/p\u003e" + "description": "A human-readable description for the studio component resource." }, "ec2SecurityGroupIds": { "type": "array", "items": { "type": "string" }, - "description": "\u003cp\u003eThe EC2 security groups that control access to the studio component.\u003c/p\u003e" + "description": "The EC2 security groups that control access to the studio component." }, "initializationScripts": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentInitializationScript" }, - "description": "\u003cp\u003eInitialization scripts for studio components.\u003c/p\u003e" + "description": "Initialization scripts for studio components." }, "name": { "type": "string", - "description": "\u003cp\u003eThe name for the studio component.\u003c/p\u003e" - }, - "runtimeRoleArn": { - "type": "string", - "description": "An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running." + "description": "A friendly name for the studio component resource." }, "scriptParameters": { "type": "array", "items": { "$ref": "#/types/aws-native:nimblestudio:StudioComponentScriptParameterKeyValue" }, - "description": "\u003cp\u003eParameters for the studio component scripts.\u003c/p\u003e" - }, - "secureInitializationRoleArn": { - "type": "string", - "description": "An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to AWS resources when the system initialization script runs." + "description": "Parameters for the studio component scripts." }, "studioComponentId": { "type": "string", "description": "The unique identifier for the studio component resource." }, "type": { - "$ref": "#/types/aws-native:nimblestudio:StudioComponentType", + "type": "string", "description": "The type of the studio component." } } @@ -302221,6 +302639,47 @@ } } }, + "aws-native:rds:getDbShardGroup": { + "description": "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group.", + "inputs": { + "properties": { + "dbShardGroupIdentifier": { + "type": "string", + "description": "The name of the DB shard group." + } + }, + "required": [ + "dbShardGroupIdentifier" + ] + }, + "outputs": { + "properties": { + "computeRedundancy": { + "type": "integer", + "description": "Specifies whether to create standby instances for the DB shard group." + }, + "dbShardGroupResourceId": { + "type": "string", + "description": "The Amazon Web Services Region-unique, immutable identifier for the DB shard group." + }, + "endpoint": { + "type": "string", + "description": "The connection endpoint for the DB shard group." + }, + "maxAcu": { + "type": "number", + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, "aws-native:rds:getDbSubnetGroup": { "description": "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*.", "inputs": { @@ -310770,6 +311229,69 @@ } } }, + "aws-native:transfer:getUser": { + "description": "Definition of AWS::Transfer::User Resource Type", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` .\n\nAn example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` ." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` .\n\nAn example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` ." + }, + "homeDirectory": { + "type": "string", + "description": "The landing directory (folder) for a user when they log in to the server using the client.\n\nA `HomeDirectory` example is `/bucket_name/home/mydirectory` .\n\n\u003e The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` ." + }, + "homeDirectoryMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryMapEntry" + }, + "description": "Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the `Entry` and `Target` pair, where `Entry` shows how the path is made visible and `Target` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in `Target` . This value can be set only when `HomeDirectoryType` is set to *LOGICAL* .\n\nThe following is an `Entry` and `Target` pair example.\n\n`[ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`\n\nIn most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (\" `chroot` \"). To do this, you can set `Entry` to `/` and set `Target` to the value the user should see for their home directory when they log in.\n\nThe following is an `Entry` and `Target` pair example for `chroot` .\n\n`[ { \"Entry\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]`" + }, + "homeDirectoryType": { + "$ref": "#/types/aws-native:transfer:UserHomeDirectoryType", + "description": "The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to `PATH` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to `LOGICAL` , you need to provide mappings in the `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon EFS paths visible to your users.\n\n\u003e If `HomeDirectoryType` is `LOGICAL` , you must provide mappings, using the `HomeDirectoryMappings` parameter. If, on the other hand, `HomeDirectoryType` is `PATH` , you provide an absolute path using the `HomeDirectory` parameter. You cannot have both `HomeDirectory` and `HomeDirectoryMappings` in your template." + }, + "policy": { + "type": "string", + "description": "A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include `${Transfer:UserName}` , `${Transfer:HomeDirectory}` , and `${Transfer:HomeBucket}` .\n\n\u003e For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the `Policy` argument.\n\u003e \n\u003e For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) .\n\u003e \n\u003e For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* ." + }, + "posixProfile": { + "$ref": "#/types/aws-native:transfer:UserPosixProfile", + "description": "Specifies the full POSIX identity, including user ID ( `Uid` ), group ID ( `Gid` ), and any secondary groups IDs ( `SecondaryGids` ), that controls your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems." + }, + "role": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests." + }, + "sshPublicKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This represents the SSH User Public Keys for CloudFormation resource" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose." + } + } + } + }, "aws-native:transfer:getWorkflow": { "description": "Resource Type definition for AWS::Transfer::Workflow", "inputs": { @@ -311806,10 +312328,12 @@ "inputs": { "properties": { "aiAgentId": { - "type": "string" + "type": "string", + "description": "The identifier of the AI Agent." }, "assistantId": { - "type": "string" + "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": [ @@ -311820,13 +312344,16 @@ "outputs": { "properties": { "aiAgentArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the AI agent." }, "aiAgentId": { - "type": "string" + "type": "string", + "description": "The identifier of the AI Agent." }, "assistantArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant." }, "configuration": { "oneOf": [ @@ -311836,10 +312363,51 @@ { "$ref": "#/types/aws-native:wisdom:AiAgentAiAgentConfiguration1Properties" } - ] + ], + "description": "Configuration for the AI Agent." }, "description": { + "type": "string", + "description": "The description of the AI Agent." + } + } + } + }, + "aws-native:wisdom:getAiAgentVersion": { + "description": "Definition of AWS::Wisdom::AIAgentVersion Resource Type", + "inputs": { + "properties": { + "aiAgentId": { + "type": "string" + }, + "assistantId": { "type": "string" + }, + "versionNumber": { + "type": "number", + "description": "The version number for this AI Agent version." + } + }, + "required": [ + "assistantId", + "aiAgentId", + "versionNumber" + ] + }, + "outputs": { + "properties": { + "aiAgentArn": { + "type": "string" + }, + "aiAgentVersionId": { + "type": "string" + }, + "assistantArn": { + "type": "string" + }, + "versionNumber": { + "type": "number", + "description": "The version number for this AI Agent version." } } } @@ -311898,7 +312466,8 @@ "type": "string" }, "versionNumber": { - "type": "number" + "type": "number", + "description": "The version number for this AI Prompt version." } }, "required": [ @@ -311919,7 +312488,8 @@ "type": "string" }, "versionNumber": { - "type": "number" + "type": "number", + "description": "The version number for this AI Prompt version." } } } diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json index 13d3ae8da5..8cd3de39e4 100644 --- a/reports/missedAutonaming.json +++ b/reports/missedAutonaming.json @@ -1341,7 +1341,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "A map of tags attached to the prompt version and their values." } } }, @@ -3638,7 +3639,7 @@ "properties": { "address": { "type": "string", - "description": "Describes an Elastic IP address, or a carrier IP address." + "description": "An Elastic IP address or a carrier IP address in a Wavelength Zone." }, "domain": { "type": "string", @@ -3649,7 +3650,8 @@ "description": "The ID of the instance.\n Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource." }, "ipamPoolId": { - "type": "string" + "type": "string", + "description": "The ID of an IPAM pool which has an Amazon-provided or BYOIP public IPv4 CIDR provisioned to it. For more information, see [Allocate sequential Elastic IP addresses from an IPAM pool](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html) in the *Amazon VPC IPAM User Guide* ." }, "networkBorderGroup": { "type": "string", @@ -4893,6 +4895,19 @@ } } }, + "aws-native:ec2:SecurityGroupVpcAssociation": { + "cfTypeName": "AWS::EC2::SecurityGroupVpcAssociation", + "properties": { + "groupId": { + "type": "string", + "description": "The group ID of the specified security group." + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC in the security group vpc association." + } + } + }, "aws-native:ec2:SnapshotBlockPublicAccess": { "cfTypeName": "AWS::EC2::SnapshotBlockPublicAccess", "properties": { @@ -8533,6 +8548,25 @@ "type": "string", "description": "The name of the delivery source that is associated with this delivery." }, + "fieldDelimiter": { + "type": "string", + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format." + }, + "recordFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list." + }, + "s3EnableHiveCompatiblePath": { + "type": "boolean", + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive." + }, + "s3SuffixPath": { + "type": "string", + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source." + }, "tags": { "type": "array", "items": { @@ -10102,6 +10136,10 @@ "type": "integer", "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" }, + "clusterScalabilityType": { + "type": "string", + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation." + }, "copyTagsToSnapshot": { "type": "boolean", "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" @@ -10684,6 +10722,42 @@ } } }, + "aws-native:rds:DbShardGroup": { + "cfTypeName": "AWS::RDS::DBShardGroup", + "properties": { + "computeRedundancy": { + "type": "integer", + "description": "Specifies whether to create standby instances for the DB shard group." + }, + "dbClusterIdentifier": { + "type": "string", + "description": "The name of the primary DB cluster for the DB shard group." + }, + "dbShardGroupIdentifier": { + "type": "string", + "description": "The name of the DB shard group." + }, + "maxAcu": { + "type": "number", + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "minAcu": { + "type": "number", + "description": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs)." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "Indicates whether the DB shard group is publicly accessible." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + }, "aws-native:rds:GlobalCluster": { "cfTypeName": "AWS::RDS::GlobalCluster", "properties": { @@ -12824,6 +12898,20 @@ } } }, + "aws-native:wisdom:AiAgentVersion": { + "cfTypeName": "AWS::Wisdom::AIAgentVersion", + "properties": { + "aiAgentId": { + "type": "string" + }, + "assistantId": { + "type": "string" + }, + "modifiedTimeSeconds": { + "type": "number" + } + } + }, "aws-native:wisdom:AiPromptVersion": { "cfTypeName": "AWS::Wisdom::AIPromptVersion", "properties": { diff --git a/sdk/dotnet/AppSync/Api.cs b/sdk/dotnet/AppSync/Api.cs index 77611bbba2..bc3e0d063e 100644 --- a/sdk/dotnet/AppSync/Api.cs +++ b/sdk/dotnet/AppSync/Api.cs @@ -28,13 +28,16 @@ public partial class Api : global::Pulumi.CustomResource public Output